This is the first installment in our series on how to conquer the choice of JavaScript frameworks and modernize your UI.
How did it become so difficult to stay modern with your web presence? The market has exploded with new development frameworks, tools, and even programming languages; most of them are open source. Unfortunately for us technologists, having too many options has much higher stakes than choosing a breakfast cereal at your local grocery store. Gone are the days where nobody got fired for buying Cisco routers. In this new era of web development, leaders face a dilemma: choose among new frameworks (each with unique hazards, not to mention costs), attempt to refresh the user experience on your current tech stack (which may be limiting, to say the least), or suffer from analysis paralysis and get left in the dust. How do we navigate this minefield?
Software veterans may be quick to point out that technology adoption decisions are not a new phenomenon. Sometimes the decisions are harder than other times, but you make the best decision you can, live with it, and learn from it. What is unique about the past decade or so is that the number of viable options for any decision has increased exponentially, and the speed at which these options change is accelerating. In the web tier, numerous JavaScript frameworks and toolkits have sprouted up in the past 10 years. Some of these frameworks wither and die quickly, others are fast growers only to die unexpectedly, and some are resilient and live long and fruitful lives.
The Gartner Hype Cycle is a useful way to understand the “expectations trajectory” of technologies as they emerge and mature. Before any discussion of specific technologies, leaders should ask themselves: when it comes to web frameworks, where do I want to be on this adoption curve, and why? We should also note that a hidden feature of the Gartner Hype Cycle is that a given technology could crash at any time, though the probability of a hard crash diminishes as the technology matures and gains adoption.
A lesson learned in the 2010s is that new technologies can accelerate through this cycle faster than ever before, with open source tools and frameworks tending to move faster than commercial products. The faster they move, the more uncertain the sustained availability of experienced engineering talent. To put it another way, these frameworks are compelling and exciting (everyone loves new and shiny things), yet they are immature and therefore risky. Compare this dynamic to the 10-20 year planning that supported an ERP or CRM purchase decision in the 1990s and 2000s.
To accommodate this change of pace, organizations need to compress their decision-making process without compromising the depth and thoroughness of their evaluation. Looking at the early 2010s in hindsight, many organizations made hasty decisions getting on board with single-page JavaScript frameworks. Some organizations chose Backbone or Dojo and struggled from the very beginning. They had tough learning curves for current staff, and it was difficult to find experienced talent in the market. Some overcame those struggles and managed to deliver decent software, yet the frameworks never really caught on and were difficult to support. Now these organizations, lacking the bandwidth and/or skillset to rebuild, are saddled with an investment they no longer want.
Meanwhile, organizations that adopted jQuery in the early 2010s tended to be satisfied with their choices, and sure enough, to this day jQuery has higher usage statistics than any other web framework/toolkit. While some of those adopters might have simply gotten lucky, those that did their research found jQuery had the stability, maturity, and adoption characteristics of a toolkit with staying power.
Around this same timeframe, Angular JS was gaining traction and already reached significant market penetration by the mid-2010s. UI developers embraced the elegance of two-way data binding1 and the move away from fussy DOM manipulation, making for a code base that was easier to understand and test. Google’s staunch backing of Angular JS was comforting to risk-averse organizations, and many jumped on the bandwagon, choosing Angular JS for their new initiatives as well as for rewrites of legacy UIs. (Notice how in this context, “legacy” could be less than 5 years old.) The Angular team dealt a double-blow to these adopters, first announcing that Angular 2 would be a complete rewrite with no backward compatibility, then later deciding that it would only support TypeScript and not multiple languages as originally planned. The developer community eventually came around, but the IT leadership of many large organizations was frustrated or even furious.
Returning to the present day where Angular 2 is less than 3 years old, the Angular team is already in preview release for version 8. Organizations still on Angular JS already feel left in the dust. They recognize the imperative for continued investment in user experience, which in most cases means taking on new frameworks, yet nobody wants to pick “the next loser.” Where does an organization turn next?
In the second and third installments of this series, we will discuss some of the current popular JavaScript frameworks/toolkits and offer an approach for selecting and implementing them:
- Start with “why?” and thoroughly explore what problems a new web framework will solve–and won’t solve.
- Use planning techniques from the quality toolbox to relate initiatives to one another, clarify success measures, and avoid conflicts.
- Devise a structured process for evaluating and proving options.
- Develop a credible plan for hiring, training, and retaining the talent needed to build and support your software. Also, rely on the knowledge of your current staff to help guide decision-making.
We understand with the ever-expanding array of options, you might be discouraged from making a firm decision. If you’re still struggling with “option overload” let Rivers Agile help you navigate the decision making process. No matter how complex your needs might be, we can help you optimize the process to take decisive action to achieve sustainable results. Contact us today.