Software Design
Most software developers would, given a request, start writing code immediately. I can do that! Just give me a minute. Or a week.
But the functionality may already be available. Even in the code base in front of you. If not as a tested public package. Probably at least partially. Will your code match the structure of existing code? Can it be extended in the future? Is it easy to test? Are you sure there is no duplication? Did you check?
Please postpone coding as much as possible. With a clear and maintained design you can avoid technical debt. But software design is hard. You need to have failed often to master it.
​We have made the mistakes for you. If you want support for your software design we can help you. We can create effecive, simple and an extensible design from your specifications. Or we can coach your team, individually or in groups. Of all the tools and processes of software development, effective software design has the greatest impact on your productivity and the quality of your product.
If you think that your software design - existing or envisioned - can be improved, please contact us. We are happy to show you what your success looks like.
References
Medium - Think, think, think… before you code!
Moldstud - The Role of a Software Architect in Shaping the Future of Technology
Although the article does not explicitly focus on productivity, it explores the various ways software design impacts the success of an organization.
Sonarsource - Technical debt developer's guide
The article mentions many causes of technical debt. The core cause of virtually all the mentioned issues is that there is no design, an implicit design, or an unmaintained design of the software.