A new project arrives in your inbox, you’ve got a highly skilled team and the resources that you need, but how you will approach it? You know the steps involved, but how and when you should perform each step isn’t clear, this is where software development processes can help. Here is a brief overview of some of the commonly used processes:
Waterfall - Spend a significant amount of time planning the contents of each step then complete all of the steps in sequence.
Agile - Move fast, release often. Work in short “sprints” to build usable software that can be released to users to receive feedback.
Incremental - Build a minimum viable product with core functionality then add features based on user feedback.
Iterative - Build a minimum viable product that’s feature complete then develop these features based on user feedback.
V-Shaped - Follow the Waterfall process but complete testing after each step before moving on to the next one.
Spiral - A fusion of approaches. Develop incrementally (Agile, Incremental and Iterative), test rigorously (V-shaped).
Software teams will usually be following one of these six processes, or some mixture of, whether they realise it or not. What we have tried to do is make selecting the best fitting process a simple, two step task. Step One, answer one or two fairly broad questions about the nature of the project, to reduce six potential processes down to two:
Step Two, each pair of processes can be plotted at either end of a particular spectrum, ask yourself where your project fits on the line for your process pair from Step One:
Every new project is a different experience with its own unique challenges. Selecting the best fitting software development process doesn’t guarantee success, but it can help immensely when approaching a new project.