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.
Further Reading
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.
- AI Development: A Developer’s PerspectiveAI, ChatGPT, and LLMs have become common sayings and since the release of ChatGPT to the public in November in … Read more
- The Importance of Software DesignAfter being in the software development space for a while you start to notice a relationship between software design quality … Read more
- Quality Means Different Things To Different People in Software DevelopmentQuality in the context of this article is not necessarily just about the quality of the software alone but also … Read more
- The Pains of Software Project Costing“Far too often, the rewards for our efforts seem to be mere pennies as held against the fortune of time … Read more
- As a Software Developer, How Do You Actually Communicate Better?“Assumption is the mother of all mistakes” — Mr. Eugene Lewis Fordsworthe. Most of my takes on the importance of communication … Read more
- Size Matters in Software Development“Size was the single most important factor in the resolution of project outcome.” — CHAOS Report 2015, Standish Group. The larger … Read more