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.
Durch den CLOUD Act müssen US-Firmen Daten auch aus ausländischen Rechenzentren bei Anfrage an US-Behörden ausliefern. Firmen, die mit US-Cloud-Providern zusammenarbeiten, müssen sich dieser Gefahr bewusst sein, wie ti&m-Surfer Bernd Leinfelder in seinem Blog-Beitrag herausarbeitet.Mehr erfahren
Not a day goes by without new mobile payment apps popping up or the Original Equipment Manufacturers, also called OEMs, launching their own mobile wallets (Apple Pay, Samsung Pay, Android Pay) in additional countries. Especially Switzerland plays an interesting role by focusing on the payment solution TWINT to solve the local mobile payment needs. However, regardless of the payment app and underlying technology, all solutions need to balance usability and security in order to justify a valid business case.Mehr erfahren
Many established companies face the challenge of digitization and possible disruption by innovative startups or new market entrants.Mehr erfahren
Wie man Digitalisierungsinitiativen zum Erfolg führt, indem man den Menschen miteinbezieht. Der Energiedienstleister ewz überträgt Verantwortung in die Teams, um den sich verändernden Kundenbedürfnissen gerecht zu werden.Mehr erfahren