Looking at the map to starting an Agile effort?

Looking at the map to starting an Agile effort?

What is needed to start an Agile project?  There are a number of requirements for beginning an Agile effort.  Those requirements typically include a big picture understanding of the business need, a budget, resources, and a team.   Somewhere in that mess, someone needs to understand if there are any unchangeable constraints. A high-level view of the five categories of requirements for starting an Agile effort are: 

  1. Business Need – All efforts need to begin with a goal firmly in mind.   While the absolute detail of how to achieve that goal may be discovered along the way, it is unconscionable to begin without firmly understanding the goal. Understanding the goal of the effort is the single most important requirement for starting any effort. Storytelling is a tool to develop and share the effort’s goal.
  2. Budget – In almost every organization, spending money, effort or time (the calendar kind) on an effort means that something else does not get funded. Very few efforts are granted the luxury of unlimited funds (money or effort). All efforts require a budget.  Budgeting begins at the portfolio level where decisions on which piece of work need to be addressed, then flows downward to programs or release trains where it divided up into finite pots of money.  The trickle down of the budget typically ends a team’s doorstep with a note saying that they have this much “money” to address a business need. The term money is used loosely as the effort is often used as a currency in many organizations.  If the business need or goal is the most important, then having a budget is a close second.
  3. Resources – In corporate environments resources generally include hardware, software, network resources and physical plant (a place to work).  People are not resources. In the late 90’s I participated in large bank merger projects.  In one of the projects the resources that had to be planned for were renting a floor in building (and lots of desks, chairs, phones, and stuff) and funding a route on an airline for the length of the project.
  4. People – People, often organized in teams, get the work accomplished.  Individual Agile teams should be cross-functional, self-organized and self-managed. A good team is a mixture of behaviors, capabilities and the right number of bodies. People are the third most important requirement for beginning an Agile effort.
  5. Constraints – Understanding the hard constraints for any effort has to operate within is important.  Some efforts are in response to legal mandates (income tax changes for example) or have to fit within specific hardware footprints (embedded code for example).  Constraints often are the impetuous for innovative solutions if they are known and anticipated. Note: constraints, like risks, can evolve, therefore they need to be revisited as an effort progresses.  

There is a hierarchy of requirements.  An effort needs a goal. A goal is needed to acquire a budget. A budget is needed to acquire a team and resources. Constraints are a wildcard that can shape the all of the other requirements.  Understanding and ensuring that the effort’s requirements are addressed is what is necessary for starting an Agile effort. 

The next few blog entries will explore each category in greater detail.