Agile Development


Pre-Agile World-

Prior to Agile Development, waterfall has been about a step by step following of an action plan and it never produced results as expected. Waterfall was so bad that projects failed without on-time delivery, bugs, bad teamwork. The Waterfall approach is extinct and even if some companies are using them, they have a variation of waterfall cycle which accepts feedback and does parallel activities concurrently. The Analysis, Coding and Testing activities are done concurrently. Yet it is not considered a good approach as of date.


Current World-

Agile is about adapting to business, people, process, product, or even chaos. You need to read as many Agile books as possible until you have the essentials that the team is expected to do. Software Engineering is about a disciplined approach to develop software, and the SE books do not have the discipline given in detail, and they feel like something is missing from those books. And this is where the agile books come into the picture. This is where you have things given to you in detail. So, if you are thinking that there are a lot of books on agile development and it is a mess reading them then you have just contradicted yourself. Because agile books have how you be agile whilst software engineering books do not have the activities given in detail. So never say that agile books are a lot, and it has become a mess to read so many books. Because if these books were not available then there would be no resources given to us in detail. Thereafter, it is up to the team what are the essential activities they wish to follow and what they do not want to follow.

Once you follow a bare minimum of activities that the team can follow then you have built a rhythm in the team to develop software in iterations or cycles. You can combine the principles and practices of all the agile approaches and constraint to things that the team will follow. Once done this you have had a work ethic that the team is respecting.

Agile Books will seem logical and easy to understand. But Agile approach can be challenging to follow, and this is where you need to be patient. You need to make the team better with every iteration. Initially, the team will sense discomfort, but once followed, the results will be great.

If Agile seems a lot to follow, then start with a few activities that you need to follow at the beginning stage. As Iterations follow you can have champions in agile development to show how things are done. You can have champions that display how the activities need to be followed and slowly and gradually help the team become agile. With each iteration you need to be better in process and product.

Agile is not about following all the practices and principles of all the processes. Only follow what is essential for the product to be developed. Start Small, Become Bigger than Before with Each Iteration. Agile is the only way to adapt to a complex business or domain to build a complex product. If the complex product can be replaced with a few simple applications, then rightfully do so. You do not need one complex product when the same functionality can be provided with a few simple applications.

If in case, you still have doubts then you do have the authors available and you can ask them questions.