Since the Scrum Master, we haven’t seen any new roles in software development. The trend of increasing number of frameworks and programming languages warrants a new role to keep on top of recents developments while keeping your team sane: the “Technology Radar Operator.”
The onslaught of new frameworks is staggering. In the last month alone, Elixer’s first book was released, AngularJS 2.x caused a stir and MeteorJS reached 1.0. Will you be using any of these frameworks in the next year? Should you? What if you start a new project, write a new micro-service or need to fix a performance or usability problem in your product? Will you use your trusted MySQL, CakePHP and JQuery? Or will one of those components need an upgrade?
In stead of expecting every developer to know every new tool, I suggest teams larger than 10 developers to institute a (part time) role of technology watcher analogus to the ThoughtWorks technology radar. You don’t just need a radar, you need someone to operate it! The rest of the team can focus on getting better at the tools they already use.
The Radar Operator will investigate new tools, new releases and new languages and when a problem or project arrises, he/she will be consulted to advice on tools, frameworks and languages to use.
The main benefits of having this role in your company/team:
- Keep up to date on new technologies and how they benefit your projects/company
- Prevent overload of information for your developers
- Have a repeatable process for selecting and adopting new technologies.
- Attract/promote developers to fill this role
So what tasks will the Radar Operator have?
- Know about the technological landscape your company or team(s) are in. Track usage and experience of the tools, e.g. who knows which framework
- Keep tabs on the wider language landscape, is it a Java shop? Then Clojure and Scala are on the radar. Is it a Ruby shop? Then Elixer might need investigation.
- Try out new versions of already used frameworks, find out which new features or bug fixes might impact the teams
- Rate the tools according to company priorities. If raw performance is key, then always rate the new languages/frameworks on performance.
- Educate and promote. New tools are not adopted easily, new languages and tools need to be presented and developers need to learn in hands-on sessions what it can do.
- Map the value of new technology, what are their main strengths, weaknesses.
- Guide adoption of new technologies, work with the teams adopting the new tools and spread those learnings.
What do you think? Is it time for this new role and would you want to take it up?