WeFlex Product Development Guide
For Non-Product Team Members
If you came from a non-product background, simply read chapter ideas and bugs. These chapters will talk about how to submit your ideas and how your ideas will be converted into bugs and features and finally became publicly available (aka. going live).
A Kanban to Manage Product Development
Product development is never an easy job. There are so many factors in the process of developing a product, so many people (or roles) got evolved in it. To make an efficient process, we have to always keep our goals simple and clear.
That's how Kanban
and Trello
comes in to solve the problem.
Kanban is part of agile
product development. It helps the whole team to visualize tasks by stages
(waitlist, next up, on-going, finished, etc) and to see what
other people are working on.
Kanban is simple. You have boards
made up of several columns (lists
),
marking different stages, from left to right. Each task on this board is a
card
(sticker), moving through lists. A card always starts from the left-most
list then moves column by column to the right-most list, and been archived at
last.
Different types of tasks have different lifecycle. Tasks in product development have different types:
- Enhancements (new features)
- Bug fixes
- Docs
- Tooling
Among them, enhancements
and bug fixes
are the most critical tasks, and we
will spent most of our time working on them.
To visualize tasks and stages, we feed all our working items into three boards:
- Ideas
- Bugs
- Enhancements
Now we can use boards to organize tasks and lists to organize statuses, let's use Kanban to manage product development workflow.
Ideas
Given its difficulty, product development is never an unattainable procedure. Like other engineering problems, we can solve it by careful analysis and planning. There are different stages during a full cycle of product development, to make tiny ideas going live.
Any improvement of a product starts as an idea. To begin with, go to Ideas
board, create a card in Inbox
list, write down your idea.
Ideas could be a few sentences describing a problem users are facing, a user
complain, or your vision about this product. It could be general and
unorganized. Just leave it and product team will discuss and evaluate ideas in
Inbox
on the next product review
meeting.
Task Lifecycle
- task waitlist (next-up)
- work in progress
- functional testing (staging)
- going live
Each stage above has its corresponding task-list in Bugs
and Enhancements
board.
Bugs
In Bugs
board, we got four lists: NextUp
, InProgress
, ReviewList
and
Resolved
. Any bug-fix task transferred to Bugs
will first wait in the
NextUp
list to wait for being assigned to a engineer and then it will moves on
to InProgress
.
Once the assignee think the bug is fixed, he could move the item to ReveiwList
to mark it for further reviews. Bugs will be verified and code-reviewed by
another developer to make sure that the bug is fixed and the fix is
clean. Result will be either accepted
or rejected
.
An accepted
sign-off means this bug is fixed and will be in the bug fix list
of next release. The developer helped verify the bug should write a comment in
the card say 'Verified and code-reviewed by someone '.
If rejected
, card will be push back to InProgress
again and assignee has to
re-fix it.
Enhancements
Similar to the Bugs
, the Enhancements
board also come with four lists,
NextUp
, InProgress
, Staging
and Live
. Each card in Enhancements
travels from the left-most NextUp
waitlist and ends up in going Live
.
A card moves into Staging
list means it coding (if needed) is done and now
it's time to verify its functions. This step would usually take a couple of
days to a week.
If the feature is correct (function-wise) and stable, we will move the card to
Live
and put it into production.
Work In Progress
items in Enhancement
workflow may be in these types:
- user interview
- design
- implementation
- integration/unit testing
Meetings
As you may noticed, the method I proposed in this guide involved meetings. There are three types of meetings in this system.
Product Reviews
Product reviews are organized by product manager at the beginning of each cycle, team members who submitted ideas will talk about the story behind it and the product team will identify:
- is it a bug or a enhancement?
- is it worth working on?
Finally, based on the discussion, product manager will decide bugs and features
to work on for the next cycle. Those cards moves on to Enhancements
and Bugs
board.
Progress Checkpoints
Progress checkpoints are meetings held by project manager in the middle of each product cycle to check if everyone is on the right course and project target is achievable at the end of this cycle. Project manager is responsible to alert and offer possible helps to those team members lagering the schedule.
Demo days
At the end of a product cycle, we will host a demo day for feature owners (engineers, designers) to demonstrate what he have done in the past cycle and celebrate his achievement together with the whole team.
References
-
Richard White, How we use trello & google docs to make UserVoice better every day
-
Stanislav Jonak, Kanban for software development