A solid understanding of the problem and agile development process are keys to successful projects.
Let’s take a closer look at how understanding the problem and iterating towards the solution helps us to deliver.
Understanding the problem
I cannot stress enough that software engineers must understand the problem they are solving, be it a business process or mathematical formula. This understanding promotes collaboration between business owners and the development team. By learning the business processes the development team gains a valuable understanding of
- what makes the particular business tick
- where the pain-points are
- what is really important to the business owners
And that is where the fun begins. When both sides speak the same language and work towards a common goal – things get done!
Iterating towards the solution
Why are short iterations are so important for the success of software projects? Let’s compare a software project to a race with different methodologies equivalent to different types of race. The traditional waterfall model is a marathon, and the iterative agile model is a sprint race.
- Waterfall = Marathon
Waterfall method promotes long, continuous stretches of effort towards distant goals. Endurance matters. The project team must be able to sustain long stretches of uneventful work with the expectation that eventually they will reach the goal.
- Agile = Sprint
Agile method promotes short burst of maximum effort towards a close goal. Speed and power matters more than endurance. The project team must learn quick as any knowledge gaps will be immediately exposed.
The process of building software should not be a marathon. The project team loses interest in distant, unattainable targets unless there are small targets along the way that promote feeling of satisfaction and accomplishment. The project should be composed of short iterations. The completion of each iteration lets the team to show off the results, to reflect and to align with business owners. Seems simple, but it requires much more intensity and dedication. The shorter timelines very quickly amplify any issues that could have been kept hidden during the long marathon.
Put in the effort to learn and understand business problem, chunk up the solution and iterate until the business owner is satisfied.