"Size clearly matters. You probably couldn't run an XP (Extreme Programming) Project with a hundred programmers. Nor 50. Nor 20, probably. Ten is definitely doable ..." Kent Beck, "Extreme Programming Explained: Embrace Change," 1st Edition, [Publication date: 2000]
These days, some software teams have hundreds of programmers. Many of them are on multi-year projects and working on ongoing programs software that might have a shelf life of more than a decade. Those projects are complex, in-flight and with no easy concept of done.
Agile software development methodologies, in which individuals, interactions and cross-functional teams are valued over processes, comprehensive documentation and set-in-stone plans, have been nothing if not disruptive for big companies used to tight controls on developing the custom software they need to run their business.
Enter SAFe the Scaled Agile Framework, a framework designed to allow large organizations to move toward a more agile way of working. By large we mean more than a thousand people in IT, and more than 250 in software development.
SAFe in one image
Take a look at the above image. Called the "big board" within the company, it presents all of SAFe in one picture. The portfolio vision sketches out epics, strategy and value streams. The program level, where 25-150 people at a time work on a specific program, is well-represented. Below the program level is the team level.
Historically, scrum, extreme programming and other agile methods tend to focus, and stop, at the team level. SAFe presents a single, unified view of the work to executives, allowing them to drill down for details or up for trends and analysis.
A team in SAFe might be eight to ten people, with everything they need to deliver software, end-to-end: requirements, coding, testing and deployment. Several teams create what SAFe calls a release train, which organizes around a program (more on that below). That's a single project, or at least, one program-of-projects. It has a single line item in a budget the company is buying one specific thing. This is the "small project" the executive talks about.
A portfolio is a collection of these programs, the total amount of budget dollars within IT going into software development. SAFe calls this "Program Portfolio Management," and suggests that one office have the responsibility for strategy and investment funding, program management and funding.
All aboard the release train
In SAFe terms, the "Release Train" is the team-of-teams, typically 50,125 individuals. Like a real train, the release train runs on a schedule, pushing code to production on a schedule (which I describe later as a Product Increment), typically every ten weeks. SAFe suggests that people involved in a release train be dedicated full-time to that release train, regardless of reporting structure.
Sign up for CIO Asia eNewsletters.