Every business that exists in the world, is a business of serving customer. Doesn’t matter if you are on retail, tech startup even health care, your only objective is serve your customer using your product or service. Sam walton, founder of walmart said “we only have one boss, which is the customer and they can easily fire us by buying from other products or services”. That’s why we tried our best to launch startup with create a perfect development cycle based on customer oriented approach, without compromising product quality or software development schedule.
Before I tell you how to build a successful launch startup, if you haven’t see our first 2 videos How to start a startup in 5 phases to follow and How to Achieve it, please take your time to see those 2 videos first, because without those videos you won’t have complete information of specific terms that be used on this article.
What is Costumer Oriented Approach
You’d probably confused when I mentioned about customer oriented approach, the term customer here means your product’s customer. As an example one of our long term clients that we’ve been working on for the past 5 years roompricegenie, if you take a look on hoteltechreport.com or other review sites our there, you could see that roompricegenie has a tremendous customer support and that exactly what we implement and standardized on each and every of our project.
Customer Oriented Approach Development Cycle
let’s see this way, you could have a perfect cycle of software development stand point. But, at the same time you also could have the worst customer service. The idea is how we could balance those two sides. One of our procedures is how the way we managed bug report.
let say one of your customer raised a bug to customer service, and customer service guy forward it to development team. On sprint planning (we will describe sprint planning in a moment), we usually spare 10-20% of time to handle bug report if any so we can jump and work on it right away to maximize customer support side, otherwise it will be use to do technical debt.
Quick Dive on Scrum Methodology
Scrum methodology is something we use to run sprint, our sprint normally takes 2 weeks to complete. In scrum methodology it mainly has 5 meetings:
- Sprint Refinement, on this meeting we will take business requirements and take a look on acceptance criteria. Each person who will work on that ticket normally it will be backend, frontend and QA person will give estimation hours required to complete that ticket. Once all subtasks and estimation define, we mark that ticket as refine and later will be use on sprint planning session.
- Sprint Planning, this meeting will be held on first week of monday on each sprint. We will take refined tickets from Sprint Refinement session and add it up to our sprint scope. This will help us to keep track velocity and capacity of each team member. Once capacity of all team members has been max out. then we close the session and start the sprint itself.
- Daily Standup, this is an everyday quick 15 minutes meeting for each team member to deliver their updates and progress of their work. Also this meeting can be use if any concern raised so related team member can follow up and setup other meeting to solve that concern.
- Sprint Review, this will be held at the end of the sprint normally on second week of friday on each sprint. We will show and demo features that been develop during last sprint to clients or stake holders.
- Sprint Retrospective, this meeting is follows up right after Sprint Review. Where there are 3 main questions need to be answer in order to improve upcoming sprint:
- What went well on the sprint?
- What didn’t went well on the sprint?
- What improvement we could at based on the sprint?
We have scrum methodology in more details on separated article. Feel free to check that article to have deep understanding about scrum methodology.
Maintain Product Quality
When launch startup one of our procedures to maintain product quality is by define and standardized minimum code quality. We split code quality into two things:
- Pre-commit process. This process is execute right before developers or programmers push their code to repository, it will execute 2 things:
- Lint and Code Formatting, so codebase will always meet standardized format based on each programming language
- Run Unitest to make sure all tests are passed and completed before it gets uploaded to the code repository
- Maintain and Monitor code quality, we are using sonarqube to do this. With sonarqube we can easily set minimum threshold for multiple things. For example, we can set minimum threshold for unitests coverage. It also provide insight information about the codebase like code maintainability, security hotspot etc. The goal is whenever something goes bellow our minimum threshold it will send an alert to us related with specific code doesn’t meet our minimum code quality. And related developer need to fix that before it get deploy to development environment service.
Let’s do a recap of what 3 things we need to keep in mind from launch startup – execution process:
- Development cycle based on customer oriented approach to balance software development side and customer support side.
- Ontime Development Schedule. by implementing scrum methodology we can achieve precision development schedule and well documented product.
- Maintain product quality by implementing minimum code quality process.
To get more popular information about startup, check others article in Blankontech.