Thoughtworks Technology Radar

I’ve probably mentioned this before but the Thoughtworks technology radar is worth a look. You don’t have to agree with their conclusions. Radar just shows you what to be aware of, you don’t have to shoot. However points of note:

  • Nancy is now “the default choice on our .NET projects” (over ASP MVC?)
  • Comments on Ember.js are interesting, not only for the side-swipe on Angular:
    • “Widespread usage of AngularJS continues on ThoughtWorks projects, although not every experience is positive. We continue to advise teams to assess whether the additional complexity of a single-page JavaScript application is necessary to meet their requirements. We also recommend assessing alternative frameworks, and in this radar edition we highlight Ember.js which is growing in popularity within ThoughtWorks. Ember is praised for its approach of opinionated convention over configuration, responsive core team of committers, performance, and build tooling support via Ember CLI.”
  • Containerisation of course gets a big say, plenty of comments around Docker and the supporting ecosystem of tools, but here’s the skinny: it’s not about going to Docker, it’s about moving away from app servers:
    • “Easier automation, easier deployment and a reduction in the amount of infrastructure you have to manage lead us to recommend embedded servers over application servers for future projects.”
  • QA in production: where else? Actually this is more about the kind of DevOps monitoring and support done by programmers, rather than having a lot of manual “then run the cash check report” kind of process that dominates a lot of business operations jobs
  • Decoupling deployment from release: using feature switches and the excellently named “dark launches”. I’ve seen a lot of these things in use, but recognising them as a pattern can help. Deploying to production a few hours before you go live is not a recipe for deep and restful sleep the night before.
  • One of my favourites: Products over projects. The project has an end date when it is done, a product exists for the lifespan of its use.

There is an additional side article (called “Implications of tech stack complexity for executives“) which doesn’t really apply for people working in teams that are attached to a business unit. We are used to having a few multiskilled developers rather than technology-layer silos (is that a silo? Seems like a layer is sideways and a silo is vertical…) but this diagram sums up the article:

My 2 cents on that

  1. It really isn’t that bad is it? Surely no one except for your FANG companies are doing this. There are separate pieces on “web scale envy” and “microservices envy
    1. I can imagine a front end that has been clapped onto a whole company’s output, or a system that has proceeded by acquiring other companies. I cannot see how this would happen otherwise
  2. Where are your integration points to other applications? This still looks like one application
    1. This is definitely one route to end up with Oracle and SQL and … because each application you buy comes with another stack.
  3. Where are the users?!

Anyway, tech diversity is a fair comment. Personally I’m somewhat in favour of a bit of polyglotism. If you don’t start bringing in the new tech, you will be turning to stone and you won’t be able to attract the new talent. If you do introduce it and don’t understand it then you are going to be in a mess. If you try and introduce it into very small teams (either by technology layer, or by SDLC cycle) then you will have problems, the tech is just too diverse to be an expert at all of it.

We’ve often said that our unified MS only tech stack is a strength, this article says that is not the future.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s