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 … 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
- Attention, Distractions, and Context Switching“Anything you focus on will flourish” The information age has brought a lot of pressure on people’s attention. You are … Read more
- The Importance Of Communication For Software Development TeamsThe word communication gets thrown around a lot in the software development space but what does it really mean? Why … Read more
- Software DeteriorationI recently downloaded a software tool to help me complete a task but upon executing it, it failed to run. … Read more
- Software Estimates, Targets, Plans & Commitments“The primary purpose of software estimation is not to predict a project’s outcome; it is to determine whether a project’s … Read more