Software development lifecycle

Write Requirements of the project

  • What do we want to do?
  • Who are the audience?
  • What is the MVP product (Minimum viable product)

Chose technology best suited for the Project

  • What is our expertise?
  • What languages are easier and faster to do the POC (Proof of concept)
  • What languages are easier to scale (e.g. compare # of users of IIT Delhi website vs Google)
  • Which language has a talent pool available in the market?

Create small milestones

  • Break down project requirement into small phases
  • Each phase should be small enough to be demonstrable
  • And should be small enough to get completed in a sprint (generally 2 weeks)

Start Implementation

  • Start the implementation of the project
  • Ensure you write unit and/or integration tests for the project.

Do iterations

  • Make first version available to users
  • Collect their feedback/issues.
  • Create tasks for the issues to be fixed in upcoming releases.

Setup CI/CD

  • CI/CD is very useful for iterations of your software
  • With each iteration, you want to make sure your existing feature set works (no regressions)
  • And also that your new features works
  • Generally regression issues get priority to be fixed even before implementing new features.