It is a simple truth: there is more information vying for our time today than ever before, and it will continue to increase every year. In fact, some estimates put the amount of media consumed in the US last year at around 15.5 hours per person per day, or about 96% of our waking hours. Of course, information overload is nothing new to any of us. We are all familiar with the ever-growing torrent of emails, videos, social media, and yes even blogs constantly warring for our attention. So how does this concept of information overload relate to the bleeding edge of web development? Let's consider how the web has changed in recent years.
As you can see in the timeline above, there has been a rapid increase in the rate at which new web technologies are introduced to our users. We can see a significant change in the trend of how new technologies are introduced; preferring to quickly implement specific features, over waiting for full specifications. This isn't just a matter of browsers competing on features either, it is a change in the core of our approach. For instance, CSS3 is defined as a series of "modules" instead of a single unified specification. Broadening our view, we can see that these changes aren’t just limited to web specifications. Ranging from CSS pre-processors to runtime environments built on JavaScript engines, more technologies are available to us now than ever before.
While these technologies provides us with many new options and capabilities, they come with a cost. New CSS modules, JavaScript frameworks, accessibility standards, etc... Staying up to date with this ever increasing sphere of technology is no mean feat, and because of this it is more difficult than ever to make informed decisions about the technologies we incorporate into our solutions. It is here we can start to see the effects of information overload on web development, and its effects on our current and future work.
So now that we have identified the problem, what can we do about it? Well there's good news, this problem isn't as daunting as it may seem at first blush. Over the years Kingland has spent thousands of hours distilling the Kingland platform, a series of tools and techniques ranging from data stewardship and interface design patterns to natural language processing and adaptive learning technologies. All of this helps our customers understand and overcome paralyzing technology decisions so that they can return their focus to business. As part of this work we have spent considerable time evaluating this problem, and have found that by taking a few proactive steps we can not only reduce the impact of information overload, we can leverage it.
Choosing Your Advocates
Part of being able to manage information overload is being able to effectively manage (potential rapid) change. While many of us in the technology industry would like to view ourselves somewhat immune to the dangers of change aversion, the unfortunate truth is that nobody is. Whether the aversion comes from a fear of change or the struggle of breaking habits, we are all affected by change aversion at some level. This is why it is important to choose great individuals who will act as your technology advocates.
These advocates, sometimes called project champions, play a vital role in effecting change in your engineering culture. Championing the value in changes, advocates are the ones that get others excited about new technology and help them learn. Because of this, advocates are invaluable to a team, and are often the deciding factor in whether or not change is successfully integrated. Advocates can also be one of our most effective tools for managing information overload. By empowering just two or three advocates to drive domains of technology, we can create teams which are better equipped to handle change than a team with a single, driving voice.
Identify Your Minimum Valuable Product
In many ways, the development world is about constraints. Every project we ever have or ever will work on has a series of requirements, both functional and non-functional, which form the basic scaffolding of our solution. This is where a minimum viable product (MVP) comes into play. An MVP is a simple conceptual model for a project, representing the bare minimum requirements which must be achieved for the project to be deemed a success. This can be a valuable tool at the early stages of a project, providing a new lens through which we can view our project. This can help us narrow down the number of technologies being considered, saving time and effort.
Planning for Technology Change
In this ever changing landscape, trying to keep a project up to date with the latest and greatest technologies is a bit like chasing the wind, you can never keep up. Instead, why not set the terms for how and when technology will be reviewed? By setting fixed times for reviewing technology you can be confident that you are not letting your project atrophy, while ensuring that you are not wasting unneeded cycles. Different types of technologies change at different rates, so make sure you understand when you need to review changes. Databases may not change very often, but there is a good chance that the JavaScript framework you chose yesterday is already out of date.
At Kingland we use a 2/4/8 review policy, reviewing and refreshing our presentation tier every two years, our logic tier every four years, and our persistence tier every eight years. We have found that this allows us to effectively adapt to the changing capabilities and expectations in solution development, while ensuring that our developers can maintain the quality and expertise that Kingland is known for. While this review policy works for us, there is no silver bullet for planning reviews. The important thing is that you set a rate that you know your team can keep up with, and make sure that you stick to your decisions between these review periods.
Do you use any techniques to help deal with information overload? Tell us below.