How Devs push code to Production: A Guide for Product Managers

Rohit Verma
4 min readMar 4, 2024

For product managers, understanding the intricacies of the software deployment process is crucial to ensure that the final product not only aligns with user needs but also maintains high quality and reliability. Let’s demystify the journey of code from concept to production with practical examples along the way.

Let’s understand this with the help of a flow diagram 👇

The Genesis: Planning with Purpose

Example: Imagine we’re developing a new feature for an e-commerce app that allows users to track their carbon footprint based on their purchases.

As a product manager, you begin by collaborating with stakeholders to define the requirements for this feature. You craft user stories that capture the essence of what users need — perhaps a story states, “As an environmentally conscious shopper, I want to see the carbon footprint of my purchases so that I can make informed decisions.”

Using a tool like Jira, you document these stories, breaking down the feature into achievable tasks for your development team. It’s a balancing act between what’s desirable, viable, and feasible.

The Forge: Development and Collaboration

Example: Your development team takes the user stories and starts building the carbon tracking feature. They might set up a feedback loop with a focus group of eco-friendly shoppers to refine the feature’s functionality.

Developers commit their code to Git, leveraging GitHub’s pull requests for peer reviews, ensuring every line of code is scrutinized for excellence. This collaborative environment is where the feature begins to take shape.

The Crucible: Integration and Quality Assurance

Example: With Jenkins orchestrating the build process, the code for the carbon tracker is compiled, and automated tests are run. JUnit checks the logic, while JaCoCo ensures sufficient code coverage. SonarQube keeps an eagle eye on code quality, identifying potential vulnerabilities or code smells.

The build artifacts are then stored securely in JFrog Artifactory. This step is like a library archiving every successful iteration of your feature, ready for deployment.

The Reality Check: Testing Environments

Example: Once in the QA environment, your testing team simulates user interactions with the carbon tracker, ensuring it accurately reflects the environmental impact of purchases. Any issues found here are sent back to development for refinement.

In UAT, a select group of users from your eco-friendly shopper profile is invited to use the feature. Their feedback is invaluable, offering insights that only real-world use can provide.

The Launchpad: Production Deployment

Example: With green lights from QA and UAT, it’s time to release the feature into the wild. Using a canary deployment, you roll out the carbon tracker to a small percentage of users, monitoring performance and user feedback. This cautious approach allows you to gauge the feature’s impact without overwhelming your servers or your user base.

The Watchtower: Post-Release Vigilance

Example: Post-deployment, your SRE team uses Prometheus to monitor system performance, while Skywalking provides insights into how the feature is being used. They’re on the lookout for any issues that could affect user experience or system stability.

Imagine a scenario where users start to experience slow load times when accessing their carbon footprint data. Your SRE team is immediately alerted, identifies a bottleneck, and escalates it. Quick action and a hotfix later, the feature is running smoothly again.

Closing Thoughts

As a product manager, you’re the orchestra conductor, ensuring every section comes in at the right time, harmonizing the process from a user story to a feature in production. By understanding the nuances of each step and setting up robust feedback loops, you enable your team to create features that resonate with users and enhance their experience.

In the example of our carbon tracker, your role ensured not just the creation of a feature but the delivery of a promise — a more sustainable shopping experience. That’s the true power of efficient software delivery processes, and as a product manager, you’re at the heart of it.

Thanks for reading! If you’ve got ideas to contribute to this conversation please comment. If you like what you read and want to see more, clap me some love! Follow me here, or connect with me on LinkedIn or Twitter.

Do check out my latest Product Management resources 👇

--

--

Rohit Verma
Rohit Verma

Written by Rohit Verma

Group Product Manager @AngelOne, ex-@Flipkart, @Cleartrip @IIM Bangalore. https://topmate.io/rohit_verma_pm

Responses (2)