Keeping up with technological change

"A change would do you good"
Sheryl Crow

At Code, we like to keep up to date with new technology and methodologies to ensure our skillsets remain relevant and adaptable and that we can continue to deliver products of the highest possible technical quality in this ever-changing industry. But as the wealth of new technology available grows exponentially each week, the task of keeping up with it all can be both overwhelming and time consuming...

The fact is that, these days, it's impossible to attempt to fully understand the ins and outs of all new technology, but having an appreciation of their key merits, the problems they address and when they can be employed goes a long way. So in order to get a handle on the products we should be focussing on, we call on a few key resources which help us decide what technologies are most worth investing time in (and which we should merely be aware of).

Technology Radar

One of the main resources we call on is Technology Radar from the wonderful minds at ThoughtWorks. The latest edition was published back in May and gave an overview of new technology and software practices with insights from industry big-hitters such as Rebecca Parsons and Martin Fowler.

Radar is split into four sections -- 'adopt', 'trial', 'access' and 'hold'. These act as advisory categories on how to approach new products and offer a platform for reassessing existing technology that you may have already adopted. We like to use Technology Radar as a launchpad for further research and investigation; although by no means a complete list, it does act as an excellent assessment glossary for the coming months.

So far this year we has successfully assessed and implemented the following items from the Technology Radar: Octopus deploy, a convention based, automated deployment tool that has revolutionised how we deploy our .NET projects; ElasticSearch, a distributed search solution that allows for near real-time queries over large datasets; and Jasmine, a behaviour-driven framework that has allowed us to proliferate our JavaScript test suites.

We also hold high hopes for the various NoSQL database solutions and MV* Frameworks, especially as we move toward creating cross device solutions that offer the 'app-like' feel users now expect from the likes of Google, Facebook and native mobile applications. Node.js has also given us some excellent results for small scale projects, and we are especially impressed with the Grunt JavaScript task runner, which has boosted efficiency in our front-end builds.

Out in the real world

In addition to the information and technology reconnaissance we're able to obtain from the wealth of online developer resources, we also like to get out in the real world to find out the latest. Conferences and networking events are greats place to rub technological shoulders, and quite often you find the actual content ends up playing second fiddle to the information you glean from simply mingling and shop-talking with peers. We recently visited the excellent Reasons To Be Creative event in Brighton where we did just that -- watch this space for a full review in the coming weeks.

We also encourage peer group meetings across disciplines that offer a forum space for developers and designers. The aim is to encourage cross company sharing, provoke discussions around issues and new technologies, and devise solutions to some key industry challenges, specifically around the mobile web.

Change is good

When assessing a new piece of technology, we first need to ask two fundamental questions: how is this different from what we have now and, more importantly, how is it better?

It takes a lot effort to introduce new technology across a company and we need to make sure any time and energy expended is worthwhile. If a piece of technology stands out in regard to these initial questions then we will carry out further investigation, looking at the product history, who currently uses it and if there are any reasons why we might not want to adopt it.

Sometimes we also need to pose the question 'Do we need to change?'; even if current products and workflows are all performing well, we have to consider the existence of an inevitable shelf life when answering this question.

Adopting new technologies involves a significant investment, but by taking the time to carefully consider their value, we ensure that this investment always gleans a meaningful reward, helping us create even better products as well as improving our efficiency when it comes to building them.

Reasons to be Creative conference: a designer's perspective