Before you start working on a feature

According to software development lifecycle these are the different phases involved when creating software.

  • Requirement gathering and analysis.
  • Design.
  • Implementation or coding.
  • Testing.
  • Deployment.
  • Maintenance.

With an ever evolving software product you tend to skip some of these steps after launching version 1. That feature update / new feature, let’s jump right into development. Why spend time going through the entire process again? After all this is only a small update.

I was reminded this week on why skipping the lifecycle steps is not a good idea.

Jumping right into a new feature without spending time thinking about the feature is never a good idea. You need to answer a few questions before you start working on the update.

Which parts of existing software does the feature affect? Does this affect the caching logic in place? What about search index? How does we introduce this feature in UI?

We recently spent a month working on a feature update, which was not well thought of 🤦 Having to rewrite it now is going to be expensive and set the launch date back by a week.

Sunil Shenoy @sunil
Made with