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.