Thoughtworks Technology Radar March 2012
ThoughtWorks recently published the latest update to its Technology Radar; a report produced to help technology decision makers understand emerging trends in software development techniques, tools, languages and platforms. There are some interesting observations of interest to Agile software development teams.
The radar is broken into four quadrants (techniques, platforms, tools and languages) with rings to reflect the current position of each item:
- Adopt: We feel strongly that the industry should be adopting these items. We use them when appropriate on our projects.
- Trial: Worth pursuing. It is important to understand how to build up this capability. Enterprises should try this technology on a project that can handle the risk.
- Assess: Worth exploring with the goal of understanding how it will affect your enterprise.
- Hold: Proceed with caution.
In relation to techniques, emergent design and evolutionary architecture are reflected at the tip of the adopt level.
We have identified at least two facets of emergent design: the Lean software principle of last responsible moment, which mostly applies to greenfield projects, and finding & harvesting idiomatic patterns, which is more applicable to existing projects. We recommend adopting evolutionary architecture as an alternative to traditional up-front, heavy-weight enterprise architectural designs.
Not surprisingly, DevOps and continuous deployment are also reflected at at the adopt levels and appear to be driving techniques like Experience Design (XD) that has been introduced at the assess level:
Experience Design (XD) is an example of ways in which agility must evolve to accommodate real-world constraints. We are always interested in finding innovative ways to incorporate what have traditionally been up-front exercises into practices like continuous delivery. XD is a ripe field for study.
Other techniques at the assess and trial levels, driven by the focus on continuous delivery in the community, include single command deploy, production immune system, infrastructure automation of development workstations and Windows infrastructure automation (with a focus on tools like PowerShell, Puppet and Chef).
From a testing perspective, testing at the appropriate level has appeared directly at the adopt level in reaction to observations around the high level of browser-based testing in the community and, related to this, test recorders have also appeared on the radar at the hold level. User journeys have progressed on the radar to a high trial level:
User journeys... are groupings of user stories into sets of user interactions that provide value for both users and the business. Automating these into a suite leads to tests which hold their intent for longer periods of time and whose failure reveals a failure in the application’s ability to deliver concrete value to its users.
Iterative data warehousing has disappeared in this version of the radar, but has been replaced at the trial level by Agile analytics. Scrum certification has remained steady at the hold level.
In the tools quadrant, treating infrastructure as code and version control tools Git and Github have remained at the adopt level. Maven, a popular build tool in the Java space, has appeared on the radar at the hold level:
Maven has long been a staple of build automation in the Java space. However, given its lack of flexibility and support for automation best practices, especially in the Continuous Delivery domain, the use of alternatives such as Gradle should be considered.
One of the keys in the platform quadrant is communication between hardware and software teams which has appeared in this version of the radar at the adopt level:
One common yet expensive broken feedback loop we have observed is the lack of communication between those responsible for hardware and software. The end result creates cost but not worth. You must view architecture holistically; neither hardware nor software has a full enough perspective to be successful alone.
In the languages space, care about languages has appeared at the adopt level:
It is time to start assessing which other languages will help your organization while taking stock of the useful lifetime remaining for your current choices... Traditionally structured organizations with separate support teams may find skills constrain choice, DevOps offers a path forwards here.
A full version of the Technology Radar (including copies of earlier reports) is available from the ThoughtWorks website. Does your organisation or team create their own report (recommended as a technique to trial)? Are there any surprises or omissions on this latest version of the report?
delegate your strategic technology decisions!
There are no bad decisions, only poor risk management
No matter whether you take the call for the strategic technology decisions or you delegate them to a consultancy company, you can't blame a project failure solely on the technology decisions. Risk management FTW!
A number of our clients that we're aware of create their own radar for their own environments. The inputs into the TW radar are from a very large sample set working across a wide range of technologies in a wide range of industries. The radar is generally targeted towards large enterprises, but still isn't intended to be used as a single cohesive picture of technology for any organisation that falls into this category.
The radar contains what we have experience with and are happy recommending OR we have experience with and tend to recommend against OR what we are interested in and are tinkering with personally.
I work for ThoughtWorks