New Project from Dawn to Noon

If you work in software development or any engineering discipline for a long time, sometimes you are lucky to be part of a new project that is started from scratch. It is really exciting to work in such a project because there is no legacy. And you can design the solution as you wish to some extent (freedom is good). But there is a big pain point. We live among projects that are at different maturity levels. For eg if you are just a new ride hailing startup with a small team who is trying to get up and running. In the vicinity you may have projects that are like Uber. Every project starts as a startup and reach a high level of maturity over time. I titled this blog post as dawn to noon because even the Sun rises in the east and gradually climbs up to noon. Initially there is darkness, slowly the light improves and at noon we have full sun shine. Same way a new project needs time to mature. If you are part of such project then read on.

Manual is OK

In software the trend is to automate and do all things in an integrated fashion. And to do this, a team needs time. Until the automation happens doing things in a manual old fashioned way is fine.

  • Manual testing is fine
  • Manual build is fine
  • Manual deployment is fine
  • Manual metrics collection is fine.

Don’t feel bad that the other projects are doing continuous deployment with complete automation. Soon you will get there.

Quality is the goal, not automation

One of the famous pitfalls that a team can encounter is to get obsessed with automation and forget the solution they are building. Instead of testing the application teams spend huge amount of time in writing automation test cases. Instead of deploying the first build, team is spending lot of time in setting up continuous deployment. Instead of showing the early builds to end user the team might be working on the process. A team’s job is to build high quality solution so do the deployment early, get the customer feedback and ensure the solution is working.

Ask time

Sometimes the trouble is everyone forgets that this is a new project. And wants to see all those fancy dashboards from day one. In such cases explain the process and time needed to create such a dashboards and ask for time. Don’t feel bad that the project dashboards are not ready on day one. Do things one step at a time.

Experiment while you have the time

A new project from scratch provides the opportunity to question status quo and do things in a different way. There is a short window of opportunity during the project setup. Once it is done changing things get hard. So utilize that time, experiment with new possibilities and come up with something cool. Don’t just copy the dashboards and setup from another established project as is. As I said in the beginning sun needs time to climb up, but at noon it shines. Same way take the time to climb but then in the end provide a shiny solution.