Posts

Showing posts with the label Software Principles

How to write a good software design doc

Image
As a software engineer, I spend a lot of time reading and writing design documents. After having gone through hundreds of these docs, I’ve seen first hand a strong correlation between good design docs and the ultimate success of the project. This article is my attempt at describing  what makes a design document great . The article is split into 4 sections: ·          Why  write a design document ·          What  to include in a design document ·          How  to write it ·          The  process  around it Why write a design document? A design doc — also known as a technical spec — is a description of how you plan to solve a problem. There are  lots of writings  already on why it’s important to write a design doc before diving into coding. So all I’ll say here is: A design doc is the most useful tool for making sure the right work gets done. The main goal of a design doc is to make you more effective by forcing you to think through the design and gather fee

Why software development & testing practices are essential

Image
    Software development in 2019 Approximately 29%  of software development companies have no plans to switch their existing programming language. Companies are certainly driving themselves to stability in niche expertise. It can be easily adjudged that the core objective of a majority of businesses to create USPs around software development quality standards. But there is a twist. Despite extensively adapted data-driven approach, approximately  27% of companies  do not use any credible software development performance metrics. It certainly gives rise to the opportunity of enhancing software performance with the best software development and testing practices. Despite a significant shift in focus towards mobile apps, it is essential to understand that the core of every product idea will always reside within the web-based resources and websites. Ultimately, they will enhance your brand reputation.  Software development and testing techniques are extremely crucial in the hi