Shipping to Production - Code
Tags: management, productivity, architecture
Published: 2022-10-25 03:22:52

At [Woovi](https://www.woovi.com), we focus in to deliver the best cost x benefit for new features. And, with our core principles in mind, even before coding, we start to sharpen the best solution for our clients.

Let's give into our Code process.

**Code**
Product, design, now it is time to code.

Before starting to code, first, we split the product into small pieces focusing on delivery.

![Image exemplifying a pieces of issues](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apvx6kqqfpyw3lfhlgyf.png)

Each piece is an issue that can be delivered separately that, in the end, turn into the product as a whole, also focusing on our ci/cd culture. 

> https://twitter.com/sseraphini/status/1230585050888122369

Every issue is an MVP of the final product. Because of this, we focus in have a fullstack team.

The fullstack is a person developer that can get a problem, understand it, develop the backend and the frontend, developing until reaches the production evironment.

With the issues ok, it is time to delegate. 

**Delegate**
All issues will have a difficult level accordingly to its feature. To delegate the case, we must understand this difficulty and prioritize. And we calculate this understanding of which variables a developer can handle in various contexts.

To calculate more straightforward or complex can be a new issue, we focus on understanding what and which concepts developers are rustling it. 

The following paragraphs it is from our official internal documentation:

**Developer Level**
**Juniors**
- They can't handle uncertainty
- The issue should have a short duration, one-day maximum.
- The issue needs to be crystal clear
- The issue needs to have a step-by-step of things that need to be done
- The issue needs to have a test plan with the test cases to check when the issue is done

**Mid-Levels**
- They can handle some uncertainty
- The issue can be of medium duration, 1-week maximum
- The developer defines the step-by-step, and the senior validate if it makes sense
- The developer describes the test plan with the test cases, and the senior developer validates if it makes sense

**Seniors**
- They can handle uncertainty
- The issue can be of long duration, +1 month
- The developer defines the step-by-step, and other seniors can provide feedback
- The developer describes the test plan with the test cases, and other seniors can give feedback

Once estimated the issue difficulty, we delegate it to a developer that is free and that matches the estimated difficulty level.

Even though this developer may not be at the estimated level, we still delegate to him thinking about improving his own skills.

**Struggling**
We think about the product, design it, split into issues, and delegate it to a developer we believe can handle and develop it.

But, most probably, the dev responsible for the feature finds it difficult while developing, which is when the manager must appear.

It is the response of our leads to unblock the developers, principally juniors, when they are blocked. It is essential to help those because they won't tell you, whether out of fear, insecurity, or many reasons.

**Deliver bullet points**
Coding the feature consist of delivery:
- A good solution 
- Closer to the original one developed by the design team
- Implement tests
- Test it in our staging environment
- Release it and test it in production

If you like this blog post, come to work with us, we are [hiring](https://www.woovi.com/jobs)!

Learn about the [Woovi Stack](https://dev.to/woovi/woovi-stack-5fom)

**Woovi**
[Woovi ](https://www.woovi.com)is a Startup that enables shoppers to pay as they like. To make this possible, Woovi provides instant payment solutions for merchants to accept orders.