In Unhappy with Agile … revert to Waterfall. Is this really The answer? we had a discussion around Agile and Waterfall. Since the dust has settled on that post, I was wondering … ‘so what are the options”. Well, there are gazillion software processes and software process models. perhaps we should look at some of the main ones, which we already covered in SDLC – Software Development Lifecycle … exploring common models (part 3 of many).
Processes … at least some of them
|Prescriptive Process Models||Prescribes distinct set of activities, actions, tasks, milestones and work products in support of high quality software|
|Waterfall Model (ah, we are back on the topic)||Classic, sequential, classical life cycle model and often referred to as an old-fashioned approach, suitable for projects where requirements are known|
|Incremental Model||Suitable model when a working core and derivative products are required quickly and at quick intervals|
|Evolutionary Model||Suitable for environments that require iterations and that must accommodate requirement changes|
|Prototyping Model||Suitable when requirements cannot be defined clearly|
|Component Based Model||Suitable when object technologies are available and reusable components are available|
|Unified Process Model||Suitable for environments using use cases, architecture centric, iterative and incremental processes.|
|Agile||Suitable for teams that are competent, have the ability to make decisions, have an ecosystem of mutual trust, have respect for each other, have a need for short delivery cycles and must be able to adapt to change incrementally.|
Conclusion … really?
So, which is the best one? If you know the question to the answer 42, I may try and formulate you a response. Until then, please evaluate them all, pick one that fits into your culture and meets your requirements, do not use a crowbar to implement a process and once you select one, chose a champion that can educate and guide your team(s). Once your teams embrace a process, it becomes a real value-add.