Scaling software development teams can sometimes be a problem for fast-growing startups. How can you keep the quality of the code when you start hiring more and more software developers. In his blog post “How to build quality into your software development workflow”, Sandeep Chouksey, VP of Engineering at Shutterstock, shares some experience on how his company tried manage quality in a continuous delivery context.
The initial described by Sandeep Chouksey was rather good with continuous delivery process defined with Jenkins and supported by multiple end-to-end Selenium tests. He explains however that the situation becomes to deteriorate when the automated testing build with Selenium started to break and fail, stopping the delivery process.
The issues were cause by the following reasons
* Automated Selenium tests became the only form of software testing. Teams stopped writing unit tests.
* The test framework was built and owned by the small QA team who was responsible to solve all issues.
* The engineering organization didn’t pay attention to build a software development workflow that would support fast product development.
* Quality was owned only by the QA team.
To improve the situation, the organization needed to spread the ownership of software quality in different parts of the software development workflow, making sure that the right amount of software testing is performed in different levels of the development process. His conclusion is that “No matter how your company structures cadences for code releases, you need to emphasize quality in every step your development process. Companies spend large amounts of time working out how their software will be architected, but not enough time thinking about how quality will be built into the software; instead, they blindly automate everything. Your development workflow and how you build quality into each step of it is crucial in determining how fast you can iterate on your product.”
Read the complete article on https://tech.shutterstock.com/2016/04/11/how-to-build-quality-into-your-software-development-workflow/