Can you ship it?

“Can you get your project shipped to Production by March?”, I asked. I was in an 1-on-1 with a team lead, talking about his project schedule. “It is impossible!” He exclaimed. “Even end of March means I only have 2 months. I need to complete security review, penetration test, load test, operational readiness review … This is a completely new way of building and packaging our software. I need more time.” “Ha. I am not saying we need to ship it by March. But hypothetically, let’s pretend we have to, can you figure it out a way?” “I don’t see how …” He was clearly confused. I felt like I was the pointy haired manager in Dilbert cartoons. “Let’s do a mental exercise together. Notice I said ‘ship to production’, I didn’t specify if it is shipped to ALL production regions, or just one region, or even just ship it to one host in a production region. Is there any value to run your component in one host that is taking production traffic?” “I see where you are going. Yes. The component is transparent to customer experience. It is for our deployment improvement. And our biggest risk of running it in production is performance degradation or other unknown unknowns. If we can reduce the scope of the initial deployment to one host, we can collect earlier metrics on performance, availability, latency etc.”, the team lead started to get it. “But I still don’t know how to get all the things done in the build pipeline. I need time to finalize the continuous integration.” “Right. I totally understand the importance of continuous integration. But you can already build a component with some manual effort so we can deploy to a single host right?” “Yeah. I suppose …” “And what about I ask John to help you on building the continuous integration pipeline?” “Yeah. That will help a lot. John has done a lot of pipeline work. We can probably get a semi-continuous integration pipeline ready, if not a fully automated one.” “How do we mitigate the risk of running it in one production host?” “We can monitor the metrics of the host and turn on alarms. If we see signs of performance degradation impacting customers, we can easily take the host out within seconds.” “There you go! We just defined a Minimum Viable Product (MVP) for your project. We need to definitely think through all the pros and cons of going this way. But it is at least one way to ship your project to production by March, would you agree?” “Yes.” “So the moral of this mental exercise is: when you are asked to get something done by a seemingly impossible deadline, don’t just say no and tell your stakeholders they are stupid. You can define the scope of ‘done’ through a MVP; you can ask for more resources to speed up your work, but be mindful that adding random people to a late project tends to make it later; or you can ask for more time. What about we ship it in the first half of April?” “We can get that done!”

Last updated

Was this helpful?