Software Development Trainings
In a hands-on training, we share best practices and ideas on how to pragmatically improve the development process at the interface between requirements gathering and coding to increase software quality and achieve insightful monitoring and better project planning.
- Practical relevance - the training was developed by developers for developers
- Principles of quality assurance with issue trackers and version control (Git) and their application
- Learning best practices in the use of an issue tracker
- Demonstrate advanced Git troubleshooting techniques
- Techniques for building a traceable project history
- Introduction to Design for Testability principles and patterns
- Assistance in optimizing documentation in the code
Development Methodology
Using issue trackers and code repositories with added value - pragmatic guidelines and advanced Git techniques
This seminar will provide you with best practices and recommendations on how to pragmatically improve the technical development process in order to increase software quality, speed up debugging and achieve insightful project monitoring. For this, we focus on the correct handling of the issue tracker, the version control system (especially Git) and in particular on their shared use.
Content
- Basics of how and why to introduce a reasonable set of issue types in an issue tracker according to the principle of "as few as possible and as many as necessary".
- Writing meaningful and structured issue descriptions and commit messages
- Break down code changes into individual commits in a sensible way.
- Advanced Git techniques: interactive staging & interactive rebasing
- Branching workflows
- Exercises for each section
Length: 1 day
Goals
After completing this seminar you will know:
- how to write and specify requirements (as issues) concisely and well,
- how to pragmatically use an issue tracker for this purpose,
- how to apply advanced best practices (e.g. interactive staging & rebasing) in Git,
- how to link commits to issues,
- how to become more productive in debugging using Git and an issue tracker,
- how to use Git and an issue tracker to build a project history that is useful and traceable for development, in order to avoid a lot of extra work later on in debugging and understanding the code,
- how to start with a simple branching workflow and later grow with the requirements and apply further workflows.
After the seminar, you will be able to implement these techniques independently in your projects and convince colleagues & employees of the added value of corresponding procedures.
Prerequisites
Prerequisites are basic knowledge of Git and of an issue tracker and an installed Git tool on your computer.
Target audience
Software developers, software architects, quality managers, product owners
Want to quench your thirst for knowledge quickly? Take a look at our knowledge area.
In our download area you will find valuable resources that you can download fir free.
Design for Testability
Increasing software testability with the right design patterns
In this practical seminar, we teach design techniques for creating software to increase design quality. The focus will be on design patterns that contribute to decoupling AND easier testability of the code. Easier testability of the code automatically favours the creation of more tests. Thus, not only the external system quality is improved, but also the comprehensibility of the code for the entire development team.
Content
- Design patterns that you can apply when creating new code to aim for a good and testable design in the code.
- Obstacles that exist when introducing tests for existing code parts.
- Design techniques to overcome these obstacles step by step in order to perform successive refactoring steps to introduce unit tests or integration tests.
- Exercises for each learning section including application to your own code base.
Length: 1 day
Goals
After completing this seminar you will know
- which design patterns lead to better code decoupling and testability,
- which design techniques can be used to subsequently modify existing code by means of step-by-step refactoring steps in order to introduce unit tests or integration tests,
- how to continue applying appropriate approaches to your code base after the seminar.
Prerequisites
Prerequisites are basic knowledge in writing tests using a unit test framework, an installed unit test framework on your computer. Ideally, you will bring some code examples from your work to apply what you have learned.
Our suggestions and methods are independent of programming languages and can be used in your project regardless of a specific test framework.
Target audience
Software developers, testers, software architects
Knowledge is for sharing.
We can't wait to share our secrets with you!
More than dry theory
We know that good arguments alone are often not enough. Therefore, we will convince you of our approaches by showing examples, taking apart concrete cases and doing exercises with subsequent discussions. We want you to experience "aha moments" and not just adopt our views.
We are aware that developers often consider extra work that is not directly related to the process of programming as overhead. We are aware that it is often not easy to convince teams to consistently put in this extra effort, and that team leaders often do not feel justified in demanding this kind of discipline. We are also aware that guidelines are not accepted and implemented if they are only decided and imposed by superiors. We offer solutions and strategies for how to motivate your team and get them to even become advocates of such approaches.
Our Latest Knowledge Articles
In our knowledge blog you will constantly find new articles on various topics from software development.
Software Due Diligence: The Key To Successful M&A Deals
You can find more articles in our knowledge area
No one-size-fits-all solution
Following training, we are happy to accompany you in the implementation of the adopted measures. The scope of our engagement can be agreed individually. It can be regular reviews (e.g. weekly, monthly) or a one-off review after a certain period of time (e.g. quarterly) or even technical support (e.g. setup & configuration of tools) - it is entirely up to you.
You are not alone
Following training, we are happy to accompany you in the implementation of the adopted measures. The scope of our engagement can be agreed individually. It can be regular reviews (e.g. weekly, monthly) or a one-off review after a certain period of time (e.g. quarterly) or even technical support (e.g. setup & configuration of tools) - it is entirely up to you.