preface
Project is a very important organizational way to achieve the strategic goals of companies and organizations. The design of project management will have an important impact on the production and process output of products.
Jira is a powerful and flexible project management tool designed to meet the project management needs of companies of all sizes.
GrowingIO introduced Jira Cloud product and service in 2018, which is mainly used for project management of production and research team. This paper tries to introduce the selection of project management design of production and research department of GrowingIO growth platform from aspects of work, personnel and time. And some practices using Jira, a project management tool.
The project management
Classification of projects
GrowingIO production and research department conducts project planning and organization on a quarterly basis. The company’s strategic objectives are disassembled to the department in the form of OKR, which will be further disassembled into different types of projects, mainly including the following three types:
● Production and research core function delivery project
This kind of project is led by the product. The product manager selects various requirements sorted out from the customer side according to the company’s product route planning, and establishes the project with this kind of project, and completes the delivery in each quarterly iteration according to the priority arrangement.
● Key project of production and research team
This kind of project is mainly led by development, which will sort out the major technical improvement or technical debt that needs to be paid off in each quarter, and then set up the project with this kind of project and arrange it into the quarterly iteration.
● Green Channel project
As an enterprise service company (2 b), often meet with the client before new signing or contract put forward some demands for sign the bill may influence, these requirements may not fully comply with the current product line planning, but the complexity of the implementation may not be high, in order to improve the competitiveness of the sign, so I offer this type of project. The business team is required to evaluate the expected revenue of the project and be responsible for achieving the expected revenue after the project is delivered. The production and research institute will evaluate the workload of the green Channel project to achieve customer project delivery.
The project classification method introduced above is actually a project management design based on specific objectives in a specific environment, and such design mainly involves the selection of work, personnel and time.
work
From the perspective of the quarterly planning of the department, the work is based on the projects disassembled by OKR. There will be multiple projects in each quarter, and each project contains the batch demand. These projects are further broken down into delivery milestones and corresponding tasks for OKR management and progress tracking. In Jira, projects are broken down into one or more EpIcs, each of which is further broken down into different types of tasks and sub-tasks, as described in the chapter “Requirements Organization and Management”.
In the implementation of real projects, the work is arranged in iterations based on requirements. The work breakdown structure of project (WBS) realizes the combination of work as project unit and work as demand unit by disassembling and organizing requirements. This provides additional flexibility to balance the two objectives of the department’s OKR and customer requirements. For detailed iteration activity design, see the chapter iteration Management.
Personnel aspects
Iteration in the delivery of the specific requirements demand tends to focus on a particular field or business field, so the personnel organization with the characteristics of cross functional teams as the basic unit rather than to the project team as the basic unit, the team included in the product manager, designer, front-end, the service side, development and testing personnel data end, can complete end-to-end delivery demand. Feature teams remain stable over long periods of time, allowing people to develop knowledge and proficiency in the requirements area or business area. Developers and testers can also apply to select feature teams they are interested in to expand their business.
time
Since the project work was chosen to be performed in an iterative manner, iteration is naturally the basic unit of time. Iterations for all feature teams are kept in sync, with each iteration formally beginning with iteration planning and ending with iteration reviews. The project’s time plan is aligned with the iteration cycle, with each iteration producing deliverable product increments based on the project’s output goals. Jira’s Scrum Kanban provides iterative management capabilities, through which each feature team’s iteration tasks are planned, executed, and monitored.
Why?
Through the design of these aspects, we provide the necessary flexibility for the customer’s special customization requirements while ensuring the completion of department OKR to the maximum extent. Fixed iteration cycle ensures deliverable outputs at fixed time and provides effective reference for the execution and monitoring of project plans. Feature teams help increase the proficiency of people in specific business areas, which increases development efficiency, as well as the self-organization of teams for continuous improvement.
Demand management
On Jira, we manage different projects according to different scenarios of requirement sources, and further subdivide transaction types according to different requirement types under each project, as shown in the figure below. Such transaction classification is quite complicated, but we felt very necessary, it will help the team members to intuitive understanding of the task, to standardize the iteration process is also very helpful, at the same time in the iteration’s analyse iteration team can team through the analysis of the data collected by the iteration to iterative output value, the distribution of continuous improvement to better help the team.
● Feature Request (FR) project
It is used to collect and summarize all requirements from customers as a requirement pool for product requirements. The product manager can sort out customer requirements under the project and manage the priority of requirements.
In this project, only Feature transaction type was initially established, and then Epic transaction type was added to facilitate product classification management and subsequent iteration demand management.
● Infrastucture (INFRA) project
Collect and summarize customer o&M requirements, including customer system upgrade, POC requirements, and production environment faults. Meanwhile, tasks related to operation and maintenance, such as deployment and upgrade solutions, development of automated scripts, and regular inspection, are also managed under this project.
The following transaction types are established under this project to distinguish different requirements:
-
Task: Daily tasks related to operation and maintenance;
-
Upgrade request: used to handle customers’ deployment upgrade requirements.
-
POC application: used to handle customers’ POC requirements;
-
Production system faults: Used to troubleshoot customer production environment faults. It is important to note that in privatized deployment products, production environment faults are not necessarily caused by product bugs. Environment and configuration changes, incorrect operation and maintenance operations, and even expiration of certification files may all cause production environment faults. In our practice, it is necessary to distinguish these faults from product bugs.
-
Product Iteration (PI) project
This is a project for production and research iteration management. All requirements and tasks related to iteration are handled under this project.
The following transaction types are established under this item to manage the work breakdown structure in iterations:
1. Project level
- Epic: Typically a large or coarse-grained requirement that consists of a series of user stories or other related tasks. A project can be split into multiple EpIcs based on delivery milestones.
2. Task level
-
Feature: New requirements accepted by the product after sorting out requirements details. As the content and scale of the requirements proposed by customers vary greatly, these requirements will not be directly entered into the development. Most of the time, they will be transferred to Epic or disassembled into multiple User stories by the product manager and arranged for iteration.
-
User Story: A User Story is a functional requirement that the customer directly perceives value;
-
Tech Improvement: Technical Improvement transactions, which are mainly non-functional requirements or technical liabilities for which the customer does not directly perceive value;
-
Task: In addition to user stories and technical improvements, there are other transactions that do not directly generate value but need to be executed and managed, such as technical solution design, test solution design, environment setup, etc.
-
Subtask level
-
Sub-tasks: User stories, technical improvements, and tasks can be further broken down into development tasks for front-end, server-side, and data-side developers, making it easier for developers to track tasks and align progress;
-
Sub-bugs: Bugs found during development.
3. The other
-
Production Issue: a product Bug found in the Production environment
-
Engneering Service: I need to develop some customer tasks supported by students, such as joint debugging of customer system docking, complex data export or verification, etc.
The following figure describes the classification logic of major transactions under the production-research iteration project:
Iterative management
For the needs of the project management, project planning and technical implementation of design work is interspersed with in the process of iteration, refer to the content of the Scrum iterative activities we according to their own situation to the extension, and iterating divided into the preparation, iteration and iterative ending three phases, iterative the activities of all set a time window, It makes it easier for the iteration team to control the pace. However, the preparation before the current iteration overlapped with the previous iteration, which made our iteration work very tight.
Preparation before iteration
Low PRD Review
Since the organization of work still retains the way of taking project as unit, the output of our requirement definition stage is still product requirement document (PRD), and there will definitely be corresponding review process if THERE is PRD. PRD reviews typically require completion of one sprint in advance to allow time for technical solution design.
● Tech Design & Review
The design of the technical scheme is an important step to establish the follow-up development guidance scheme. Whether the iteration can start the development smoothly depends on whether the corresponding technical scheme is completed and passed the review. In the preparation work before iteration, the technical scheme design and iteration combing activities are carried out gradually and alternately in a time window, which is conducive to the iteration team to fully understand the iteration requirements and provide appropriate technical design.
Low Sprint Grooming
Like the technical design, the iterative sorting activity is also an important link to know the follow-up development. In the sorting activity, the product manager defines the priority of the iterative tasks, and reaches a consensus with the team on the acceptance conditions (AC) of each task, and determines the iterative acceptance criteria.
iteration
Low Sprint Planning
The iteration team evaluates the reference workload, complexity, uncertainty and other dimensions of the iteration task on the basis of technical scheme design and iteration sorting activities, and finally defines the deliverable content and delivery target of the iteration. Use Jira’s Backlog feature to manage Backlog priorities and iteration planning. Since the PI project has a lot of to-do items, we set up a buffer iteration as the iteration to-do list. This iteration will not start, and the team can put tasks into this iteration after Grooming to facilitate iteration planning.
Low Sprint Implementation
The iterative implementation process is basically step-by-step, with the team using Jira Scrum Kanban and stand-up methods to align and track progress. Iteration team members in Kanban can see the iteration tasks they are responsible for as well as their status, which can be highlighted by Jira’s preset Duedate field, transaction status, and card color Settings.
In combination with the open interface provided by Jira, we will also develop dashboards of our own to visualize and monitor the iterative process.
Low Code Freeze
The code is frozen before the end of the iteration, after which only sub bug fixing codes are allowed to be submitted.
● UAT & Sprint Review
QA organization conducts full regression, UI and API automated testing in UAT environment after code freeze. Product and design organization iteration team to complete acceptance.
Low Release
After the completion of UAT and acceptance, the version will be released to the internal demo environment for students in the whole company to try out and get feedback.
Iterative ending
Low Sprint Retrospective
In the early iteration review, we followed the standard Scrum iteration review process, but the effect was not good. In summary, it is found that there is a lack of replay planning and iteration process information collection, which makes the replay lack of grasp. After improvement, we will produce an iteration report at the end of each iteration, in which the statistical function of Jira is used to record relevant data in the iteration process, such as the number of sub bugs, cumulative flow chart of iteration tasks, control chart and delivery burnout chart mentioned above. By analyzing these in the replay, the iteration team can gain better insights and develop improvements.
conclusion
This paper introduces some design ideas and related practices of project management in production and research department of GrowingIO growth platform. The overall design and process is not perfect, and there is room for great adjustment and improvement. When I was sorting out this article, I was still in a very uneasy mood. Compared with dachang’s mature project management process and design, I felt like teaching a fish to swim. However, as mentioned above, the design of project management is actually different choices made for specific goals in a specific environment, and only by sharing them and accepting everyone’s criticism and criticism, can we take the strengths of others and make up for our own weaknesses.