Apologies for the oxymoron!
We are living in an age when technology seems to be moving faster than ever. Even with this week’s long-awaited launch of the new Apple iWatch, do you ever get the feeling that you’ve seen it all before? This is not a new phenomenon, even in biblical times there was literally ‘nothing new under the sun’:
What has been will be again, what has been done will be done again; there is nothing new under the sun.
I also like to think that John Lennon was singing about the dearth of new ideas and new things to do:
‘There’s nothing you can do that can’t be done.
There’s nothing you can make that can’t be made.’
(Ed. he wasn’t!)
The simple idea of recycling and upcycling and the ‘Reduce, reuse, recycle’ mantra has come of age, it is now a boom industry, almost in the space of a generation there has been a huge social, political, and industrial-scale shift away from the cult of the new, the bespoke, the throw-away. Growing up in the 70’s and 80’s, besides the odd yoghurt pot and pop bottle, there was very little re-cycling, or even awareness of the cost and impact of the way that baby boomers were living. ‘Mend and make-do’ seemed like a shabby excuse for not embracing the ‘white heat of [scientific and technological] progress’.
Rant over!
The reasons for this shift are no doubt complex and possibly wrapped-up in global population growth, climate change, and scarcity of resources, maybe even the relatively peaceful and stable period since the World Wars? However, the world of software development has seen some different drivers in the last 20 years, such as:
- The growing cost of building and maintaining software systems, including the availability of key resources,
- IT moving from a differentiator and a bolt-on to normal operational systems, to being an integral part of the systems that enable an organisation to function,
- Faster rates of change, shorter product and service development cycles, and greater global competition in most markets that rely on technology,
- Multiple channels, multiple devices, market segments and personalization/customization. Wherever an organisation wants to sell something or engage their Customers as part of the supply chain.
Here are some examples of what is happening, in the name of speed and efficiency, but it is really about reducing (development effort), re-using (using stuff more than once for the same or different purposes), and re-cycling (ideas, documents, software etc.)
Open Source and Shareware
The Open Source community is huge and well organized. Some of the biggest players in the world of software and tech effectively offer what they lovingly craft for free! And it’s not just smartphone apps, but diverse applications like browsers (Mozilla/Firefox), languages and development tools (Red Hat/Linux, Bugzilla & Jira), desktop (LibreOffice), and of course everything to do with the web and the cloud (Apache, WordPress, OpenStack). Developers and cost-conscious organisations – in the charity sector for example – have known about this for years. Now everyone shares, borrows, collaborates and re-uses software. There are potential problems to be addressed, such as security, licensing, intellectual property rights and longer-term support – but these are topics for a separate post I think.
Re-factoring
This is an important part of the Agile approach to software development, inherited from Kent Beck’s eXtreme Programming. In a nutshell it is, ‘the process of restructuring existing computer code…without changing its external behavior.’ (Wikipedia) So, not throwing code away and starting again, but, in the agile world, progressively improving and building on the previous version or iteration. This makes sense with a lot of products, but particularly with software which is relatively easy to change (malleable), compared to a physical product or any process that involves people, say.
Re-purposing
The worlds of TV and film sometimes talk about, ‘re-imagining’, which is shorthand for stealing an idea and freshening it up a bit! Think Battlestar Galactic film and TV series from the 70’s, and the glossy newer US mini-series of the same name, ditto House of Cards.
In the world of software (and other disciplines), it makes economic sense to re-purpose, or re-use, something in multiple different configurations, variants and channels.
There is a much broader concept of re-use in organisations, everything from Knowledge (Knowledge Management), component technologies, frameworks, templates, test cases etc. In fact I would say that the biggest change since I have seen working in IT in the last 20+ years has been the desire to do more, faster, and with fewer resources. The thrusting modern industries of new media, computing, and technology are at the forefront of this new recycling.
As always thank you for your feedback and comments.
Tony
@ITelementary
(c) 2015 Antony Lawrence CBA Ltd.
[…] have written before about the increase of recycling and sharing of code (software) and the economics of re-purposing and re-using all manner of […]