In the May edition of Methods and Tools a survey of 232 readers’ experiences with the adoption of Agile Methods was published:
I’m not sure how diverse the readers of Methods and Tools are or what business sectors they work in, but the results seem to be quite balanced: Yes (37%), No (45%) and Maybe (18%). It’s a shame no details were given as to why an Agile approach was rejected – was it due to an incompatible company culture or a requirement for a more formal, process driven governance of projects? I’d be interested to know how many of the readers who responded used Agile Methods in a field other than software development – the majority of people who have attended Ken Schwaber’s Scrum Certification courses have been involved with the IT industry but he’s had attendees from the Arts & Crafts sector (Museum curators who have to organise exhibits to tight deadlines) and corporations such as the BBC who want to learn how to use Scrum to organise teams more effectively.
The number of organisations using Scrum is ever increasing – at the Boston Scrum Gathering this year a large list was reeled off, including Microsoft, Yahoo, CapitalOne, SAP, Motorola and Federal Reserve Bank, Primavera, France Post Office, Ariba. Conchango has had great success introducing Scrum to many of our clients.
The number of people blogging about Agile is increasing; Darrell Norton, Steve Eichert, Reginald Braithwaite-Lee, Randy Miller, Jeff Sutherland, Roy Osherove being some of the most vocal and of course the Conchango blogging community. Online User Groups such as Scrum Development, Agile Articles, Agile Testing and Agile Project Management offer a vibrant community space for discussing ideas and problems. For people who want to meet in person the Agile Alliance site lists Agile User Groups all over the world. For Londoners there are the London Extreme Tuesday Club and the Thames Valley Agile SIG.
With the release of Visual Studio Team System, Microsoft is releasing the first mainstream methodology aware development environment, included as part of the release is MSF for Agile Software Development – while I’m not 100% comfortable with its role based nature – I think it’s a great step in the right direction. Because Microsoft is investing in Agile, hopefully it will reduce the 26% of people in the Methods and Tools survey who are not aware of the benefits of Agile Methods and once aware they might look towards more mature Agile Methodologies such as Scrum and XP.
Why is Agile such a breath of fresh air? IT project failure rates loom at 50-60% and of the successfully delivered projects, up to 65% of functionality is rarely or never used (how many features of MS Word / Visual Studio / Excel do you actually use?). According to a Forrester Research poll in 2004, 714 IT decision makers in North America were asked "At your company, when application software projects fail, what is most likely the root cause?"
- Poorly scoped projects (57%)
- Technical or integration issues (44%)
- Poor implementation staff or services (36%)
- Buggy software (35%)
- Unattainable business requirements (30%)
- Loss of executive sponsorship (27%)
The Royal Academy of Engineering and the British Computer Society found that only around 16 percent of IT projects could be considered truly successful in their research last April.
David Anderson said in a recent post that “Trust is the essence of Agile” after saying that iterative / incremental development cycles and people centric approaches are 30 years old and nothing new. Although trust is an essential component of successful Agile projects, I think this is a slightly simplistic view; Agile can’t be summed up by one intrinsic value. Traditional projects do succeed and do garner trust between The Business and The IT Supplier: 70% of Conchango’s work is repeat business, which means even before adopting Agile Methodologies; we must have been doing something right.
Agile is about empowering developers – making them take ownership of the product they are delivering rather than just being treated as a transformational unit that converts specifications into code. It is also about making them accountable for the code they produce – it’s about raising the bar – the use of Engineering Practices to improve quality and reduce Technical Debt. It’s about reducing the poor scoping, poor implementation, buggy software and unattainable business requirements that blighted the participants of the Forrester survey. The purpose of too many traditional methodologies is to place people in boxes and then wrap those boxes in process so that delivery is detached from the individuals’ ability to deliver.
One additional question I wish had been included in the Forrester poll above is “At your company, when application software project fails, how many stakeholders / executive sponsors were caught by surprise?” Traditional methodologies have been tarnished due to a failure to deliver even when, throughout the life of the project the Project Manager has been constantly reassuring and placating the customer until the point of no return where the project finally and unequivocally fails. This is where the distrust and the bad reputation come from.
Agile is a breath of fresh air because its main tenets are honesty, communication and transparency.
- Being honest about how projects function and malfunction.
- Being honest about the capability of the developers in your team, hence why in Scrum, the developers choose which features they are going to implement – i.e. playing to each individuals strength, rather than being assigned a task by a Project Manager.
- Being honest about estimates – a developer has a much better idea how long it will take them to implement a feature than a Project Manager (even a technically savvy one). How many people have been involved in traditional project where The Project Plan has become anthropomorphized? Where The Developer tells The Project Manager that he hasn’t completed his designated task and The Project Manager looks panic stricken and says “But The Project Plan says you’d be finished today?!?!”.
- Being honest about your progress, hence why in Scrum you have the daily stand-up and the three questions (What I did yesterday, What I'm doing today and What's stopping me working) – because peer pressure paired with this level of transparency leaves no room for people to shirk their work load, go dark or be stuck on a problem without the entire team noticing.
- Being honest about your progress, so if a feature is taking more time than originally estimated you know on a daily basis via the stand-ups and burn down chart, which leaves you time to allocate more resources / inform the client / de-scope. The iterative nature allows you to fine tune your project and easily adapt to change driven by the business.
- Being transparent about your progress, in Scrum anyone can turn up to a daily stand up – the executive sponsor and all the stakeholders can, on a daily basis, get a heart beat of how the project is progressing rather than waiting for a traditional style weekly status report that glosses over the details.
- Being honest and frank about how well the team is working; in Scrum using the sprint review session to talk about what went right, what went wrong and what can be improved. This is a time where individuals can set goals such as writing better code comments, unit testing more of their work, being more honest and open when they have problems – all these objectives can then be measured and reflected on during the next sprint review session.
From this honesty, projects either succeed or fail early, because it’s apparent within one iteration of the development cycle that the timelines are unrealistic and the goal unachievable. From this honesty, trust arises, but iterations, incremental development cycles and people centric approaches are intrinsic to the Agile process – because they enforce transparency which means that you can no longer deceive, inveigle or obfuscate. None of these are new or unique ideas – what makes Agile unique and compelling is they way these ideas are melded together.
Last month Conchango launched www.scrum-master.com – a micro-site about Agile processes, specifically Scrum. The site contains a lot of useful information for people interested in learning more about Scrum. Check out the “Agile Resources” section for a list of whitepapers – some written by us, some written by Ken Schwaber:
- The Agile Revolution
How firms are reducing project failure rates through adopting an 'agile' approach to software development.
- Agile Processes & Self-Organisation
Management is now faced with how to reach feature consensus and technology utility rapidly and iteratively, to capture and retain market advantage.
- For as Long as Memory Serves
Agile processes are easy to grasp after you've been on a project that employs them. Until then, many have trouble understanding what an agile process or an agile project is all about.
If you haven’t already read the slide deck for my Microsoft’s Architect’s Forum presentation in December, on Agile and the benefits of Engineering Practices called “The Value of Agile Methods”, take a look and also read Colin’s post on the presentation. It was the highest rated presentation of the day (3.7 / 4.0)!
And for the first time on www.scrum-master.com we announce our offerings around Agile & Scrum: Agile Consulting, Development and Training. If you think we can help please contact us.
If you are keen to introduce Scrum into your organisation, but you need to get management buy-in, we are running two Executive Briefings – on the 14th of September and the 16th of November. The briefings are aimed at IT Directors and Senior Business Managers and contain 3 main sessions:
- Why do we need an Agile development processes? An insight into how Agile development methodologies can help your business.
- Executive briefing of Scrum, by Ken Schwaber. What makes a development process an agile one? Agile development is an umbrella for a host of different techniques for development, modelling and project management each offers a range of benefits.
- BCA case study: A case study presentation of a recent Agile project Conchango have been working on with British Car Auctions. Highlights will include a review of the perceived benefits, lessons learned, and presentation from BCA UK IT manager for a customer's perspective
To register for this event, fill in the online form.
And if you are interested in coming to work for an award winning company, who lead the way in the use of Agile Methods and work with some of the UK’s top companies, in the finance, retail and mobility sectors using cutting edge technologies such as .NET 2.0, BizTalk 2006, SQL Server 2005 and J2EE, on high profile projects such as Virgin’s GlobalFlyer, then take a look and our current vacancies and contact us.