Monday, January 26, 2009

The case for agile on integration projects

It is a common belief that agile only applies to front end projects (e.g websites, user interfaces) and does not work well for back end or systems integration projects.

Admittedly, Agile is an excellent fit for these front end projects, given the emphasis on customer feedback, and in projects that use user stories to capture requirements there is a particular emphasis on user visible functionality. But the agile approach is not represented by the technique of user stories, indeed more important than the structure of requirements is the core agile practices:
  1. Frequent delivery - Building a potentially shippable product increment at least each month (if not more frequently) is key to the success of an agile approach. On any complex integration project there are many unknowns and often many moving parts. By working to deliver complete and tested functionality incrementally the project teams are able to discover and respond to integration challenges sooner and more effectively, reducing the exposure to uncertainty on the project.
  2. Cross functional teams - Agile projects are typically staffed by a team that is multi-disciplinary including development, analysis, testing, design and are structured around end-to-end features rather than by component. On integration projects a useful strategy for improving the ability of integration teams to deliver and organise the critical work across integration boundaries is to include platform staff (e.g. vendor or back-end team members) as part-time members of the end-to-end (client-side or front-end) feature teams. This cross-boundary structure allows the team to solve complex integration issues at the coal-face. The platform team members can return to their platform team to act as product owners and ambassadors for the client teams ensuring alignment, problem-solving and communication across the integration boundary.
  3. Frequent inspection and adaptation - As part of delivering each incremental product increment an agile team will review and evaluate each increment with the appropriate customers and stakeholders. As part of this review any systemic product, team or oganisational issues are addressed and responded to. Integration projects can quickly and consistently demonstrate technical and organisational progress and can make critical adjustments to their approach and organisation based on the results of early end-to-end integration testing.
  4. Self organisation - Agile teams are set-up to allow them to solve difficult problems at the coal-face, organising the work across disciplines and organisational boundaries. It is often very difficult or impossible to predict the technical and business issues that will be encountered by an integration project making traditional up-front approaches to planning and estimating highly unreliable. Agile teams can respond to this uncertainty by allowing teams to self-manage their work against clear functional priorities.
In addition to these more integration specific benefits an agile approach has other general benefits such as reducing waste in planning and bureaucracy, an improved focus on technical quality and an improved visibility of project progress and issues.

It is safe to say that agile is worth considering for serious systems integration projects not just for your next website refresh.

Friday, September 26, 2008

Agile conferences near the UK

One of the best ways to get more information on using Agile in your organisation is to attend a conference where you can discuss your situation with a wide range of experts and peers. Here is a short list of conferences to consider that are close to the UK:

  • Agile North - A small local community conference that is a good opportunity to get to know other practitioners. Next conference: Agile North 2008. Preston, Lancashire, 13th November 2008.
  • XP Days Benelux - A spin-off euro conference based on the successful London XP Day. Next conference: XP Days Benelux 2008, Eindhoven, The Netherlands, 20-21 November 2008.
  • XP Days London - More Agile than XP these days this conference is a highly regarded London conference with typically excellent quality presentations. Next conference: XPDay, London. 11th & 12th December 2008.
  • Agile200X - Not near the UK but as the biggest international agile conference it is worth considering. It is getting slightly large for comfort recently, but you can't beat it for breadth of speakers and topcis nor the openness of the peer review process. Most of the presentations from Agile2007 are available here. Next conference: Agile 2009 Chicago, USA. August 24-28, 2009.
  • Agile Open Europe - This is an open space conference where everyone can present or discuss topics of interest to them. Next conference: Not announced yet, June or July 2009.

Tuesday, March 25, 2008

Getting started: Standups

One of the first techniques to introduce in the enterprise is Stand Up Meetings. Here are some links to information on them:

Wednesday, March 19, 2008

Getting started: What is Agile anyway?

When introducing agile into a large organisation many people have no knowledge at all what agile is. Here are some resources that give a overview of agile:

Tuesday, March 18, 2008

Getting started: Identify the whole team

There is lots to do when starting out a project in an Agile way, one of the first things to do is start getting the whole team together. Here are some resources on roles and responsibilities:

The business/customer/product owner: