The End of All Projects, or: Taking Agile to the Next Level
Imagine a world without projects, project leaders and product owners. Imagine a broader product definition, a larger backlog and multiple feature teams all working on the same effort. In this article, ti&m's CTO Martin Fabini explores an organizational design based on LeSS, the framework for scaling agile software development to multiple teams.
Let me share some ideas to reduce dependencies and management overhead in software development as it gets addressed by the Large Scale Scrum (LeSS) framework. LeSS promises scaled agility in software product development – not through a prescribed remedy, but by refocusing on Agile principles to put the “teeth of Agile” back into software development. This may sound boring and obsolete, but as I can confirm, the more Agile goes mainstream, the more the principles of Agile get diluted.
I want to shift your attention to the organizational design of a scaled Agile environment, as it is discussed within the LeSS framework. The key points are:
- Respect and do not dilute Agile principles.
- Get rid of projects; their contractual nature is poison for Agile.
- Use a much broader product definition, within which up to 100 people may work self-contained.
- Use feature teams – each team should be able to work on the whole product, which is shipped as a whole. There should be no team branches.
- Get rid of project leaders, project boards and synchronization managers.
- Use bi-weekly releases, which allows you to get rid of bug branches or a maintenance team.
Sounds too good to be true? Let’s take a closer look at some typical implementations of Agile. Here is an example of an organization with three Scrum teams working on three projects:
Huh – looks complicated but familiar? The basic pattern of the organizational design is the “copy-pasting” of Scrum teams wrapped into a project structure. One Scrum team was successful, thus you start another one, and so on. In short, you start duplicating a lot of unnecessary things, which is a direct result of Scrum not addressing the scaling issues. The typical flow to change a piece of software might be the following:
- Projects start off by reaching an agreement on a budget and the scope.
- A project defines the organizational home base – usually the software component to change and a team.
- The implementation team generally is a Scrum team, which has often managed to collaborate with its PO and business analysts quite closely.
- The PO and the Scrum team manager are expected to deliver software in bi-weekly increments onto the test platform, where stakeholders approve the work. Dependencies (e.g. interfaces) must be carefully managed and the deployment of a dependency must be synchronized.
- After a couple of months, the increment is put into production.
Let’s look at the same organization after implementing feature teams and DevOps according to the LeSS framework:
The key of this approach is to use a broader product definition and apply Scrum with several teams on a new and large product backlog, which is backed by new/broader product definitions. What is different if we scale by the product definition and thus create a much larger backlog for several teams?
- The scope of a project is much wider. Actually, projects do not exist anymore and thus, the need to track a budget for such disappears. Instead, you have teams of up to 100 people (with a burn-rate) assigned to different components. The allocation of the budget is determined by the priorities in the backlog and its share fluctuates freely between components.
- We talk about a wide product definition, which incorporates all components of picture one. We are using only ONE backlog and only ONE product owner instead of many product owners per project.
- The original Scrum teams depicted in picture one are attached to one component. In LeSS, the teams are mixed, which means that any team should be capable to work on any component. Thus, dependencies on other teams should disappear.
- Continuous delivery of the overall component is biweekly or even ad-hoc (feature driven). Inter-dependencies are dissolved within a team, because a team may work on all components and because of automated unit- and integration tests.
- The team (not the testers) is responsible for the productive instance and decides about the release quality of the current product development. Remember, all team members (up to 100) contribute to the same product. Testing is done within the team and not by a testing department.
Now, which benefits might you expect from such an organizational design? Firstly, there are no projects. It might be hard to imagine a world without projects, but give this thought a chance: Right at the moment when you get the green light for your project, your focus is on delivering what is in the contract of said project. This is your definition of success and you stick to it until the project is done. With a broader product definition, and thus a larger backlog where several teams are involved, you focus and prioritize on user stories and – if done right – on the VALUE of each story. It can be viewed as a flexible program management, implemented in a big backlog. If the value is justified, all the teams may also work on just one component at the same time, even just for a few weeks. As a consequence, the organization has more flexibility and the capability to deliver more value in a shorter amount of time. Projects with their “contract thinking” put the focus on just one aspect or component, which means that you are trapped optimizing software development locally.
Secondly, LeSS means a dramatically reduced management overhead. There are less product owners, no project leaders and operations are transformed to resemble a software team, which provides the right self-service tools for developers.
Thirdly, priorities drive the effort. The product backlog determines where the effort and the money goes. This may change quickly, which is also the cornerstone of Agile and a reason why projects hinder scaled agility.
And last but not least, since there is a regular release planned every two weeks, there is no need for developers to work on feature- or bug branches. It is very rare that bug fixes can’t wait two weeks for delivery.
Of course, many questions are still open. But if you made it to the last line, I have probably caught your interest. If you want to learn more about implementations of “LeSS”, contact me, come to one our free meetup sessions or look into a LeSS training in Zurich.
Alles wird digital, aber immer noch ist der Geldbeutel voll mit Check-Karten jeglicher Couleur. Mit der virtuellen Versichertenkarte haben SASIS, KPT und ti&m hier eine innovative Alternative lanciert. Dominik Baumgartner, Leiter Abteilung VeKa-Center bei SASIS, gibt einen Einblick in die Vorteile und wie die Lösung aus der ti&m garage entstand.Mehr erfahren
ti&m surfer Moritz Baumotte liebt es Neues zu lernen. Er hat einen enormen Wissensdurst und grosses Interesse an der Software-Architektur. Dank der ti&m academy kann er sich regelmässig weiterbilden. Der Kurs «Certified Professional for Software Architecture – Foundation Level» (ISAQB-FL) mit Gernot Starke hat ihm besonders gut gefallen.Mehr erfahren
Ein guter Tipp: Nutzen Sie die Eitelkeit des Individuums, um die digitale Identität Ihrer Organisation zu stärken und deren Visibilität zu erhöhen.Mehr erfahren
Während viele Unternehmen noch damit beschäftigt sind, im Rahmen ihrer agilen Transformation eine DevOps-Kultur einzuführen, entwickelt sich im Tooling-Bereich schon der Begriff NoOps, um weitere Schritte auf dem Weg zur vollständigen Automatisierung im Software-Betrieb zu beschreiben. Braucht es in Zukunft überhaupt noch ein Operations-Team?Mehr erfahren
Have you heard of the Large Scale Scrum (LeSS) framework, but aren't entirely sure what it is? Are you a Scrum Master who wants to take his knowledge of one-team Scrum to the next level and learn about scaling agile development to multiple teams? Cesario Ramos, Lean & Agile coach as well as certified LeSS trainer, shares his knowledge in an interview.Mehr erfahren