Wednesday, February 24, 2010

Criteria for a First Agile Project

I like to say that the best time to adopt agile in a large company or an enterprise is when there are the right business conditions. This may seem odd for a software development process, but while the development team has a lot to master when it comes to agile, it's the business functions that exhibit the most changes and must also put a lot of trust in their technology colleagues.

I speak this from some experience. When I joined BusinessWeek almost three years ago, it was with incredible support to get an agile development process going in order to launch Business Exchange. It was well understood that Agile's frequent release schedule, its process for leveraging user feedback to reset priorities, and its culture of simplifying requirements to the must-have are all key to consumer products.


Criteria for a First Agile Project

So for a first agile project, here are several important criteria that I consider:

  • Business - Ideally, a single business sponsor for an important project with a well articulated vision but undefined requirements. Also ideal is a good working relationship between this business sponsor and the lead technologists.
  • Product - Ideally, the product manager should be able to directly engage customers on a regular basis. I think that new teams will have an easier time working on a new product or functionality rather than a legacy product. (More on legacy projects and agile in another post!) Also, for a first agile project, it is a lot less risk working on a product that can be rolled out to customers incrementally rather than products that have scale at roll out.
  • Project Management - Ideally, I'm looking for projects that are 4-6 months in length that can be worked on with one or two teams.
  • Technology - I consider several criteria covering agile experience, maturity of the technology platform, whether the project requires new technologies and/or significant integration efforts, and the maturity of the QA practice. 
Now any agile coach looking at this list will say, "great job Isaac, now let's talk about the real world". In other words, you'll rarely see the ideal criteria. The important thing to recognize from this list is how to de-risk a project based on the working conditions.  That being said, in practice, it is easier to compensate for less ideal conditions in the project and technology areas than the business or product ones.

Here's a more simple set of conditions; if you can get a business lead and a tech lead working together and committed to the agile methodology; if you can staff a cross discipline team to work together on the project, if you can get at least one person on the team with strong agile experience, if you can get some basic development environments, if you can write down a few things to work on first and commit to getting them completed in a fixed and short amount of time - you've just kicked off your first agile project.

2 comments:

  1. Good explanation of when we can consider Agile process in Software Development Life Cycle

    ReplyDelete
  2. Hey, nice site you have here! Keep up the excellent wor
    Agile Process

    ReplyDelete