As software development has matured, we have found a lot of domain specialization. Examples are developers specializing in finance, e-commerce, insurance, and healthcare. And with the plug-and-play aspects of cloud computing, you might think that a combination of teams with domain expertise and cloud delivery teams is all you need. But that omits something important.
To deliver high-quality results efficiently, you must develop technical capability teams to handle the “boring” nuts and bolts integration layer. This team provides the utility software that other teams can use repeatedly to deliver the all-important business outcomes that matter to customers and clients.
The Importance of Technical Capabilities
Technical capabilities are often conflated with general business capabilities by product management leadership and, in turn, the CIOs, but they and their management are different. When customers use a product, what they see “out of the box” is the business capability—the reason for the product. This could be accessing a bank account, making a restaurant reservation, or meeting a doctor for a telehealth visit. These are differentiators—what makes the company unique. Their management rests with a traditional product manager.
Compare that to a technical capability, which forms part of the platform on which that business capability is built. Technical capabilities typically fall into the categories of development, delivery, or security. Additional platform services that can be used across an organization are good targets for a technical capability team. For example, marketing and accounting might not use the same data, but both require data analysis.
End users never see these capabilities separate from their business use, but delivering quality products in a predictable cadence requires dependable, tested components that can be plugged into any number of business use cases. This invisible capability accelerates the outcomes from the business side, which is what people see.
The scope of your technical capability development is limited only by your imagination and budget. No company would spend more investing in technical capabilities versus their business capabilities. Still, these teams should be part of every organization. You should consider forming such a team when multiple customers need the capability, and the capability is essential for the core business competency.
Roles on the Team
As mentioned, managing these teams requires more technical knowledge than a product manager, but a side benefit for product managers is that they can focus on being domain experts and rely more on the technical capability teams to handle the technical details—a real win-win.
As you plan your team, you need to develop four areas:
- Organization. This is the most critical component. All members should have only internal customers. Take care with naming the team so that its purpose is clear to stakeholders but also not too complex. Designate a product owner, and staff the team with proven, eager engineers.
- Success criteria. Define clear, objective, and visible measurements to ensure success is tracked and issues proactively addressed. Identify and prioritize customers (at first, pilot customers). Document the team’s scope and technical capabilities to prevent creeping requirements, which could dilute the team’s work, reducing value.
- Execution. Provide a clear, stable roadmap. As much as possible, define the features required for minimum product delivery, with a testing plan integrated into the development plan.
- Governance. Clearly map the stakeholders who have an interest in or influence your product’s development or consumption. Consider the teams that interact with the team (Delivery, Release, Engineering, Operations, and Product Management). Ensure that handoffs are smooth by clearly delineating where the Implementation team takes over from the Technical Capability team.
The following figure suggests a model of how the manager should consider each stakeholder’s input. Stakeholder satisfaction will determine your product’s success.
Having a checklist for a technical capability product delivery team can help you deliver success. The following table is a suggested list to get you started. Consider this mainly as a model instead of a strict list you must follow. Depending on your organization, you might want to tweak this model as required.
|1||Finalize the team charter.||Planning||Manager|
|2||Set up the high-level organizational structure with placeholders.||Organization||Manager|
|3||Send an organizational email to stakeholders.||Communication||Manager|
|4||Hold weekly brown bags focused on the charter and value adoption strategy. Don’t focus on execution strategy.||Communication||PM, PO, and manager|
|5||Establish the strategy and tactical relationships.||Strategy||PM, PO, manager|
|6||Hire for critical roles.||Organization||Manager|
|7||Identify pilot teams.||Strategy||PM, PO|
|8||Establish PO planning cadence and commitments.||Execution||PM, PO|
|9||Project the value model.||Execution||PO, manager|
|10||Establish the governance model.||Governance||PO, TL, manager|
Selling Technical Capability Capacity
Just because you deliver a technical capability doesn’t mean that it will be adopted beyond your pilot team or teams. It often takes three or four quarters and adoption by additional teams to demonstrate the promised return on investment (ROI), so sell it!
The one thing that works with all clients is data. Our value model shows the cost of building a capability and its projected value over time. Even seemingly small changes produce large savings. For example, if you have 100 developers who will use this capability and each save an hour a week (which is not an unreasonable assumption), the value is clear.
If you then talk about future developments and fixes, those changes ripple through all the product areas that implement the capability, strengthening the case. It’s not that unusual to see ROI increase by 10 times.
Manage the Change
Even though it makes sense on paper, overcoming “what we’ve always done” is an ever-present issue. Adoption requires change, which, even when positive, isn’t easy. Be sure you can support the capability of your pilot teams, and don’t be afraid to start small. Our successes have come from starting small and building. Make sure the people you pick up front are the people who believe in the technical capability team concept and are prepared to partner with you to work out the kinks.
Furthermore, they should be ready to go beyond their projects to help others in the organization. This “train the trainer” effort formalizes and institutionalizes this approach. That’s the best way to scale.
Although typically your end customers will never see these technical capabilities as they roll out through your products, your organization will be able to deliver higher quality products more efficiently to those customers. Your technical capability team will help the business capability teams deliver the differentiating features that matter, keeping your organization in a leadership position.
- Demystifying Conway’s Law | ThoughtWorks
- The 9 Types of Software Platforms | by Platform Hunt | Platform Hunt
- What I Talk About When I Talk About Platforms
- The platform play: How to operate like a tech company
- How Agile Led to the Creation of the Technical Product Owner
Ajay Chankramath is currently the head of delivery and cloud infrastructure practice in the Enterprise Modernization team at Thoughtworks NA. He leads a team architecting reusable capabilities and accelerators to build scalable, strong scaffolding for cloud infrastructure, generating value for clients using proven design patterns. He has more than three decades of experience architecting delivery ecosystems, leading globally dispersed teams involved in infrastructure tooling, and driving holistic organizational transformation for modern software development and delivery.