Reducing Complexity: The Next Software Development Imperative
by Ron Miller
For a long time software development was about complexity, making applications that did a big job, but as we enter the age of tablets, smartphones and apps, we are moving away from these complex applications, and your job is increasingly about reducing complexity.
Earlier this month, at the Gartner Portals, Content and Collaboration Summit, Gartner analyst Whit Andrews talked about complexity as it related to search tools (but which really applies to any software development project). He referred to the Conservation of Complexity, which he likened to conservation of matter --it doesn't go away. "We always face complexity in a given system, but we might push complexity like toothpaste in a tube," he explained.
From a software development perspective, you might introduce complexity to your user as a way of reducing the complexity you face as a developer, or you might sacrifice your time in order that the user not face that complexity.
In a truly great post this week with a terrible title, Tail Wagging the Dog, Matt Gemmell talks about simplicity from a design context, but he could be talking about software development too when he wrote, "For [Apple's Jony Ive], simplicity is about immersion: becoming so engaged with the task or experience that the device disappears. The iPad becomes a stack of photos, or a novel, or a calendar. A noble and sensible goal," Gemmell wrote. (I encourage you to click through and read the whole article.)
And that should be the goal of all developers to make an app so elegant, so well designed; you forget you're using it --or even the device on which it's installed. The reason people gravitate toward apps at work is because mobile devices often offer the most elegant solutions to long-standing problems. Instead of fighting with clunky enterprise software, users find software that does what they need it to do and nothing more --and more importantly that just works.
As 451 Research anyalyst Alan Pelz-Sharpe said in his talk at AIIM 2013 in New Orleans in March, we don't want a website with 57 options. Instead, we want to little apps that do little jobs and we want them to do those discrete jobs very well.
Mobile has clearly changed the mindset and expectations of users and it's up to developers to deal with that new expectation, even in the enterprise where traditionally you have been more concerned with function than with form. Now you have to worry about both, and you have to look for ways to simplify and distill every process and take advantage of the fact you're using a touch device. Sometimes that will take imagination and a change in mindset to get past the models and ways of doing things you've done in the past.
But if you want to reach your users you need to make reducing complexity your biggest priority. Like it or not, your users and customers have been spoiled by their smartphones and tablets they use in and out of work, and they expect nothing less from their enterprise applications. It's up to you to deliver it.
Photo Credit: TheAlieness GiselaGiardino on Flickr. Used under CC 2.0 Share Alike/Attribution License.
blog comments powered by