For companies that haven't gone down the agile route yet, perhaps it's time to think again. Gartner has declared 2013 the post-waterfall era. Agile in the form of Scrum, Kanban, Disciplined Agile Delivery and Extreme Programming are by no means silver bullets, but they certainly add value in the form of transparency, collaboration and cost savings to a business.
How can agile be of benefit?
1. Transparency - Agile methodologies encourage teamwork and visibility. Any level of management can, at any time, have a clear understanding of where delivery is at.
2. Collaboration - It's a well-known fact that everybody has value to add. Agile focuses more on cross-functional teams, thereby empowering learning and delivery. In addition, intellectual property is spread over many minds, which limits the business risk and prevents it from being held to ransom by a few experts.
3. Cost savings - Agile makes it very easy to track and eliminate bottlenecks and breakdowns. It focuses more on light-weight requirements which comprise small chunks of work, as opposed to heavy documentation. Smaller chunks of work are easier to estimate, and allow clients to select exactly what they want, at a cost benefit to them too.
Do companies really want to invest their money in a 500-page specification drawn up over months, or would they rather have actual working software based on lighter requirements, based on exactly what they need? A Standish group study, reported at XP2002 by chairman Jim Johnson, found 64% of systems are rarely used and 20% are mostly or often used. Shouldn't users then be focusing on building the 20%?
How does Scrum impact an IT manager/professional's deliverables?
- *Estimates are far more accurate - this leads to vastly improved project planning, ensuring deadlines are met, and if not, the manager will know why very quickly.
- *Clear visibility on project progress and delivery - using physical information radiators so information is available and visible to all.
- *Accurate resource management and planning due to transparency - no place for non-performers to hide.
- *Health of the team - every time a staff member is lost, it costs the company money - with the transparency that agile provides, and regular retrospectives, a positive team environment is developed and maintained.
- *Faster time to market - working in agile encourages simplicity, ensuring quicker delivery and moving away from things like gold-plating and over-engineering.
- *Visibility of team productivity increase, and if not, knowledge as to why not - as the team becomes comfortable working in agile and understands the leaner way of working, its productivity increases over time.
- *Clear visibility of defects and bottlenecks.
So, how do I convert my waterfall environment to an agile one?
- *Begin with a common understanding of agile core principles across the business. Anything from half a day to two days' (preferably) onsite training, by an agile coach, is effective.
- *Carefully select a project that has high business value and risks, with few external dependencies and high customer involvement - the coach can work on setting this up and take the manager through the first sprint.
- *Select a small, dedicated, efficient team so they can learn how to work in an agile framework and be a good reference for other teams going forward.
- *Engage an experienced Scrum master or external coach as discussed above - this doesn't have to cost a fortune, but I have found it far more beneficial in agile roll-outs than just sending a few people on Scrum training.
- *Engage sponsorship at the CIO and business head level and keep them informed and engaged - when this doesn't happen, it can often be difficult to get business buy-in.
- *Implement a full framework like Scrum - do not select just a few practices, they work best as a whole.
How do I make my conversion successful?
* Use a physical board - there are plenty of software applications that can be used to run an agile project, but the most successful way is to use a physical board where the team can meet, discuss and collaborate, and the rest of the business can observe progress at any time.
* Start collecting and using statistics - after three sprints, the company will start to get a good feel for what the team is capable of producing. This will then allow the company to work out and refine its release plan.
* Engage a coach/consultant - I have seen the success of this time and again, one voice of authority helps the uptake of the process, as opposed to many authorities with minimal knowledge and possibly only theory.
* More action, less talking - just do it!
* Be clear on 'why' - ensure everybody understands why this process is being used.
* Process and technical - ensure good technical uptake as well as looking after the process side.
Change is never easy, but within a month or less, the company could have one to two agile teams up and running, and reaping the benefits before the specification has even got to page 20.
Share