preface
Project is a very important organizational way for companies and organizations to achieve strategic goals. The design of project management will have an important impact on product production and process output.
JIRA is a powerful, flexibly configurable project management tool that meets the project management needs of companies of all sizes.
Growingio introduced JIRA Cloud products and services in 2018, which are mainly used for project management of production and research teams. This paper attempts to introduce the choice of Growingio’s production and research department in project management design from the aspects of work, personnel and time. And some practices using JIRA, a project management tool.
The project management
Classification of items
The production and research department plans and organizes projects on a quarterly basis. The company’s strategic goals are broken down into departments in the manner of OKRs, which are further broken down into different types of projects. There are three main types:
● Production and research core function delivery project
This kind of project is product-led. According to the company’s product route planning, the product manager chooses various needs sorted out from the customer side to initiate the project in this kind of project, and the delivery is completed in each quarterly iteration according to the priority arrangement.
● Key projects of production and research team
This kind of project is mainly led by the developer, who will sort out the major technical improvement to be completed or the technical debt to be paid off every quarter, set up the project based on 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. I&R evaluates the workload of the Green Channel project to achieve the delivery of the customer project.
The reason why the project classification method introduced above is actually a project management design based on specific objectives in a specific environment, and this design mainly involves the choice of three aspects: work, personnel and time.
work
From the perspective of the quarterly planning of the department, the work is based on the dismantled projects of OKR as the basic unit. There will be multiple projects in each quarter, and each project contains batch requirements. For OKR management and progress tracking, these projects are further broken down into multiple delivery milestones and corresponding tasks. In JIRA, the project is broken down into one or more EPIC’s, and each EPIC is further broken down into different types of tasks and subtasks. See Requirements Organization and Management section for details on how to break down.
In the actual implementation of the project, the work is arranged into the iteration based on the basic unit of demand. The work breakdown structure (WBS) of the project disassembles and organizes the work according to the needs. It realizes the combination of the work according to the project and the work according to the needs. This provides additional flexibility to balance the realization of departmental OKR goals with the realization of customer requirements. For a detailed design of iteration activities, see 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 are stable over a long period of time to build understanding and proficiency in the requirements domain or business domain. At the same time, developers and testers can apply to select the feature teams they are interested in, thus expanding their business area.
time
Since the project work has been chosen to be executed in an iterative manner, it is natural that the basic unit of time is iteration. Iterations for all feature teams are synchronized, and each iteration officially begins with an iteration plan and ends with an iteration retrospective. Project timelines are aligned with iteration cycles, each iteration generating deliverable product increments based on project output goals. JIRA’s Scrum Kanban provides iterative management capabilities, with each feature team’s iterative tasks planned, executed, and monitored through Scrum Kanban.
Why do you do that?
Through the design of the above aspects, we provide the necessary flexibility for the customer’s special customized requirements on the basis of maximizing the guarantee of the completion of the department OKR. Fixed iteration period ensures deliverable outputs at fixed time, and provides an effective reference for the implementation and monitoring of project plans. Feature teams help people become more proficient in specific business areas, which in turn increases development efficiency, as well as the team’s ability to self-organize for continuous improvement.
Demand management
In JIRA, we differentiate different projects for management according to different scenarios of demand sources, and further subdivide transaction types according to different demand 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 aggregate all requirements put forward by customers as a requirements pool for product requirements. Product managers can classify and prioritize customer needs under the change project.
Under this project, only the transaction type of Feature was established at first, and then the transaction type of Epic was added to facilitate the classification management of products and the management of requirements for subsequent iterations.
● Infrastucture (Infra) project
Collect and summarize operation and maintenance requirements from customers, including system upgrade and POC requirements from customers, production environment failures. Meanwhile, tasks related to operation and maintenance, such as deployment and upgrade scheme, development of automation scripts, and regular inspection, are also managed under this project.
The following transaction types have been established under this item to distinguish the different requirements:
- Task: daily tasks related to operation and maintenance;
- Upgrade request: to handle the customer’s deployment upgrade requirements;
- POC application: to handle customer’s POC requirements;
- Production system failures: used to deal with customer production environment failures. Here it needs to be explained that in privatized deployed products, production environment failures are not necessarily caused by product bugs. Changes in environment and configuration, wrong operation and maintenance operations, and even expired certification files may cause production environment failures. In our practice, we think it is necessary to distinguish these parts from product bugs.
This is a project for Iteration Management, and all Iteration-related requirements and tasks will be handled under this project. Under this item, the following transaction types are established to manage the work breakdown structure in an iteration:
- Project level EPIC: Typically a large or coarse-grained requirement that consists of a set of user stories or other related tasks, a project can be broken down into multiple EPIC’s based on delivery milestones.
- Task level Feature: New requirements that are accepted by the product after the requirements details have been sorted out. Because the content and scale of the requirements proposed by customers are very different, these requirements will not be directly into the development. Most of the time, they will be transferred to Epic or divided into multiple User stories by the product manager and arranged into iterations.
- User Story: User Story. This type is primarily a functional requirement that the customer directly perceives value.
- Tech Improvement: Technical Improvement transactions, which are mainly non-functional requirements, or technical debt, for which the customer does not directly perceive value;
- Task: In addition to user stories and technical improvements, there are other tasks that need to be executed and managed in iterations that do not directly generate value, 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 tasks for front-end, server, and data-side developers, making it easier for developers to track tasks and align progress;
- Sub-bug: A Bug found during development.
- other
- Production Issue: Product bugs found in the Production environment;
- Engneering Service: Need to develop customer tasks that students can support, such as coordination of customer system docking, complex data export or validation, etc. The following diagram describes the classification logic of major transactions under the 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’s easy for the iteration team to control the pace. However, there was some overlap between the preparation for the current iteration and the previous iteration, which made our iteration very tight.
Pre-iteration preparation
● PRD Review Since the work is still organized on a project-by-project basis, the product requirements document (PRD) is still the output of our requirements definition phase. With PRD, there will certainly be a corresponding Review link. PRD reviews typically require one sprint in advance to allow time for technical solution design. ● Technical Design & Review is an important link in the establishment of subsequent development guidance program. Whether the iteration can be successfully started depends on whether the corresponding technical program is completed and passed the Review. In the preparation work before the iteration, the technical scheme design and the iteration sorting activities are carried out progressively and alternately within a time window, which is conducive to the iteration team to fully understand the requirements of the iteration and give the appropriate technical design. ● Iteration Grooming activity in Sprint Grooming is just like technical design, which is also an important part of the follow-up development. In the Grooming activity, the product manager makes clear the priority of the iteration tasks, and reaches a consensus with the team on the acceptance conditions (AC) of each task, and determines the acceptance criteria for the iteration.
iteration
Low Sprint Planning
On the basis of technical scheme design and iteration sorting activities, the iteration team evaluated the reference workload, complexity, uncertainty and other dimensions of the iteration task, and finally defined the delivery content and delivery target of the iteration. Use JIRA’s Backlog feature to manage Backlog prioritization and iteration planning. Since the backlog for the PI project will be large, we set up an iteration for buffering as the iteration backlog list. This iteration will not start, and teams can drop tasks into this iteration after Grooming to facilitate iteration planning.
Low Sprint Implementation
The iteration execution process is largely step-by-step, with the team using JIRA Scrum Kanban and site meetings to align and track progress. In Kanban, iteration team members can see the iteration tasks for which they are responsible and their status, combined with JIRA’s preset Duedate field, transaction status, and card color Settings to highlight whether the task is delayed.
In conjunction with the open interface provided by JIRA, we will also develop some dashboards for visualization and monitoring of the iteration process.
Low Code Freeze
Code freezes at the end of the iteration. Only sub bug fixes are allowed to be submitted after freezing the code.
● UAT & Sprint Review
After the code freezes, the QA organization conducts full regression, UI and API automation tests in the UAT environment. Product and Design Organize Iterative Teams to Complete Acceptance.
Low Release
After the completion of UAT and acceptance, the version will be released to the internal DEMO environment for the whole company to try and get feedback.
Iterative ending
● We followed the standard Scrum iteration Retrospective process, but it wasn’t a good one. In conclusion, it is found that there is a lack of replay planning and iterative process information collection, so that the replay lacks a starting point. After improvement, we will produce an iteration report at the end of each iteration. In the report, JIRA’s statistical function is used to record relevant data of the iteration process, such as the number of sub bugs, cumulative flow chart of iteration tasks, control chart and the deliverable burn down chart mentioned above. By analyzing these in the review, the iteration team can better gain insight and form improvements.
conclusion
This paper introduces some design ideas and related practices of GrowingIO project management in the production and research department of growth platform. The overall design and process are not perfect yet, and there is room for great adjustment and improvement. In fact, I was very nervous when I was organizing this article. Compared with the mature project management process and design of Dachang, I felt that I was trying to teach my mother to swim. However, as mentioned above, the design of project management is actually different choices made for specific goals in a specific environment. Only by sharing them and accepting everyone’s correction and criticism, can we take the strengths of others and make up for our own shortcomings.