Back to List

Accelerating Flow in the IT Value Stream

Bob Schommer Bob Schommer  |  
Jul 21, 2020
 
Every CIO grapples with how to rapidly turn customer needs or good business ideas into working software to meet the demands of a VUCA (volatile, uncertain, complex, and ambiguous) world. With traditional waterfall development methodologies, it frequently takes months (or even years) before software is ready to be turned over to customers – even after going through the typical stage-gates of analysis, design, development, and testing.
 
To improve on this, many organizations have adopted agile product development practices hoping to incrementally deliver value in smaller slices, but cultural resistance and lack of leadership participation continue to deter companies from achieving greater agility. Other organizations have turned to DevOps practices which stress accelerating the flow of work, shortening feedback loops, and increasing organizational knowledge through continual learning and experimentation.

However, too often companies apply DevOps patterns that focus only on automating and streamlining the flow of work within IT. Therefore, they miss even bigger opportunities that can be realized by taking a holistic look at the entire product development value stream to truly understand how value is delivered to customers.
 

Typical Challenges to Accelerating Flow

Companies face several challenges when they decide to transform their product development value streams to accelerate flow. Typical challenges they face include:
 
  • Viewing development work in terms of project development rather than product development.
  • Legacy applications with years of accumulated technical debt that impede agility.
  • IT keeping business users at arms-length rather than treating them as partners.
  • Business users who want to hand off work to IT rather than partner in the development of new features.
  • Cultural attitudes that view experimentation unfavorably (ex. - unsuccessful experiments seen as failure rather than new learning).
  • Customers and business users being conditioned to expect a “finished product” rather than smaller chunks of valuable features incrementally delivered quicker.
 

Product View is Critical

Overcoming these challenges (and others not listed) takes time, commitment, and a new way to look at how work is done. Having a product view is critical. It enables us to ask questions like:
 
  • Who are the customers for our product?
  • What will encourage them to purchase our product, or how does our product enable internal users to better serve our ultimate customers?
  • How much are we willing to invest to improve our product, and what returns will we realize from these investments?
  • How does our product improve people’s lives?
 
Understanding the answers to these (and other questions) enable us to look beyond our internal IT processes to the bigger question of how we deliver value to our ultimate customers. How quickly can we turn a good idea into working software? This requires building trust and partnerships within IT and with business partners up and down the entire value stream.  
 

Accelerating Flow Begins with Lean Practices

Accelerating the flow of our product development value streams begins with some common lean practices that have long been used in manufacturing, including:
 

Visualize the flow of work

Unlike manufacturing, knowledge work progresses unseen from one step in the value stream to the next. We have to make knowledge work visible through the use of physical or electronic tools like Kanban Boards or Sprint Boards. These help us see where work is flowing smoothly and process steps where work is queued or piling up.
 

Smaller batch sizes

Breaking work down into smaller slices of functionality accelerates flow through our value streams. Large batch sizes are like that big, slow-moving farm tractor traveling down a country road with cars backed up behind it. They become chokepoints in our value stream that result in high levels of work-in-progress.
 

Limiting WIP

Having too much work-in-progress causes multitasking and churn within your development teams. Disrupting knowledge workers is easy because their work is not visible like it is with manufacturing workers, but the impact is significant due to the inefficiencies that come with context switching. Excessive WIP in our value streams extends feedback loops, increases costs of problem resolution, and increases risk of building low-value product features. Establishing WIP limits on Kanban board columns encourages teams to focus on finishing work rather than starting more work.
 

Making Knowledge Work Visible with Azure DevOps

Kanban and sprint boards are valuable tools to accelerate flow in our value streams. While physical boards are low-tech and easiest to customize to portray the steps in our value steams, they pose a challenge in the current environment where many team members are remote.
 
Tools like Microsoft’s Azure DevOps enable teams to see the end-to-end flow of work starting with conceptual big ideas (epics) to smaller chunks of business value (features), ultimately leading to delivery of small pieces of functionality (user stories) to customers. Both Scrum and Kanban agile approaches are supported through templates designed for each. Key areas within Azure DevOps include:
 
  • Boards in Azure DevOps are versatile and can be used to develop roadmaps of epics and features in support of release planning. Sprint boards provide visibility to the work the development team is planning to deliver for a sprint. Retrospective boards encourage continuous learning and improvement by capturing actionable experiments that can be tested. These are powerful ways to visualize the end-to-end steps in our value streams so we can identify the chokepoints that are impeding flow.
  • Repositories leverage Git Hub to provide source code management for development teams.
  • Pipelines enable continuous integration and continuous deployment for our products. DevOps automation removes mundane deployment work from development teams so they can focus on building high-value features and accelerates the flow of our value stream.
  • Test Plans incorporate discipline into product quality assurance steps of our value stream. Automated tests improve quality and agility while manual tests are repeatable as new features are added to our product. Automated tests can be included in continuous integration and deployment pipelines to identify and resolve problems sooner.
 

Conclusion

IT professionals can learn much from our manufacturing counterparts who have been exploiting constraints and removing bottlenecks in their operations for decades. While knowledge work is not visible like physical manufacturing, tools like Azure DevOps can help us visualize our software development value streams. Doing so empowers us to exploit constraints and eliminate bottlenecks to rapidly turn good business ideas into working software.
 

 

Love our Blogs?

Sign up to get notified of new Skyline posts.

 


Related Content


Spring 2019 Kentico User Group
Apr 17, 2019
Location: Waukesha County Technical College - Pewaukee Campus - 800 Main Street, Pewaukee, Wisconsin 53072 - Building: Q, Room: Q361
Blog Article
How to Build a Custom Android ListAdapter
Michael FazioMichael Fazio  |  
Mar 30, 2021
Michael Fazio is a tech speaker and senior software developer at Skyline Technologies - a Core BTS Company. He’s been the Android lead for multiple billion-dollar companies and has seen the Android development process evolve from far too many Activities and a nigh unusable emulator to...
Blog Article
Why I Stopped Testing My Code (and You Should Too)
Todd TaylorTodd Taylor  |  
Feb 23, 2021
About the author: Todd M. Taylor is a Senior Software Engineer with a passion for producing quality software using Microsoft Azure technologies.   I confess that the title of this blog post is clickbait. I feel a little ashamed that I've stooped so low to get your attention.But as...
Blog Article
Developer Playbook for Getting Started with DevOps
Bob SchommerBob Schommer  |  
Jan 26, 2021
About the author: Bob Schommer is a Senior Consultant with over 10 years of agile experience who has trained over 300 professionals on agile and DevOps practices. He has coached and advised large and small organizations to optimize their software delivery chain. The buzzword to end all buzzwords...
Blog Article
Manager Playbook for Getting Started with DevOps
Bob SchommerBob Schommer  |  
Jan 12, 2021
About the author: Bob Schommer is a Senior Consultant with over 10 years of agile experience who has trained over 300 professionals on agile and DevOps practices. He has coached and advised large and small organizations to optimize their software delivery chain. Agile practices and DevOps...