5 Ways investing in simplicity will make your IT project a success
Keeping things simple is the best bet for a successful IT project. The more moving parts there are, the more can go wrong. Injecting simplicity in your projects is a sound investment, on the same level as other concerns such as performance, scalability, and security. This article examines five ways you can begin investing in simplicity.
I can’t state it strongly enough: Investing in simplicity is your best bet to bring about a successful IT project. Here are five left-field suggestions from my experiences as CTO, technical architect, and project lead.
1 – Could you not do it?
Old habits, inertia, or the fear of being blamed for not delivering something the customers may one day want are often the motivators for many feature requests from your product owners.
Being adept at Continuous Delivery allows you to educate people that, you’ll be able to deliver a backlog item WHEN it is needed. This on-demand ability enables you to say, ‘no, not now, but maybe later.’
2 – Take the time to do less
Everything should be made as simple as possible, but no simpler.
This quote by Albert Einstein illustrates the importance of simplicity as he states that everything can benefit from this approach. However, this involves efforts as simplifying requires an understanding of what matters and where value resides. Walking the line between not enough and too much is driven by an experimentation mindset and proper tooling.
The short-term cost of striving for simplicity will more than pay for itself in the long run.
3 – The Single Responsibility Principle
Many of our best software engineers place Uncle Bob’s most famous principle in their top 3 criteria when designing software architectures. Strangely enough, our new hires fresh out of school also do the same.
SRP favours cohesion, lowers coupling, makes your code understandable by others, enables unit testing, and increases project velocity.
4 – MVPs are not just for products
Adopt an MVP approach at the feature level.
For instance, remove paging from your list screens. You can display the first 50 results instead and have the last line item say: Looking for something else? Refine your search results.
Poorly implemented infinite scrolling is detrimental to performance AND the user experience. Please don’t do it. Then, run away from smart folks asking you for multi-columns, combinatorial sorting on grids. The amount of testing to make sure everything works is insane.
5 – The cost of testing
Because quality is essential to your success, you test your software automatically before delivery. Right?
Have your developers write unit and end-to-end tests themselves. Then ensure your continuous integration pipeline enforces 100% test coverage. People are sensitive to the cost of complexity when their decisions impact them personally. Simplicity naturally emerges from this awareness.
Many other ideas could have made it onto this top five list: serverless, Kotlin, native cloud services, continuous delivery, DevOps, Kanban, and many more.
Simplicity is an ongoing quest, not a destination. It should be part of your culture and can’t only be a story on the JIRA board.
Simplicity also generates value, and value brings happiness. Your customers may not directly appreciate your simpler designs. However, steadily delivering high quality at a rapid pace is a sure winner.
The Norwegian architectural style also proves that simplicity is beautiful. Assigning a value to beauty is hard. But considering that mobile applications now make great design the new normal, forgoing this aspect in a product prevents you from meeting basic consumer expectations.
Injecting simplicity in your projects is a sound investment, on the same level as other concerns such as performance, scalability, and security.
Be brave. Be simple.