Software Design: Short-term Speed, Long-term Pain
After being in the software development space for a while you start to notice a relationship between software design quality and software development speed. Software design here doesn’t just mean UI/UX design, it refers to the structure and relationship of software components as well as software development paradigms.
Software design is important and takes time & effort, it is generally seen as an activity that slows developers down. What is often disregarded but highly valued by more experienced teams is that software design allows for easier improvement later on. In fact software development speed picks up in the long-run when there is proper software design carried out in the early stages.
No design now allows you to move fast but in the long-term it becomes painfully hard to improve the software by adding more features. This is why at hackathons you can quickly build an app but it will become harder and harder to add features to that same app over a period of time due to the lack of design.
So don’t treat your non-trivial software development like a hackathon for the illusion of short-term speed. Properly evaluate your non-trivial software development and give it the design attention it needs. Slow now but easier to improve in the long-run.
1. Read my article about the importance of software design.
2. Read my article about a related topic, technical debt, here.
3. Learn more about what the design payoff line is all about here.
- The Importance of Software DesignAfter being in the software development space for a while you start to notice a relationship between software design quality… Continue reading
- Get Strategic With Your Software Development CareerI gave the welcome address at the Google I/O Extended Abuja 22 event on the 2nd of July, 2022.
- Technical Debt ExplainedTo understand technical debt, we first have to remind ourselves of the principles of financial debt. Financial debt lets you… Continue reading
- What is Cloud Computing?I get asked a lot about cloud computing and a lot of the questions are “what is cloud computing?”. So… Continue reading
- Shared Understanding: 5 Ways Software Teams Can Improve itAs an individual developer working on a project, you have a very clear vision and understanding the work. The moment… Continue reading
- Improper Costing Techniques Could Be The Reason Your Software Development Projects FailClients that need software built always want to know how much it will cost them, and a lot of times… Continue reading