background

Today, many of us engineers may work for many years without really feeling what the development process for their organization’s product or project is, or knowing why they exist on the team, or how to excel on the team.

Most of this is because we don’t pay much attention to the structure and processes of the organization, don’t have a clear career plan, or don’t realize how hard we need to work to be appreciated and appreciated by our leaders in the team. In the final analysis, our cognition and awakenings are not enough. One is that we have not been developed. The other is the current domestic environment.

This chapter will take you to understand the basic content of product development process and project management in the process of research and development. It is a brick to introduce jade, hoping to give you some help when you encounter bottlenecks in career development.

Product development process

Overall product development process

The above process is basically the majority of the company’s product development process, different organizational structure of the company may be executed by each link of the coarse and fine granularity is not the same, but the general direction should not have too much deviation. “Project approval” in the process –>… –> Deployment o&M is a project management process

The product design

Product design, preferred sources of demand, for independently developed products, possible sources of demand and markets, or target users and stakeholders related to the organization’s external capabilities for this product; For some customized projects, especially outsourcing projects, the requirements are usually sourced from Party A (to be exact, from Party A and the stakeholders involved in Party A’s target system), and Party A, as the requirements provider, collects all the stakeholders’ requirements. One of the key actions in this process is the transformation of user requirements into product requirements. We can also call this process requirements analysis; Demand analysis: starting from the needs of users, the process of digging out the real goals of users and turning them into product demands.

In the process of requirement analysis, we need to consider how to convert user requirements into product requirements. In this process, we need to study more capricious, and understand what is the real purpose behind the demand put forward by users.

In this chapter, we mainly introduce the actual process of product development and product design in the organization. See the figure below

As shown in the figure above, in the product design process, the input is MRD document, that is, the Market Demand Document, which has calculated and analyzed the user requirements, business value and technical difficulty in advance. Finally, the project was approved before it officially entered the project development link. In the process of the project, the product prototype design, prototype test and high-fidelity design were carried out. The purpose of the project is to better describe the product scheme to meet the needs of users or demanders. On the other hand, there can be a good connection with the R&D team in the later stage, and PRD documents will generally be formed. The PRD document mainly describes the product’s overall functional framework, detailed process, and the relationship between each functional module, forms a copy, and delivers it to the R&D team. The purpose is to let the R&D team guide what the product wants to do.

The above process is relatively normal, in fact, after many years’ team management practice of the author, this model is not necessarily a superior way, because in this process, the development team is received after the product after the analysis and design of products, most of the time, the development is difficult to know what the software product end-use customers to solve the problem of what, Why deduce this product design. To some extent, this will lead to the r&d engineer deviating from the real needs and working according to the single situation.

Software development

In school, especially those majoring in software Engineering, they must know software development models, such as waterfall model, evolution model, incremental model, spiral model, rapid prototype model, fountain model, V model, etc.

Like development models, there are many corresponding development methods, such as iterative development method, rapid application development method, build-based development method, unified development method, Agile development method, model-driven development method, build-based development method, etc.

These are some of the development processes or methods.

The project management

In the project management circle, there is a saying that everything is a project, whether it is personal or corporate. The issue of getting up in the morning to go to work can also be managed as a project, in order not to be late, how to control the risk, how to make a good plan, which stakeholders need to be managed and so on.

Project management is a relatively professional discipline. It is suggested that no matter whether you are engaged in project management in the future, it is necessary to systematically study and understand project management. Here I have collected some systems and methods about professional project management, as shown in the figure below:

As the figure above shows, vertical from individuals to organizations, horizontal how to do what.

  • Individual:

Individuals are not involved in the team, so it seems that there is no management to speak of. However, in this area, I need to have strong learning ability, self-control and self-discipline. In the circle of development isn’t a lot of new partners, the first one individual will, to do things quickly, what they think of immediately start, start to write code directly, play of joy, but in some large teams, do things feel less ran, actually this is a normal situation, because the personal management and team collaboration completely are two different things.

Individual collaboration, the corresponding method is the PSP, the single core work method, included in the CMMI system level 1 certification is for the individual.

  • team

As shown in the figure above, team management involves a lot of professional methods and theories, such as XP, Scrum, RUP, PMP, etc. It is generally recommended that a project team with more than 3 people and less than 20 people should be selected, and the best 10 people should be recommended, otherwise the management difficulty will be more complicated.

  • Organization:

Organization-level professional certification, including SAFe and LeSS in Agile, IPD and CMMI of Huawei, etc. These are relatively large, relatively heavyweight management systems, the landing is conducive to the implementation of business division or business group management system support. Of course, it also depends on the specific ways and methods of our respective implementation.

Next, two current mainstream project management methods and systems are mainly introduced. At present, the mainstream in the industry should be divided into traditional and agile project management. Traditional project management is represented by PMP system, agile project management is represented by Scrum(certification system as SCM)

PMI – PMP system

PMP stands for Project Management Professional Qualification. Initiated by the Project Management Institute(PMI), it is a rigorous evaluation of the knowledge and skills of Project managers with high-quality certification exams.

Its purpose is to provide a uniform industry standard for project managers. At present, the PMP (Project Manager) and CAPM (Project Assistant Manager) certification examinations have been established in more than 190 countries and regions around the world.

\

According to the CONTENT of PMBOK, its main system is as follows: five process groups +10 knowledge areas, each of which has its corresponding point process group

Top 10 Areas of knowledge

Agile Project Management

Agile project management has been a hot topic in recent years, both in large companies and across the board, as well as DevOps. When it comes to Agile, we have to mention the Agile Manifesto.

The Agile manifesto is more about teamwork than traditional documentation tools, contracts, and rigid plans. The agile system has evolved into a number of branches, with Scrum being one of the more fundamental frameworks of all agile systems. The minimal units in LeSS and SAFe are also based on the Scrum approach and may be managed slightly differently.

The following is a framework diagram for Scrum

\

As shown in the figure above, the market or end user inputs the requirements to the Product Owner (PO), who, based on the overall Product planning, sort out the Product Backlog and mark each Backlog with corresponding customer value scores to identify the points with the greatest value to the user. On a project team led by a Scrum Master, people organize

  • Sprint Planning Meeting: There are three main things to do at this Meeting: 1. Pick user stories that will be included in your next Sprint plan; 2. Split the selected user stories into story points and output the Sprint Backlog; 3. Everyone takes the initiative to claim the task (either directly or some story points).
  • Daily Scrum Meeting: During the Scrum, everyone describes three main things :1. What you got done yesterday; What do you plan to do today? Who do you need to help with today’s work?
  • Potentially Shippable Product Increment. At the end of each Sprint, there is potentially running software
  • Each iteration allows the customer to Review the work that has been completed so that problems can be identified in time to ensure that the output is correct
  • Retrospective, a Retrospective of what the team did well and what they didn’t do well during the Sprint; The Scrum Master will put the good parts into the team’s good traditions list, select a few of the bad ones that can be implemented, discuss the corresponding optimization plan, and make continuous improvement in the next iteration.

There is a concept of a time box throughout the Sprint, which means that no changes are allowed during the official Sprint, and the changing requirements are at the beginning of each Sprint.

When we run a project, we go through countless sprints of continuous iterations, and the end of each iteration is followed by the beginning of another iteration.

\

Traditional versus Agile projects

Draw lessons from the summary on the network here, personally feel more in place, also need not be summed up separately. The following

For an example of the important areas of management concern, see the following legend

Traditional projects on the left, zip code agile projects; In a traditional project, scope, schedule, and cost are an iron triangle. The change of either side will cause the change of the other side, otherwise the quality can not be effectively guaranteed.

Agile Project Practices

For reference only, I have implemented the following Agile practices at my company. In practice the process is still relatively smooth. Product design overlaps with product development. Effectively ensure the orderly implementation of the project.

conclusion

This chapter mainly introduces the basic process of product development, as well as the knowledge system of project management and the mainstream of another management system. It also briefly compares the differences between traditional projects and agile projects. Finally, combining with the author’s past practice in the team, the agile practice model is shared. I hope this chapter will help you establish the architecture of the product development process and understand the mainstream project management systems and their differences. For later personal career development and team positioning more clear.