Simplicity - Your Key to Happy Software Development
In John Maeda’s book The Laws of Simplicity, his first law states: “The simplest way to achieve simplicity is through thoughtful reduction.” As software developers we often find things moving in the opposite direction, from simplicity to complexity. What starts out as a relatively simple project quickly spirals out of control, demanding more time, money and resources to feed the growing complexity. The result is half of all IT projects overrun, exceed budget and still fail to meet customer expectations while 15% are cancelled before completion.
The transition from simplicity to chaos starts early in the software development process. In fact, it starts long before anyone writes a line of code. Naturally, we all like to win new business and please the client. Unfortunately, failing to interrogate the client properly, lack of knowledge about their business and a reluctance to say "no" can mean a project is fatally flawed before it starts. The occasional client might just want you to slavishly write code but most will prefer you speak up, value your guidance and professional expertise. As the software vendor it’s your job to set out realistic goals and manage your customer’s expectations fairly.
Avoid Mission Creep
A lack of client focus, poor planning and little stakeholder involvement are just some of the red flags that signal a project is heading for trouble right from the start. Even the simplest, most straightforward projects can succumb to mission creep, the adding of requirements outside of the project’s original scope, usually with negative consequences. The project takes longer, costs more and the finished software only gains complexity while losing quality and utility.
Learn from Others
A Gartner study of 50 failed IT projects found complexity at the heart of the problem. Projects suffered from unrealistic goals and needlessly complex command and control systems that robbed the decision-making authority from those who needed it most, such as product owners. Gartner suggests that projects be simplified wherever possible and product owners get the responsibility, accountability and authority they need to get the job done.
The Standish Group’s Chaos 2011 report says, “Software applications developed through the agile process have three times the success rate of traditional methods and a much lower percentage of time and cost overruns.” A HP survey of 601 IT professionals found that the primary motivators for agile adoption were improved team collaboration, increased software quality, greater customer satisfaction, shorter time to market and reduced cost of development. Taking an agile approach also makes it easier to mitigate risk and better predict project outcomes. Simplicity is really at the heart of agile. “The scrum philosophy of working in small teams, small sprints, small stories imbibe simplicity thinking – Thoughtful reduction,” says Avienaash Shiralige of the Agile Budda.
Redundancy Costs Money
The Standish Group report 64% of features and functionality in enterprise software applications are rarely or never used. That’s a lot of wasted time, effort and money. Unfortunately it’s very easy to get carried away, loading additional features and functionality onto an application that really add no value.
Keep IT Simple
Software development doesn't have to be a complex process and costly gamble for the customer. However, it requires you ask some simple, fundamental questions about the purpose of the IT project and its value to the business. A study by Geneca of 600 business and IT executives found 45% of project managers were unclear about the business objectives of the IT projects they were working on. 78% said their project requirements were usually or always out of sync with the business. IT projects succeed or fail for a multitude of reasons. Projects succeed when you do your homework, challenge assumptions, fully involve the client, agree realistic plans, appoint a good project manager, build a strong development team, communicate effectively, and remember to keep it simple.
Over to You
Please leave your comments and feel free to share a link to this post on social media.