The software development artisanship has changed significantly during the last decades. As have the customer demands. Nowadays, short development cycles, scalability, and flexibility are demanded. Good software development starts with the developers’ mindset. But what is the connection between the mindset and the methods used? The developers’ mindset affects the successful application of innovative methods. This is the only way to efficiently unlock the benefits of innovative approaches.
Our innovative methods for custom software development include the following approaches:
TDD means test-driven development Here, the tests on the fulfillment of the requirements are written first. This ensures that the tests and therefore the correct function of the code is paramount. The result are tests, which are designed according to the requirements, not the code structure.
Clean code lays high demands on code quality. But why? A huge software project is usually not written anew every year but has a much longer lifespan. Clean code lays the foundations for code maintainability also in the future. This applies even if, e.g., the original developers are no longer employed at the same employer. Furthermore, follow-up cost shall be reduced, because a high test coverage and clean code enhance code maintainability and therefore reduce maintenance cost.
Is this really a big problem? Oh yes. Ask some software developers, who already had to deal with legacy applications with bad code quality. High test coverage ensures, for example, that changes do not destroy existing functionality, because this functionality is tested with every new build. This way, most errors are detected in an early stage.
Code reviews and pair programming have the same purpose: no code, which has not been checked by other developers, shall enter the release. Code reviews are, together with unit tests, the spearhead of professional software development, as they can uncover and rectify most errors in an early stage. Furthermore, code reviews are an excellent tool to educate colleagues with little experience, as only code is delivered, which satisfies the quality requirements of experienced and well-educated colleagues.
Continuous integration/continuous deployment (CI/CD) automate software delivery. Changes are therefore published not only every few months, but in truly short intervals. Even multiple times a day, depending on the project. This ensures that the users’ feedback is available much earlier and can therefore enter the development in an earlier stage than with monthly releases. Smaller bug fixes can go live only minutes after becoming known.
We’re here for you
"*" indicates required fields