Feeds

Scaling agile software development

Divide and Conquer

  • alert
  • submit to reddit

Providing a secure and efficient Helpdesk

Reader Poll The question we asked on Monday - whether agile development could scale - certainly put the cat among the pigeons.

There were undoubtedly those for whom the answer was a resounding ‘no!’ – not least because for many, Agile is predicated on the basis of small teams. Big teams = big problems, we were told, and Agile is not going to help resolve them. Here’s some example feedback.

“Keep It Simple S****” – When the projects becomes too big, no matter the methodology, it will fail.
The sheer amount of “work stuff” that mires a large project will bog a team of 500 – but if you’re controlling a workforce of that size you’re certainly not thinking in an Agile way.
You can call it agile even when it’s a mammoth floundering in a tar pit, but that doesn’t make it so.

A major bone of contention seemed to be adoption of Agile as a clever term, rather than a distinct way of doing things. “Sometimes managers hear great buzzwords but don’t get beyond the first paragraph,” said one comment. “Agile is something that should have been kept secret from the marketing depts,” said another.

From the wealth of comments you provided, it's clear that Agile is more than just marketing: “It’s not that hard to scale, providing you know what you are doing. I’ve done it again and again with multiple enterprise customers,” said a self-confessed Agile coach/consultant.

But are they right – or like the Joe Satrianis of this world (there, I’ve mentioned him again), is it just that when such people are involved, everything seems to work?

It seems the key to answering this is how agile projects are structured. The fundamental principle is be ‘divide and conquer’ – that is, if running a project with several hundred people is always going to be difficult, far better then to consider it as a series of smaller projects. “If the task can be broken down into small enough pieces then it could still use agile methods,” we are told. And indeed, “Agile can actually make it easier to work with bigger teams, because it helps you break things down into rational chunks”.

Complexity will grow inevitably as the project grows. Returning again to the comments, there is some consensus in how large-scale projects can be run as a number of smaller-scale Agile projects, but with two caveats: that the role of management is to deal with the complexity and communications, and that the challenge becomes how to bring together and integrate the different pieces – which may not all have been developed in an Agile way. We saw a number of pointers in this latter vein.

You don’t have to attempt to scale the agile approach, as you are best served in some areas (such as the foundation APIs and critical services) to maintain a solid reliable and quality tested platform, but in other areas notably those which are closest to the business and the users.
I have not seen it successfully scale beyond 10 without starting to take more hybrid approaches (e.g. use Agile approaches for prototypes of key functionality and to mitigate largest risks. Use more traditional Prescriptive approaches for work to be outsourced to external development resources, ensure full test coverage, etc.)
Instead of having a 500 people project, create 10 projects of 20 people and a tree of say 1+4 integration projects each with 2 or 3 people each.

With all of this in mind, we’d be interested to understand better your own experiences. What’s your involvement been in Agile projects large or small, and how have you got on? We’ll collate your views and play them back to you at the end of the week.

Reader Poll

Q1. Can you tell us a little about yourself and your involvement in Agile projects?

I am currently working on one or more Agile projects
I have recent direct experience of working on Agile projects
I have been observing Agile projects and have gained indirect experience
Other (please state)

Q2. In your honest opinion, do you really believe Agile can scale beyond:

5 people
10 people
50 people
100 people
500 people

Q3. What would you say were the key success factors of larger scale Agile? (1-5 where 5 is most critical)

1 2 3 4 5
A clear, coherent programme management overview across the sub-projects involved
Maintaining up to date configuration management of the project artefacts (code, documents, models etc)
Continuously integrating multiple parts of the application into a single deliverable
Packaging and delivering application elements (against a baseline)
Keeping a clear separation between development, test and live systems
Managing communications within and between project teams
Other (please state below)

Q4. What would you say are the things that cause the most problems to larger-scale Agile? (1-5 where 5 is most problematic)

1 2 3 4 5
Keeping the project running over distributed sites
Deciding what should be in the platform layer and what shouldn’t
Ensuring a sufficient level of quality of sub-project deliverables prior to their integration
New requirements having undue impact on work already underway
Difficulties in keeping to pre-ordained timescales and timeboxes
Other (please state below)

Q5. What are the most important facilities to have in place? (1-5 where 5 is very important)

1 2 3 4 5
Tools to enable management of project artefacts within sub-projects
Tools to enable management of project artefacts across the entire project or programme
Tools to support re-use and/or sharing of artefacts between teams
Tools to enable collaboration and communication between and within teams
Tools to support quality and integrity testing prior to integration
Tools to support performance and scalability testing across the integrated project.
Other (please state below)

Q6. What have we missed – and have you any war stories or success anecdotes you wish to share?

Q7. What are the challenges of implementing and using continuous integration? (Please tick all that apply)

Build Performance
Communicating build status to the group
Configuring tools to support CI workflow

Beginner's guide to SSL certificates

More from The Register

next story
ONE MILLION people already running Windows 10
A third of them are doing it in VMs, but early feedback focuses on frippery
Sign off my IT project or I’ll PHONE your MUM
Honestly, it’s a piece of piss
Netscape Navigator - the browser that started it all - turns 20
It was 20 years ago today, Marc Andreeesen taught the band to play
Torvalds CONFESSES: 'I'm pretty good at alienating devs'
Admits to 'a metric ****load' of mistakes during work with Linux collaborators
Sway: Microsoft's new Office app doesn't have an Undo function
Content aggregation, meet the workplace ... oh
Do Moan! MONSTER 6-day EMAIL OUTAGE hits Domain Monster
Customers freaked out by frightful service
Ploppr: The #VultureTRENDING App of the Now
This organic crowd sourced viro- social fertiliser just got REAL
Return of the Jedi – Apache reclaims web server crown
.london, .hamburg and .公司 - that's .com in Chinese - storm the web server charts
NetWare sales revive in China thanks to that man Snowden
If it ain't Microsoft, it's in fashion behind the Great Firewall
prev story

Whitepapers

Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
Win a year’s supply of chocolate
There is no techie angle to this competition so we're not going to pretend there is, but everyone loves chocolate so who cares.
Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.