10/09/2017
Have you ever thought, “Technology changes too fast to keep up with today?”
On a recent project, the decision to use Sencha/ExtJS — a Javascript framework– is already outdated for the company’s needs. Moving this huge application to React or similar will cost millions of dollars over the next 5 years. This even led to a memo from the CEO asking why it was so difficult to change to a technology that was easier to hire for, support and use.
It isn’t just IT or engineering projects that have this problem. Companies have to address changing technologies as well. Just ask these guys:
Fortunately, there is a way to prepare for changing technologies and even game your competitors with it if you are shrewd– by creating a Movement Plan
Movement is one of five factors I consider critical to technology strategy and design. It refers to the changing of technology, its place in the business cycle, and its use and adoption.
Movement is poorly understood and rarely accounted for in technical strategy so it is a great way to get an edge on competitors. When properly implemented, a movement plan provides both a competitive advantage for the product and allows technical people to focus more deeply on both technical and business problems.
Movement comprises commoditization, convergence, and technology adoption. This article covers commoditization.
movement part one: commoditization
Commoditization is the process by which technologies that are at first innovations– scarce, expensive and distinguishable — become commodities– ubiquitous, inexpensive, homogeneous, and interchangeable. This happens to almost all business activities in countries with a free market system. The commoditization curve depicts the path that these activities follow from inception to commodity.
New and cutting edge technologies fall on the bottom half of this graph. This is where companies can find a competitive advantage. Components in the upper half of this graph can often be purchased more cheaply than they can be built.
Consider these questions:
“Should we be building a large Hadoop cluster today or just buying a managed service such as Snowflake?”
“Why are we building a CRM system from scratch in Java when we can just extend Salesforce for a fraction of the cost and effort?”
These are movement questions. The strategic value of any particular project or product is directly related to the set of inputs or components that are used to deliver that product or service– the value chain.
Sencha (extjs) and competing JavaScript frameworks were in the bottom half of this graph in 2012. They were new, distinguishable and fairly expensive to implement. The decision to pick one over the other appeared to be an engineering decision– ‘what is best for the team now based on what we need and our skill set?’
Over time, however, these components move. This changes a number of things. The strategic value of the project and the cost for competitors to copy the software are both reduced. Competition tends to increase. Also, other options become available as unrelated value chains emerge to solve similar problems (see convergence). This can become a sunk cost where early heavy expenditures can, instead of being a deterrent for competitors, actually hamstring future development and become a competitive disadvantage.
The complexity and cost of the project tend to decrease exponentially as value chains commoditize. A common mistake I saw in vetting startup pitches for a few years was with founders attempting to build projects with new technologies too early. Adopting too early is extremely expensive. (see 99% of Blockchain Startups are BS) The competitors who time entry just right face surmountable costs while engaging in a market where customers can be won.
So how do you create a Movement Plan?
For expert level analysis, please see my white paper 5 Practical Tools for the Rise of the Machines.
In the meantime, start by doing a quick assessment of: 1) competitors, 2) internal capabilities, 3) purpose/strategy of the project.
Next, list all of the technological components of the project and each component’s value chain. Place these into two buckets– strategic and non-strategic. What will happen as these components commoditize? Will new technologies emerge? How can you game the competition with movement?
Be sure to use good OO and enterprise design principles especially as it relates to strategic components of the design (lower part of commoditization curve). This is critical. Things must be properly decoupled in order to be replaceable. If you are not willing or able to do this, don’t bother with a Movement Plan.