Throughput Is Not Just an Automation Problem
Delivering valuable and high-quality products and changes defines the success of IT. This can only be realized by the effectiveness and efficiency of the entire product delivery pipeline. Organizations often turn to automation to increase throughput. However, lack of attention and upkeep on the entire delivery pipeline has led many organizations to see poor product quality and slow delivery to stakeholders. Organizations want to improve their throughput but are struggling to identify the appropriate solutions to address it.
What is throughput?
Throughput is the delivery of valuable and quality products through the software development lifecycle (SDLC) over a given period. Since there is no objective standard for measuring throughput across different delivery methodologies (e.g. Agile and Waterfall) and from one project to the next, your throughput assessment should account for the delivery capabilities required to successfully deliver each feature and change. This will give you the necessary data to analyze throughput over time and across projects and products.
What are delivery teams experiencing?
- Delivery teams struggle to keep pace with ever-increasing stakeholder demands. Stakeholders are faced with satisfying ever-increasing demands for instant user gratification. This pressure flows downstream, enlarging delivery backlogs. The inability to shrink the existing backlog worsens as complexities and complications drive up already unrealistic estimates and commitments. Meanwhile, resources and timelines do not change.
- The inability to deliver timely and valuable features creates a negative perception of IT. Consistently delivering low-quality products will erode credibility and confidence in your delivery teams; thereby eroding stakeholder confidence in the delivery process and motivating the business to adopt a command-and-control operating model. Regaining this trust will be increasingly difficult, even if the next set of products are successfully delivered. However, the success of today’s deliverables does not sit entirely on the shoulders of delivery teams because various roles and processes contribute to success (e.g. service desk).
- Your organization can lose its competitive edge if throughput issues are left unaddressed. Stakeholders must recognize that the importance of good development and maintenance practices is just as important as a product’s marketing and sales, but this isn’t always the case. “Despite the mission-critical nature of software, it gets surprisingly little attention in the C-Suite. Most often, it is relegated to functional managers, several levels down the organization, who manage teams of [developers]” (McKinsey and Company, 2014).
In a 2013 McKinsey & Company survey, top-performing companies had 80% fewer residual design defects in released software and 70% shorter time to market for new software and features (McKinsey & Company, 2014). These notable differences underscore the tremendous potential to speed up the delivery of software with lower rework costs and with better quality; thereby presenting opportunities to differentiate oneself from competitors. It is important for business leaders to understand the negative effects of poor delivery practices, including employee productivity, revenue growth, and even brand status. - Poor throughput is often a symptom of bigger or very different problems. Each step and role in the delivery process can indirectly impact the efficiency of others, which can mistakenly brand the delivery team as unproductive. The reasons why high-quality products cannot be delivered on time can involve multiple small factors (e.g. a key resource being sick for a day) or a single large factor (e.g. unclear statement of business requirements). However, metrics used to evaluate throughput mask these factors.
Why is optimizing throughput a challenge?
Manual tasks and rework are commonly blamed for poor throughput. However, the actual culprit may be something unrelated, buried beneath assumptions and biases, or rooted in misunderstandings:
- Unclear requirements frequently drive down throughput. The cost of poor requirements is not trivial: project overruns, insufficient delivery of business value, and damage to development’s reputation. Few organizations make the necessary effort to ensure delivery teams are clear on what they need to build, when it needs to be done, and how much value it has to the business.
- Improving code quality does not guarantee higher throughput. Delivery teams often invest effort and time to ensure their code is maintainable, changeable, and scalable for future updates and reuse. Minimizing developer ramp up time during maintenance cycles, expediting development time for similar work, and reducing future rework are just a few potential payoffs. Benefits from this practice are not guaranteed because it is assumed that the value of the optimized application and its components remain high, which isn’t always the case.
- High compensation and rewards are not the only personal motivators. Tech startups, incumbents, and Fortune 100 companies are all competing against one another for the same group of development talent. What the Fortune 100 companies cannot offer in culture or location, they can make up for in pay (Vivek Ravisankar, 2015). This forces small organizations to be creative when competing on salary becomes a challenge. Successful leaders realize salary is not the only factor that will attract and retain talent or drive productivity. Organizational culture, clear and transparent business vision, career advancement opportunities, empowerment, and project interests are just a few of the motivators candidate look for in the workplace (assuming reasonable salary is provided).
- Outsourcing provides additional throughput where needed, but it comes with risks. Outsourcing generally offers organizations lower implementation costs than acquiring new talent or retraining internal teams. However, control and quality are common tradeoffs for these benefits. Without a solid understanding of the outsourcer’s delivery methodologies and a plan to handle and manage quality assurance and corporate assets, significant rework may be required before go-live, which will lead to project delays.
Outsourcing can amplify existing issues in your delivery process (whether you know about them or not). Are your requirements clearly defined and documented? How is your project progress reported and tracked? How are your systems documentation produced? Do your existing policies and procedures facilitate the use of outsourcers? By not addressing existing delivery problems, outsourced deliverables can be built on wrong or misinterpreted business and system requirements, may not be sufficiently scaled or maintained, and can require additional effort to ensure the solution is stable on enterprise systems.
How can throughput be optimized?
Throughput optimization is multifaceted. Improvements will involve the consideration, accommodation, and involvement of good people, process, technology, and management practices across all IT functions and business stakeholders:
- Delivery Process – The methodology, thinking, and practices you use to deliver and maintain products and changes.
- Delivery Tactics – The key steps, activities, and technologies used to complete delivery artifacts.
- Team Management – The motivators, empowerment, competencies, and capabilities of delivery teams.
- Delivery Management – The oversight, resourcing, and monitoring of delivery work and products.
Figure: Info-Tech’s Delivery Throughput Framework
Our Take
Team motivation should be multidimensional. While compensation is important, autonomy, project interests, and business vision can all factor into motivating teams to do better.
Creative, flexible, and empowering environments have more positive impact on productivity than long hours. Teams will begin to burn out after continuous periods of long hours, which poses risk to quality and task completion rate.
Use a realistic allocation of resources from the beginning of delivery work. Staffing up at the last minute will not speed your project up.
Use good practices intelligently and be cognizant of situational needs. Discipline, continuous improvement, and adaptation are key to higher throughput.
Want to Know More?
How to Measure Throughput and Win the Business’ Trust – Adopt the right measures to gauge your team’s throughput.
Lay the Strategic Foundations of Your Applications Teams – Craft a strategy for your applications teams that balances stakeholder and team priorities and values.
Modernize Your SDLC – Build an effective software development lifecycle centered on value delivery and quality assurance.