Application development life cycles

It is important to understand the change that has taken place in terms of application development life cycles in order to understand application transformation. When the pace of change was slow, application development always had a pre-determined plan with a finite end goal. The design of the application was thought through and agreed up-front, including capturing all of the user's requirements. Then, a series of steps followed that involved developing the plan, testing the functionality of the application, testing whether the application would run efficiently and to the right scale (non-functional testing), user acceptance testing to agree that the application had been built the way it was supposed to be, before finally going live in its final format.

The pace of change in some modern applications, coupled with the fact that they can be very experimental in nature, means that the waterfall approach (where the final application design is fully understood upfront) just doesn't work. Instead, application development, application design, user, and even customer testing occurs in rapid iterations, meaning that the application develops with a continuous feedback loop. Development teams are also typically assigned to individual components, so there is no concept of a controlled state that everyone has to comply with. Development occurs in simultaneous streams with frequent code check-ins to confirm overall functionality.

We can apply these results in terms such as CD, DevOps, and Agile. While these principles can be applied to traditional application architectures, they tend to be best suited to cloud-based application tools, platforms, and architectures. It should be noted that this area has several models and is still maturing, despite being widely practiced.

One very important thing to realize is that Agile and DevOps is not a replacement for waterfall. Customers will use both disciplines, which are dependent on the application development requirements. Applying Agile principles of development to a mission-critical traditional application could have terrible consequences, and conversely you could use as many cloud technologies as you want, but using a waterfall approach for application development that is exploratory in nature would fundamentally cripple the ability to deliver effectively.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.33.178