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.
Heutzutage gilt agile Softwareentwicklung als Erfolgsfaktor bei besonders innovativen und zeitkritischen Projekten durch ihre schnelle Reaktionsfähigkeit auf Veränderungen im Markt. Wie aber ist es möglich, die Software-Architektur so zu gestalten, dass der vermeintliche Widerspruch Nachhaltigkeit versus Agilität, nicht nur elegant gelöst wird, sondern sogar noch zu einer besseren Architektur führt.Mehr erfahren
Many established companies face the challenge of digitization and possible disruption by innovative startups or new market entrants.Mehr erfahren
Mit dem Zero Moment of Truth bezeichnete Google 2011 den Moment in dem eine Entscheidung für ein ganz bestimmtes Produkt oder eine Marke gefällt wird, also die Recherche vor dem tatsächlichen Kauf. Wenn Versicherer diesen Moment nicht berücksichtigen, fehlt ihnen ein wesentlicher Teil der Marketingstrategie und sie laufen Gefahr, die Kundenschnittstelle an andere Player zu verlieren.Mehr erfahren
Artificial Intelligence (AI) has been a major theme in the last decade and numerous big companies have invested a lot of effort into the technology. Within the scope of our last ti&m garage project, we too developed a small but efficient chat tool prototype for a big company in Switzerland.Mehr erfahren
Technologische Fortschritte wie Automatisierung und künstliche Intelligenz gehen auch am Private Banking nicht vorbei. Matthias Plattner plädiert für eine Verbindung alter Werte und neuer Technologien und zieht eine Analogie zur Kampfsportart Aikido.Mehr erfahren