Recently, I had an invitation to participate to some project, which where in development for about a year. The product was quite successful, but stack holders decided to improve its performance, reduce bug-level, develop lots of new features, otherwise get a more loyal customers and make it more profitable. So, for the start, let me tell you about the environment. It was the following:
- absence of automated process of deployment
- zero unit-tests code coverage
- quite low skills of working with repository
So, the consequences are not unexpected:
- big amount of bugs, even in production
- deployment was quite rare, difficult and sometimes error prone(especially in the case, when there was need to rollback to previous version)
- software integration problems
- DB integration problems
- consequently, low motivation for producing lots of new code, because it is always scary and many unpredictable bugs arises in different places
Significant part of those problems can be eliminated by improving the development and deployment process. That is what we decided to do, at first. So, after that I decided to talk with the people, mostly involved in the planned switch – developers, QAs and the system administrators.
Continue reading →

