How does Microsoft manage product development?

Source: Internet
Author: User


I recently read the book "science and art of Software Development", which was written by a group of Chinese at the Microsoft Asia Research Institute. I personally summarized it and wrote the following words, I understand Microsoft's project management.

At Microsoft, the project product group is administratively implemented in a structure of 1 + 6. The personnel composition includes a product unit manager and six departments. The six departments are: product Management (determine the product prospects, obtain and determine user needs, develop and maintain business security to meet user needs), project management (develop functional specifications for development, communicate and coordinate within the team, maintain product progress and report product status, and ensure that the product can be released as soon as possible under product constraints) software Development (products developed by the Development Department that meet the design specifications and user needs) and software testing (development and testing strategies and plans to ensure that all known issues are resolved before the product is released) user Training (ensure that all user documents should be clearly written to improve the user's skills in using the product, and ensure that most users can make full use of the product's functions) and logistics management (to ensure stable product development ). All six departments have department managers. If the project is large, a team lead may be set up between the manager and the team members. If the project is small, the team may be integrated, become a project management team, software development team, and test team. The product management, user training, and logistics management meetings are arranged in other teams, however, it is guaranteed that the software development team is an independent team, which has a structure of 1 + 3. These six departments share a parallel relationship, that is, they are not governed by anyone.

In order to give full play to the master spirit of employees and to retain talents, Microsoft has done a lot. In addition to its own strength and high salary, Microsoft's corporate culture is very good, for example, humanized attendance and family-style work environment. In addition, Microsoft assigns a certain number of company shares to each new employee based on his qualifications and abilities, in addition, the number of shares will be increased or decreased regularly based on the employee's score. If Microsoft's stock increases, the stock price difference will be owned by the employee. This gives every employee a sense of shared honor and disgrace with the company.

guiding principles of Microsoft software development:
● the software development process is driven by the goal, rather than having specific task-driven
● all milestones in the development process are obvious
● version-based release
● the schedule is developed based on the risk-driven model.
● relying on full team cooperation
● strict management, quality Assurance

there are four major milestones:
● milestones in the approval of ideas and intentions
● milestones in the adoption of the product plan
● completion of the scope/first use history
● release milestones
risk management will be introduced in the first three phases. After the ideas and intentions are put forward, risks such as market and technology should be evaluated. Once a project is established, it will enter the functional specification refinement and design stage. Risk assessment should be carried out according to the functional design, the overall schedule should be formulated. in the trial phase, the detailed design change schedule should be combined with the Code , evaluate risks and change the progress table in a timely manner based on minor changes to functions and bugs detected during testing. Some projects may fail in the first stage, and some projects fail in the second stage, some have even been killed in the third stage (for example, when the product being developed has new technical implementations or the product being developed is not competitive with competitors ).

Software Development Microsoft does not do much differently than other software companies, but there are two points to mention:
in a minimal unit development group, documents and code are shared, and Members need to read the code from each other. Once a member leaves the company, the project development progress will not be greatly affected;
do your best to allow developers to only do development, because developers are technical contributors. Microsoft has done two things to keep them enthusiastic about technology:
(1) some functions unrelated to development are separated from the development team to other teams. One of the most important responsibilities is to remove the function design from the project management team.
(2) salaries are linked to administrative levels rather than jobs. If you are a senior programmer , you can work as your programmer, you don't have to go to the management level to improve your salary, because your senior technical staff thinks that your administrative level is high, and you may get a higher salary than the manager's.
Microsoft started its test at the beginning of development and was available in the official product version. If a lightweight project contains 10 members, there will be five tests, one project manager, three developers, and one other job. here we can see that Microsoft attaches great importance to testing.

the role of project manager is very important. Unlike the project leader of the Development Department, the project manager does not need to write code, but must have high-level technical expertise. Technology is designed to serve people and facilitate communication. This is because a technician usually does not reflect the problem to a project manager who does not know the technology, nor does he really respect him.
He mainly performs the following tasks:
(1) develop the product Vision Plan and write the project specification.
(2) Prepare a detailed task list to track the execution of these tasks and ensure that they comply with the original design of the Specification.
(3) organizing meetings with incorrect review procedures.
(4) guides the project development process design and implementation.
(5) make trade-offs and decisions on various implementation schemes.
(6) Coordinate the interaction between the various groups of personnel, including development engineers, test engineers, product managers, user education and localization personnel.
A special feature of Microsoft is that any member of the project team can write a note and paste it on the wall of the meeting room if they have any suggestions for the project, an important task of the project manager group every day is to collect these notes, sort and read the paper, communicate with the project staff, and make trade-offs to avoid risks and adopt good words.
by reporting to the product unit manager, the Project Manager can allocate project resources (including all project team members, however, the development team and test team are not under his jurisdiction in the administration, and they cannot influence their salaries and positions. Product design, product implementation, and product testing are mutually compatible, mutually constrained, and mutually dependent.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.