The Waterfall Model
If you are into software development you are sure to have heard of the Waterfall Model - gather the requirements; develop the software; test it; hand it over to UAT and release the software. This traditional cycle of software development, of pushing the software off the next ‘waterfall’, provides little opportunity for feedback and when it does come, it is often too little and too late. With large scale projects it can be months before the development team receive feedback by which time the business landscape has moved on and your customers’ requirements have changed or are no longer relevant!
To counteract these issues, a couple of years ago RedEye started on a programme, introducing Agile software development to the team. The Agile umbrella covers various methodologies which include: Scrum; Extreme Programming (XP); Lean and Kanban (used by the likes of Toyota) and Dynamic Systems Development Method (DSDM). Here at RedEye we have adopted the simplest of these- Scrum.
Why Change to Agile Scrum?
We know that our staff are motivated by getting stuff done. We also want to encourage all team members to take ownership of their work and swarm together when they need assistance. Just as importantly, we value getting software released as soon as we can, which in turn means that we can provide added value to our customers quicker.
We do this by following the Agile Manifesto:
Valuing individuals and interactions
Developing working software
Collaborating with our customers
Responding to change
This sounds like a load of buzz words, but trust me it’s not. Let’s take a look at the components.
Valuing individuals and interactions is about communication with each other to ensure that we work together towards the best outcome. That is not to say that we don’t have processes in place, but that we are willing, as a team, to make small changes to them to improve the processes and tools we use. Supporting this we also use Jurgen Appelo’s small gestures of gratitude - Kudos Cards which allows the team to provide informal praise to each other.
Focusing on developing working software is key to improving our products. Documentation is also important, however, the team focus on providing the minimum documentation suitable to support the product rather than consuming time getting wrapped up in details that may never be looked at again. As all the team commit to the tasks that they need to complete in a sprint, they all know how it works rather than siloing this information, after all, shared documentation is not shared knowledge.
Customer collaboration is essential for the team. At RedEye we are fortunate enough to have our Product Owners sitting beside the development team making collaboration simpler. Software can be developed in short bursts and demonstrated to our customers without the need for lengthy meetings and agreed changes can be made without getting trapped in contract negotiation.
All our development work is planned in two week blocks. These are known as “sprints”. During this time the team will agree what they will work on, code and test the software. So there is a plan, but only a short term one. This gives our stakeholders the opportunity to change direction if they feel they need to without impacting the velocity of the work the team have previously agreed to.
Applying Agile to any Project
Please don’t think that Agile is just for development projects. The process can be adopted by any project that you are working on. There is a planning phase, quick daily stand-up meetings for the team to confirm what they have and will achieve to reach the team’s goal, followed by a review of completed work at the end of the sprint. Finally there is a retrospective where the team agree to a few actions to make improvements during the next sprint. What makes Scrum successful for RedEye is the quick feedback cycles.
Driving Agile success within our business is based on our senior management buying into it and they too use some of the Agile ceremonies. These help to keep their meetings focused and time boxed.
Many readers may think that RedEye have found the Agile utopia. We haven’t. However, working as we do means that we can adapt and implement change more rapidly. We are on a journey - an enjoyable journey where each sprint brings about exciting changes. This reminds me of the first line of the 1980’s S’Express theme song “Enjoy this trip and it is a trip”. You’re welcome on-board.