Welcome!

Blog Feed Post

Struggling to scale Agile?

Small teams are more effective. The general agreement is that anything from 5 to 12 is the 'right' small. But of course small teams will also have 'small' throughput - relatively speaking. So if your demand is X and the throughput of a small team is X/10, you probably need 10 teams to meet that demand. But more teams also mean more effort to coordinate and align their efforts in the same direction. So, the challenge is how to harness the power of small teams and yet orchestrate multiples of them to get higher throughput.

In the context of enterprise Agile, this is very critical.

From slow and rigid to fast and flexible. That was the promise of Agile to IT. What it meant was that ideas coming from business would be converted into working software rapidly. It meant that IT will be more responsive to what business wants and needs and will not spend an eternity analysing the requirements, writing detailed specifications and then sending them back to business to review. Some of that has happened. Product backlogs are more informal and easier to maintain and update than formal specifications. IT pushes business to prioritize and tries to break the requirements down so that they are both manageable and valuable and can be delivered in short sprints of 2~3 weeks. So far so good. However, what happens after that is a bit complicated.


In the recent past, as I observe agile projects in organization after organization, sometimes as a consultant, sometimes as a Scrum Master and sometimes just as an invisible fly on the wall, I notice organizations struggling to scale. There is a high degree of awareness and obsession with the mechanics of agile but without an equivalent grounding on the fundamentals. Yes, there is SAFE, LeSS, etc., but frameworks are good when you know how to apply them in your context. Otherwise, you get drowned under new rules and terminology. Here is a summary of my recommendations for organizations trying to scale Agile:

1. Architecture - Agile discourages grand upfront design. Recommendation is to do a design which is sufficient for the prioritized user stories and then iteratively improve it so that it is able to accommodate newer stories. The overall architecture thus evolves and emerges. This approach is fine when you have a single scrum team working on a set of stories. The moment more scrum teams come into the picture, the concept of emergent design becomes a bit fuzzy. Two or more scrum teams working on a set of user stories without a bare minimum architectural skeleton as a reference will pose huge integration and collaboration challenges. In these scenarios, it is wise to invest some upfront effort in creating an architectural framework which all the teams agree to and will collectively evolve as the software grows. I see this explicit guideline / practice missing in many instances.


2. Work Allocation - One of the basic premise of agile was to break functional silos and align people to what the customer wants. By advocating the practice of having cross functional scrum teams, agile has solved this problem. But in many organizations I've seen functional silos giving way to scope silos - individual scrum teams too focussed only on their features or themes or scope of work at the cost of the overall system. Scrum masters need to be wary of this. This goes back to how work is allocated or pulled by individual scrum teams. If scrum teams pull items from the product backlog strictly by features assigned to them, risks of scope silos are higher. There are no easy answers. There is a dependency on the overall architecture of the product (if there is one and in a multi scrum team scenario there should be atleast a skeletal version) and the extent to which there are dependencies and modularity. In my view, to the extent possible, teams should have the freedom to pull items from the entire product backlog and not restricted to selected features or themes / epics.

3. Ownership - The Product Owner owns the system and is responsible that the right product is built. In my view, he/she owns the behaviour of the system and controls its destiny. But who owns the architecture, design and other internals of the system? You can alter the internals and yet get the same behaviour - who controls what can be changed and what cannot be?. In a multi scrum team structure it is very important to fix that ownership clearly. Related to the issue of work allocation explained above, there has to be a team who is responsible for the overall system internals and not just a set of themes or features. Projects in real life have a finite end date and products have a future state, post which only incremental changes are made to it. This means development effort over the life of the product will peak and then plateau. Extra capacity has to be released for other productive work and hence fixing system ownership early on is very important.

4. Communication and Noise - Agile gives importance to individuals and the interactions between them. Popular literature recommends an optimal team size of 7 and so does Scrum. At the same time multi scrum teams are a reality because they can provide higher throughput. To be effective a team should be shielded from external interference and be allowed to focus on the job at hand. I've seen instances where 2 scrum teams have so many dependencies between them, they are constantly talking to each other. In a way, they are then actually not separate teams. The benefit of higher throughput should be weighed against the cost of higher interference and communication overhead between multiple teams. In my view, while interactions within the team should be encouraged, that between the teams should be controlled lest it leads to chaos.

5. Nurturing Excellence - Today, the word 'waterfall' has almost taken on evil connotations. We're so paranoid about the term 'functional silos' that we assume than any 'functional' team is necessarily a 'silo'. That is far from true. Technical excellence is necessary to live upto the promise of Agile. How do you nurture that? Smart developers learn from smart developers and challenge each other to reach higher levels of expertise. Same is true for architects, testers and other members of a product team. Organizations should provide forums or structures where professionals practising the same craft can learn and interact with each other. It is perfectly normal for a developer to have strong affiliations towards his / her scrum team as well as the developer community inside or outside organizations. Organizations should provide the opportunity to maintain and nourish these multiple identities. They strengthen our collaborative capabilities in a cross functional forum, not diminish them.

6. Integration - This is one of the basic best practices which is not adhered to very consistently. In a multi scrum team scenario continuous (preferably automated and daily) integration needs to happen not just within but between scrum teams. Many organizations have this concept of an integration sprint at the end of 2~3 sprints which is basically a recipe for disaster and very watefallish in approach as it is delaying the discovery of the inevitable bugs and thereby the cost of resolving them. It is better that everybody stops working and resolve any integration problem when it happens rather than keeping them in a backlog and allowing technical debt to accumulate. I agree that in some context there would be technical limitations to integration but let those not be by design. Multiple teams feeding from a single gold version and collectively merging their versions might seem messy but if done regularly and with discipline, makes integration a non-event.   

Read the original blog entry...

More Stories By Sujoy Sen

Sujoy is a TOGAF Certified Enterprise Architect, a Certified Six Sigma Black Belt and Manager of Organizational Excellence from American Society for Quality, a PMP, a CISA, an Agile Coach, a Devops Evangelist and lately, a Digital enthusiast. With over 20 years of professional experience now, he has led multiple consulting engagements with Fortune 500 customers across the globe. He has a Masters Degree in Quality Management and a Bachelors in Electrical Engineering. He is based out of New Jersey.

Latest Stories
"We are still a relatively small software house and we are focusing on certain industries like FinTech, med tech, energy and utilities. We help our customers with their digital transformation," noted Piotr Stawinski, Founder and CEO of EARP Integration, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"I think DevOps is now a rambunctious teenager – it’s starting to get a mind of its own, wanting to get its own things but it still needs some adult supervision," explained Thomas Hooker, VP of marketing at CollabNet, in this SYS-CON.tv interview at DevOps Summit at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"We've been engaging with a lot of customers including Panasonic, we've been involved with Cisco and now we're working with the U.S. government - the Department of Homeland Security," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"We're here to tell the world about our cloud-scale infrastructure that we have at Juniper combined with the world-class security that we put into the cloud," explained Lisa Guess, VP of Systems Engineering at Juniper Networks, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"With Digital Experience Monitoring what used to be a simple visit to a web page has exploded into app on phones, data from social media feeds, competitive benchmarking - these are all components that are only available because of some type of digital asset," explained Leo Vasiliou, Director of Web Performance Engineering at Catchpoint Systems, in this SYS-CON.tv interview at DevOps Summit at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, provided a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services with...
As enterprise cloud becomes the norm, businesses and government programs must address compounded regulatory compliance related to data privacy and information protection. The most recent, Controlled Unclassified Information and the EU’s GDPR have board level implications and companies still struggle with demonstrating due diligence. Developers and DevOps leaders, as part of the pre-planning process and the associated supply chain, could benefit from updating their code libraries and design by in...
"Peak 10 is a hybrid infrastructure provider across the nation. We are in the thick of things when it comes to hybrid IT," explained Michael Fuhrman, Chief Technology Officer at Peak 10, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
SYS-CON Events announced today that Calligo, an innovative cloud service provider offering mid-sized companies the highest levels of data privacy and security, has been named "Bronze Sponsor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Calligo offers unparalleled application performance guarantees, commercial flexibility and a personalised support service from its globally located cloud plat...
"We are an IT services solution provider and we sell software to support those solutions. Our focus and key areas are around security, enterprise monitoring, and continuous delivery optimization," noted John Balsavage, President of A&I Solutions, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"We were founded in 2003 and the way we were founded was about good backup and good disaster recovery for our clients, and for the last 20 years we've been pretty consistent with that," noted Marc Malafronte, Territory Manager at StorageCraft, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
There is a huge demand for responsive, real-time mobile and web experiences, but current architectural patterns do not easily accommodate applications that respond to events in real time. Common solutions using message queues or HTTP long-polling quickly lead to resiliency, scalability and development velocity challenges. In his session at 21st Cloud Expo, Ryland Degnan, a Senior Software Engineer on the Netflix Edge Platform team, will discuss how by leveraging a reactive stream-based protocol,...
"We are focused on SAP running in the clouds, to make this super easy because we believe in the tremendous value of those powerful worlds - SAP and the cloud," explained Frank Stienhans, CTO of Ocean9, Inc., in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"DivvyCloud as a company set out to help customers automate solutions to the most common cloud problems," noted Jeremy Snyder, VP of Business Development at DivvyCloud, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"At the keynote this morning we spoke about the value proposition of Nutanix, of having a DevOps culture and a mindset, and the business outcomes of achieving agility and scale, which everybody here is trying to accomplish," noted Mark Lavi, DevOps Solution Architect at Nutanix, in this SYS-CON.tv interview at @DevOpsSummit at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.