I was speaking to one of my friend from engineering college days, who is now a silicon valley entrepreneur, has created and sold three ventures in last 8 years. He was talking about a product idea that can disrupt a niche market space however he was hesitant about moving ahead as he was tentative of the assumptions that he was making regarding its potential. You see for a silicon valley entrepreneurs timing is very important (for that matter I believe it is indeed the case for everyone) and he can not afford to expose his idea to the market and then experiment with it to get the acceptance for the end users, what if his assumptions were invalid? So he was putting together an engineering team that can validate these assumptions. I like to refer to this RATs - the Riskiest Assumptions Tests, other ways to achieve this is the Lean Startup Cycle, MVPs, Epic Hypothesis, LeanUX etc.
Image courtesy: http://theleanstartup.com/principles
This is imperative as we have witnessed ample times in the past that an idea, no matter how good, is not everything.. it’s the execution, ecosystem and packaging that matters, iPhone was not the first touchscreen phone neither was Facebook first social networking website but they ended up capturing the market. We usually end the discussion at this point, we applaud and accept them as winners and probably make movies on their stories. But we remain oblivious to the fact that there was a certain mechanism in place to help them make the right decisions and continue doing that after they have reached at top else the exponential growth turns into linear and then declines (both iPhone and Facebook are in some phase of this cycle but that discussion for another time another blog). This mechanism that helps to make right, timely decisions is Technical Agility, it helps us decide and make trade-offs. (Please see my blogwhere I have correlated Snowden’s Cynefin framework with Technical Agility).
Let me also share this with you that while we discuss this, there are teams out there validating and building features for the business idea using Behavior Driven Development (BDD) and while some of you out there using it for Test Automation.
Given → When → Then
(System Behavior) → (Universe Behavior) → (Changes to Feature)
We build ”Spikes”, measure and learn by a process of elimination. This leads to prioritized, breadth-first, parallel, “set-based” designs where we can quickly make choices and shift paths as necessitated by the user response data.
While we focus on quality, speed building product right (verification), we also ensure that we are building the right product (validation). Technical Agility drives the intentional architecture and emergent set-based designs, innovation accounting, thinking test-first, reusable code based upon SOLID, YAGNI, DRY and design patterns, both internal and external build-in qualities attributes, automation needed for the continuous release of value and measurement. If we falter to support the business idea in terms of quality, speed or accuracy then the idea fails, if we are not in synch with the business and only focusing on engineering practice then also the idea fails. The market changes fast and the ideas need to adapt to that even after we have gone to the market, in fact it’s more likely that if we are proactive about it and keep catching the next “wave” then the exponential growth continues.
Technical Agility is the major enabler for the digital disruption that is taking place all around us. Today the cost of creating new products is much lower than it was one decade ago, anyone out there can create an App or Website, so it is all about innovation now. When we adopt technology, we find ways to do old things in new ways however with technical agility along with business agility, we find entirely new - disruptive - things to do.
Image courtesy: https://singularityhub.com/2016/11/22/the-6-ds-of-tech-disruption-a-guide-to-the-digital-economy/
I would like to leave you with a quote from Eric Ries the author of “The Lean Startup” book.
“I bet the people who are in the auto industry right now have more than 10,000 good ideas about what might work and what we need to do is not come up with more good ideas. We need to go and test as many of those good ideas as possible.” - Eric Ries