While coaching various customers across different locations, I've noticed an increasing trend: Some, if not all, customers focus on their tool stack. Many are busy filling their armory with new-age tools. They spend a considerable amount of their precious IT budget on acquiring tools (some of which have significant licensing costs), and more money on tool training so that their associates are trained in tools for continuous integration, continuous testing, deployment automation, and continuous planning. (XebiaLabs has even put together a "periodic table" of DevOps tools
, making an amusing point about the bewildering variety available.)
The big question is whether this is "wrong," or worth the up-front investment. Tools and the tool stack can be marvelous assets to any company for boosting their business goals qualitatively and quantitatively. However, often a company lacks the cultural mindset for the transformation that we call the "ability to deliver value to customers in a timebox," which is in essence Agile and the basis of any Agile squad. The crux of it is Agile squads that deliver effective user stories of potentially usable value to customers, which can be continuously tested, and thus potentially ready for continuous delivery and final deployment. Many Agile squads have a marvelous DevOps tool stack and reasonable expertise in handling the stories; however, they lack the acumen for "delivering value to potential customers in a timebox," which is possibly the reason that the Agile squad exists in the first place.
There are a few strategies that Agile squads can adopt to deliver value to potential customers in a timebox, across technology flavors:
- Transaction system → Online transaction processing systems
- Analytical system
- In essence, user stories should not be technology specific but rather must cut through technology. Why?
This is all important so that the team can deliver potential value to the customer within a timebox.
- User stories derive customer value rather than just intermediate technical value.
- They reduce handoffs among teams, thus increasing productivity.
- They help teams transform eventually into T-shaped or cross-functional teams.
- Associates have the ability to work in their core areas of expertise.
- Associates have the additional ability to work outside their areas of expertise. Example: A front-end developer has holistic knowledge of back-end development while being an expert in front-end systems.
- They increase the team's intrinsic level of motivation.
Thus, once an Agile team is able to deliver value within a timebox in the above fashion, what they are technically delivering are user stories that can potentially build a larger solution. These user stories can now be continuously integrated and continually tested, resulting in continuous delivery and deployment that effectively leverages the tool stack in which the company has invested and for which associates have been trained.
The flip side, however, is that these user stories are synchronous and coupled until the final product is built. Although this is good, it leaves an organization to look at building these user stories as microservices, which can be independent and decoupled as well as asynchronous.
The path looks simple. It is all about:
In reality, it is difficult to put this into practice. The destination can be lucrative for any organization that wants to support its vision of "speeding to customer value while leveraging stable systems."
- Getting better at Agile basics in simple terms, such as the team's ability to deliver value in a timebox in their current stack, then sustain this effort
- Using DevOps concepts and tools to continuously integrate, continually test, and thus continuously deliver and deploy the potential value created, then sustain this effort
- Adding business value. Look into microservices, which can be independent, decoupled, and also asynchronous
The journey to this destination can be marvelous, with interim payoff in dividends to the business, provided it's handled with persistence and not fast-forwarded without due diligence.