Building great applications is not a trivial task. On the contrary, it is a difficult and complex endeavor in which many actors need to efficiently work together to create applications that correspond to high-end user expectations.
Today, everything moves very fast and time-to-market is very important for success. This chapter is going to introduce methods, processes, and tools to help you optimize your development processes, thus building high-quality software with short release cycles.
Traditionally, building software is done by planning whole software projects from beginning to end, writing detailed specifications, developing and testing (often in a rush), while hoping that everything will work as expected (V-model).
Sometimes this approach works and sometimes it does not. When it does not work, developers implement features...