Some projects are predictable, consistent, with a fixed scope and a fixed budget and they are easy to plan. Other’s are the polar opposite. Unpredictable with lot’s of moving parts.
Waterfall projects are generally projects with:
- A fixed scope.
- Clearly defined with unchanging requirements.
- Resources needed to complete the project.
A good example is building an existing car model. It’s been done so many times before, that it becomes simple, straightforward, predictable with limited resources, a fixed budget and voila, you have yourself a waterfall project.
Software development by its very nature is unpredictable. There are moving parts, changing code, upgrades to existing resources, and these changes are frequent and consistent. This is what makes the digital industry exciting. You are always learning something new but it’s also what makes planning or quoting on a project very difficult to do.
Giving your project some love
So how do you manage a project that shifts when the wind blows? You give it some TLC and don’t go chasing Waterfall(s) just because it feels safer to do.
When your projects become unpredictable, ride the wave and maximise your performance by adjusting yourself to your changing environment. Embrace agile by becoming more agile, and do not go with the flow like Waterfall. So how do you give your projects that extra tender loving care?
Well, start by reminding yourself that software development projects are living, breathing creations that need to be cared for throughout their lifetimes. A project manager’s sole purpose is to coordinate people and resources necessary to complete a project in a predefined amount of time within a predefined budget. If a project is a living creation, that’s changeable, this makes our jobs a little more complicated than we would like to believe.
Learning from the best
Lucky for us, with the introduction of agile in 2001, we can now give our projects the TLC they deserve. If you are new to agile, a good book to read is Clean Agile: Back to Basics by Robert C. Martin. In his book, Martin explains the reason for the birth of agile development and its conception and sets out to pass on his passion for working in an agile environment.
The idea is that small teams manage small projects, in a way that allows the team to offer real value at the end of every sprint. This means that the project should always be in a position to be handed over to the client as a workable solution even if it’s a limited amount of features.
Development teams should effectively be self run with a Scrum Master facilitating the processes and ensuring that teams have what they need to deliver on projects in a meaningful and in a timely manner.
He explores the importance of small releases and acceptance testing as well as improved communication within teams. He helps you understand the origins of SCRUM and what makes it so effective as well as development practices like Test-Driven-Development, refactoring, simple design, and pair programming.
What makes Nona different
At Nona, our teams are self-run, we use agile development practices and incorporate SCRUM ceremonies into our day-to-day operations as needed. This is the first company I’ve worked for that is fully agile and it shows. Not only in the quality of work we produce but in the quality of life we have as a team.
For the first time I can say, I work for a company that places equal value in its staff as well as clients. It’s a rare occurrence, but I know that without these agile processes in place we would lack the efficiency we currently have. These processes help us to develop high quality projects at a sustainable rate and allows us to be motivated enough to challenged and improve what we do daily.