Optimize Flow, Principle 6 of the Disciplined Agile Toolkit
Categories:
agile,
Enterprise Awareness,
Scaling,
Scrum,
Kanban,
lean,
agile principles,
enterprise awareness
Categories: agile, Enterprise Awareness, Scaling, Scrum, Kanban, lean, agile principles, enterprise awareness
| The Disciplined Agile (DA) Tool kit is a tremendous resource to be used in every Lean-Agile adoption / transformation effort, from team-level to enterprise-level. The DA Tool kit, now with more clarity on choosing your way of working (WoW), offers new and established teams an opportunity to evolve further through consideration of their context and the many goals, factors, and options available to them. Disciplined Agile Delivery (DAD), with its focus on delivery has provided a solid foundation for building high performing delivery teams. As enterprises come to value the benefit of these team-level improvements the desire to leverage these improvements throughout the enterprise, scaling these improvements, is a common enterprise strategy today. Of course, DAD Teams are enterprise aware and ready to work with the enterprise to reduce overall delivery time and cost. There are many scaling factors to consider as an enterprise seeks Agility at Scale. Additionally, the DA tool kit provides straightforward guidance for scaling into Disciplined DevOps and then into value streams. Finally, the toolkit provides guidance for a Disciplined Agile Enterprise. It is here that I want to focus on Principle 6, Optimize Flow. DA recognizes that enterprises are complex adaptive systems. The solutions they are providing are also complex solutions. Gone are the good’ol days of simply being complicated! The challenge, as stated by the principle to Optimize Flow, is how to ensure collaborating teams do so in such a way as to effectively implement our organization’s value streams? And, how do we optimize our overall workflow? I’ll take the liberty here to rephrase and combine the two questions. How do we organize long-standing teams to support the delivery of value for the enterprise in a way that allows for ongoing optimization experiments (as in Lean Change)? To ‘implement’ the organization’s value streams for delivery of solutions, we must first identify and visualize the operational value stream of the enterprise and then determine the nature of the solution being delivered. To the sharp-eyed reader, you’ve noticed that I’ve qualified the use of value stream with a reference to operational value stream. Yes, I believe there is a value stream that is characterized by the enterprise: The value stream through which it delivers value to its customers, clients, members, or whomever external to the enterprise is paying for the value delivered. This is the operational value stream, the flow from order to cash. Well, there is no reason to qualify the use of value stream if not for at least a second type of value stream. That second type is a development value stream. The development value stream is where we can fully leverage the wealth of resources available from the DA Toolkit. This is not to say that we can’t use various ideas and principles from the DA Toolkit to improve the operational value stream. Only that the sweet spot for considering the Disciplined Agile Enterprise (DAE) is from the point of view of the development value stream. So, what is a development value stream? A development value stream is responsible for implementation and maintenance of solutions that provide for business capabilities that are in turn needed to support to operational value stream. Here, in the development value stream, is where we are better able to apply the Optimize Flow strategies of delivery at a sustainable pace, optimization of the whole, making work flow, and using experiments to eliminate waste and to gain an understanding as those long-standing teams participating in the development value stream use validated learning through metrics to continuously improve. A development value stream is implemented by way of establishing and organizing DAD teams in alignment with the flow of idea to solution for improvements of business capabilities within the enterprise. Sustainable paceFor a team of teams aligned to enable business capabilities the continuous generation of business capability improvement ideas can easily exceed the capacity of the delivery teams to implement each idea. It is important the leaders within the enterprise understand that more can be accomplished with the people they have when they limit the amount of work requested of them to their capacity to do the work. Exceeding that capacity ultimately results in less work being accomplished overall as we lose productivity though excessive multitasking. Yet, each team will want to be responsive to the perceived demand of the enterprise. In their efforts to self-organize to improve on what they can accomplish it is important to keep the next strategy in mind, optimize the whole. Optimize the wholeWithin a team of teams each team is typically striving to contribute a smaller outcome that, together with the outcome of other teams, contributes to a larger outcome needed to improve a business capability. Teams should seek to optimize around the delivery of the larger outcome rather than only their own contribution. It is important to be aware that the optimization of a component of a system may, in fact, cause a sub-optimization of the larger system. Focus on the flow of the larger value delivery to make work flow better overall. Make work flowThe principle to visualize work enables teams to identify and remove bottlenecks. Kanban is a great method for this visualization. But, the idea of a Kanban board is not limited to being applied only for a Kanban team. Scrum, and indeed, anyone or team can borrow from Kanban. An overarching visualization of the work is our need. For a team of teams, that visualization to optimize the whole needs to encompass the effort of the team of teams. While the individual teams may focus on the flow of user stories, the team of team should be visualizing the flow of the large outcomes that the team of teams is striving to delivery. With that visualization the team of teams can work together to eliminate waste that, from their team point of view, might not be visible, or might not have been within their ability to influence improvement experiments that required the support of the team of teams. Improve continuouslyEveryone familiar with Scrum understands the value of periodic retrospectives. These retrospectives allow for the self-organization of the team to streamline their processes. This same approach should be considered for a team of teams. Periodically, perhaps once a quarter, the team of teams should collective gather to consider experiments that will streamline the more overarching issues they all face. Experiment to learnConsider the ‘implementation’ of all improvement ideas as experiments. Just as we can no longer provide concrete implementation plans for the complex technical solutions delivered today, we can not develop a concrete process/behavior/culture improvement plan for today’s enterprises that are themselves complex adaptive systems. Also, we’ve learned that small changes are better than big changes. Choose to learn with small Minimal Viable Changes (MVC). Advance your learning by leveraging the learning of Lean Change. Measure what countsFor each experiment to learn determine the measures of success before starting the experiment. What is the goal of the change (experiment)? What questions need to be answered to know if the outcome of the experiment is likely to realize that outcome? What measurements can be used to obtain the information needed to answer those questions? Don’t waste time and money on vanity metrics. Prefer long-lived stable teamsWhere is the value once you optimize flow when you throw out that value by disbanding your high-performing team of teams? By aligning your team of teams, your development value stream, with business capabilities that enable your operational value stream you have created an organization that can be long-lived because the business capabilities of an enterprise tend to be persistent for the life of the enterprise. The bottom lineWhen you find yourself coaching a larger number of teams for an enterprise with the vision to become more agile overall, I propose that you expand upon the principle of the Disciplined Agile Toolkit to Optimize Flow. The principle to Optimize flow applies at the larger scale of a team of teams. This article has hopefully helped you map the Optimize Flow principle to a larger number of teams, a team of teams, organized as a development value stream when you consider the transformation/adoption needed for a Disciplined Agile Enterprise. |
Thoughts on the State of Agile 2018 Survey from CollabNet VersionOne
Categories:
agile,
News and events,
Scaling,
Scrum,
Articles and publications,
Surveys,
Continuous Improvement,
Choose your WoW,
SAFe
Categories: agile, News and events, Scaling, Scrum, Articles and publications, Surveys, Continuous Improvement, Choose your WoW, SAFe
|
We would recommend that you do not aspire to “be Spotify”, but rather “be like Spotify”. Start with a basic method/lifecycle (recipe), then spice it up with the help of proven strategies from the DA Toolkit (ingredients). Become your own Spotify or Menlo, not somebody else’s. Thoughts? |
Why Companies are Choosing DAD over SAFe
Categories:
agile,
Lifecycle,
DAD supporters,
Scaling,
Scrum,
Hybrid,
Kanban,
lean,
Articles and publications,
Governance
Categories: agile, Lifecycle, DAD supporters, Scaling, Scrum, Hybrid, Kanban, lean, Articles and publications, Governance
|
SAFe provides a largely prescriptive approach to decomposing large initiatives into smaller streams of work which can be implemented by a number of teams in parallel with periodic integrations of their work and delivery to stakeholders. SAFe does fill a need as our industry had been lacking such a pattern for scaling these large initiatives. In our opinion, it is suitable for situations for large agile teams (say 100+) and are working on a cohesive product ideally based upon a shared architecture. The teams should also be very competent and can be depended on to reliably deliver functionality on a common cadence with the other teams in their release train. SAFe is definitely not a good fit for teams new to agile. In the last few weeks I reached out to a couple of our customers at very large organizations to find out in their words why they selected DAD over SAFe. In the first company, although they had been doing some agile in pockets over the last eight or so years, they were lacking consistency in their approach and struggling to achieve the promised benefits of agile. They initially chose to rollout SAFe. However, after training 120+ practitioners they stopped the training and chose to pivot to DAD. They realized that SAFe was a poor fit for their organization for the following reasons:
In the second example, we spoke with a Fortune 100 company that is farther along in their agile journey with many highly advanced agile teams. Their agile community of practice has over 1,700 members and they use many flavours of agile and lean. They made a choice to go with DAD across the company rather than SAFe. They do use SAFe in one area of business that has a large yet highly cohesive development team working on a common product. But beyond this line of business they have a vast array of projects, technologies, and skill sets. They chose DAD for the following reasons:
We of course understand DAD’s value proposition but it is particularly useful to hear it from real customers. While we are pleased that SAFe has given us a pattern for scaling agile initiatives albeit in a largely rigid and prescriptive fashion, we encourage you to consider the following points before rolling it out aggressively across your organization:
In a nutshell, our recommendation is to adopt DAD to support the diversity of people, processes, and technologies found in any large organization. Then apply the SAFe scaling pattern if and when it makes sense. Not the other way around. In an upcoming article we will be describing how you could apply DAD to help you be more successful in your SAFe implementations. |
Reduce Agile Project Risk with Light-Weight Milestones
|
Why does DAD have milestones?Governance is largely absent from mainstream agile methods and many believe that agile does not need milestones. Scrum orders its backlog with highest value work at the top of the stack. At the end of each sprint (iteration) a decision is intended to be made whether or not the next sprint of work in the backlog provides sufficient value to fund another sprint. If not, the project stops. While in principle this strategy makes sense, as a replacement for governance it is flawed for several reasons:
Why do we need agile governance?Contrary to what many believe, the need for governance does not disappear for agile initiatives. Sponsors and other stakeholders deserve and indeed demand periodic updates on the status of their investments. They want answers to questions like:
Claims that agile is “different” and does not need to provide these answers is one of the reasons that agile is sometimes seen as being undisciplined. In fact these claims are often used by some as an excuse why agile won’t work for them. Fortunately, since DAD has built in mechanisms to facilitate answering these questions many organizations are extending their agile implementations to incorporate DAD’s guidance. Indeed DAD is very appealing to those looking for a way to govern projects while still remaining agile. Milestone Reviews Should Be Kept InformalConsistent with the strategy recommended in the DAD goal Govern Delivery Team, milestone reviews should be done in a light manner. They typically coincide with the end of iterations or phases when when using the Agile/Basic lifecycle. If you are unsure why DAD has phases you might find the blog posting on the rationale interesting. Milestone Dates Should Be CommunicatedIt is a good practice to provide a calendar to stakeholders with milestone dates for each DAD project so that they can plan to attend iteration reviews that coincide with milestone reviews that they are interested in. While milestone dates may change, it is very useful to have target milestones across a portfolio of projects visible as a roadmap to all stakeholders. The DAD MilestonesStakeholder Vision. The goal of the Inception phase is to spend a short yet sufficient amount of time, typically one to four weeks in order gain stakeholder agreement that the initiative makes sense and to therefore continue into the Construction phase. By addressing each of the DAD Inception goals the delivery team will capture traditional project information related to initial scope, technology, schedule, budget, risks, and other information albeit in as lightweight a fashion as possible. This information is consolidated and presented to stakeholders as a Vision statement as described by the Develop Common Vision goal. The format of the vision and formality of review with vary according to your situation. A typical practice is to review a short set of slides with key stakeholders at the end of the Inception phase to ensure that everyone is on the same page with regard to the project intent and delivery approach. Proven Architecture. Early risk mitigation on a project is a part of any good project management discipline. As the Prove Architecture Early process goal indicates, there are several strategies you may choose to adopt to do so. The most effective of which is to build an end-to-end skeleton of working code that implements technically risky business requirements. A key responsibility of DAD’s Architecture Owner role is to identify risks in the Inception phase. It is expected that these risks will have been reduced or eliminated by implementing related functionality somewhere between one and three iterations into the Construction phase. As a result of applying this approach early iteration reviews/demos often show the ability of the solution to support non-functional requirements in addition to, or instead of functional requirements. For this reason it is important that architecture related stakeholders are given the opportunity to participate in these milestone reviews. Continued Viability. An optional milestone to include in your release schedule is related to project viability. At certain times during the project stakeholders may request a checkpoint to ensure that the project is progressing consistent with the vision agreed to at the end of Inception. Scheduling these milestones ensures that stakeholders are aware of key dates wherein they should get together with the team to assess the project status and agree to changes if necessary. These changes could include anything such as funding levels, team makeup, scope, risk assessment, or even potentially cancelling the project. There could be several of these milestones. If the stakeholders agree to changes the Vision may be updated at this time. Scrum implicitly has this milestone at the end of each sprint. DAD makes this an explicit choice and makes it’s frequency optional. Sufficient Functionality. While it is worthwhile pursuing a goal of a consumable solution (what Scrum calls a potentially shippable increment) at the end of each iteration, it is more common to require a number of iterations of Construction before the team has implemented enough functionality to deploy. While this is sometimes referred to as a minimally viable product (MVP) this not technically accurate as classically an MVP is meant to test the viability of a product rather than an indication of minimal deployable functionality. The more accurate term to compare to this milestone would be “minimum feature set”. Regardless, many use the acronym to mean the latter. DAD’s sufficient functionality milestone is reached at the end of the Construction phase when a sufficient functionality is available plus the cost of transitioning the release to stakeholders is justified. As an example, while an increment of a consumable solution may be available every two week iteration, it may take two weeks to actually deploy it in a high compliance environment so the cost of transitioning the functionality may not be justified until a greater amount of functionality is completed. Production Ready. For non-trivial situations a formal Transition phase is often required to do final preparations as part of delivery of the solution to stakeholders. Once sufficient functionality has been developed and tested, transition related activities such as data conversions, final acceptance testing, production and support related documentation normally need to be completed. Ideally much of the work has been done continuously during the Construction phase as part of completing each increment of functionality. At some point a decision needs to be made that the solution is ready for production. Of course, if you’re following the continuous delivery lifecycle then the “Transition phase” has evolved into a “Transition activity” – regardless, someone still needs to ensure that the solution is consumable before you deploy the solution. Delighted Stakeholders. Governance bodies and other stakeholders obviously like to know when the initiative is officially over so that they can begin another release or direct funds elsewhere. The initiative doesn’t end the day after deploying a solution to stakeholders. There are often project closeout activities such as training, deployment tuning, support handoffs, post implementation reviews, or even warranty periods before the project is considered completed. Lean has a term “delighted customers” which suggests that “satisfied” customers is setting the bar too low. While DAD agrees, there are more stakeholders than just customers such as production support that we need to delight before we consider the project complete, thus the milestone name “delighted stakeholders”. Give Milestones a TryAgile promotes transparency and accountability to our stakeholders. Take this to the next level by sharing and celebrating achievement of key milestones on your projects. |
There is more to Agile Transformations than Implementing Scrum
Categories:
Metrics,
agile,
Adoption,
Enterprise Awareness,
Context,
Scaling,
Scrum,
Kanban,
lean,
Governance
Categories: Metrics, agile, Adoption, Enterprise Awareness, Context, Scaling, Scrum, Kanban, lean, Governance
|
For enterprise agile adoptions starting a few agile teams is the easy part and is just the beginning of your agile transformation. Proving the benefits and sustaining the change is significantly more challenging. For illustration purposes, let’s assume that over a six month period we have conducted a series of Disciplined Agile workshops and kickstarted twelve teams. The teams have separate product owners with their own work item lists. Some of the teams use the DAD basic Scrum-based lifecycle while others use the DAD Lean lifecycle. The Scrum teams adapt their lifecycle for their context with the simpler projects having a one week Inception phase while the more complex projects use a two week Inception. For the Construction phase novice Scrum teams use two week iterations while the more advanced teams chose one week iterations. The teams vary in size from four to twelve team members. By rolling out the teams in an incremental fashion, with some coaching the teams have learned the key DAD practices for being effective on both the Scrum and Lean teams. Word is spreading that the teams are impressing stakeholders with regular demonstrations of new functionality. However, after the honeymoon period is over, people start to ask some interesting questions such as:
These are all fair questions. For your agile adoption to be effective and sustainable you need a strategy to address all of these issues. The Disciplined Agile Manifesto adds a principle to the Agile Manifesto regarding the need to adapt your organizational ecosystem to be effective for enterprise agile adoptions: The organizational ecosystem must evolve to reflect and enhance the efforts of agile teams, yet be sufficiently flexible to still support non-agile or hybrid teamsThe need for good governance doesn’t go away with agile. Your stakeholders deserve the right to gauge the health of their investments in your agile initiatives just like any other project. There are indeed answers and various strategies for all of the above questions which will vary depending on the context of your situation. Like it or not, the reality is that effective and sustainable agile transformations can take several years in order to achieve the level of capability and maturity that you expect. A transformation is a journey, not a destination. Make sure that your agile coaches have answers to the questions above and know what to do after your Scrum honeymoon period is over. We will outline some DAD strategies for the questions above in future posts. For a more detailed discussion of how DAD extends Scrum, please read the whitepaper Going Beyond Scrum. |







DAD incorporates a number of milestones into its lifecycles to gauge the progress and health of your DAD projects/releases..png)
With some basic agile training and help from an agile coach it can be relatively straightforward to enable several teams to be able to produce increments of consumable software every two weeks. Unfortunately many organizations stop there, believing that they are “now agile”.