"Programmer" [. Net] Microsoft software development process and team Model

Source: Internet
Author: User

[Guide]: Microsoft's product cycle model is the essence of Microsoft's 28 years of practical development experience. All Microsoft products, from initial product planning to programming, beta release, and official release, the development of the next version follows this cycle model. The Microsoft product cycle model is the core and basis of the entire Microsoft development process. The Microsoft development team model is a matrix model centered on the "Three driving carriage" architecture. Reasonable staffing and reasonable team architecture ensure that team members perform their respective duties and fully communicate with each other, develop high-quality products that meet user needs.
  
Software Development Process Model Comparison
Microsoft is the largest software company in the world, but Microsoft has not passed CMM certification. It does not use RUP or XP. Microsoft has its own software development process PCM. What are the differences between them? What do they have in common? Does Microsoft learn from each other from CMM, TSP, and PSP? How can Chinese software enterprises choose their own methods from these various development process models? Is CMM really helpful to Chinese software companies? Let's hear from Microsoft's Senior Project Manager.
Source code management and daily Compilation
Source Control (source control, also known as source code management, version control, software configuration management, and so on) and daily compilation (daily build, also known as nightly build, continuous integration, etc) it is the most important method in the software development process and the basis for implementing other processes (such as change management, defect management, and automatic testing ).
Alibaba Cloud's Product Planning Method
A good starting point is half the success. Only by correctly formulating product development strategies can the product be accepted by users after being pushed to the market and satisfied by customers after being delivered. In this topic, you will learn how Microsoft plans new software features, conducts market research, understands and analyzes customer needs, and collects user feedback.
Release zero defect software: defect management
Bug management is an important part in software development. In large-scale commercial software development, no Bug Management is unimaginable. Bug Management also plays an important role in Microsoft's software development process, whether it is a large software such as Windows or office, or a variety of internal gadgets, bug management throughout the entire development process.
Unit Test
With the increasing complexity of software products, more and more software companies begin to pay attention to unit testing and realize the importance of unit testing. Unit testing is also an important part of Microsoft's development process. This topic describes in detail the unit test methods and tools based on Microsoft's. NET technology to help you establish a unit test process.
Microsoft Program Manager
The program manager plays a very important role in the "Three Carriages" developed by Microsoft products. In the software industry, only Microsoft has this position. In this topic, I will give an overview of the causes and missions of Microsoft program managers, and focus on what kind of excellent qualities should be possessed and the career development path of program managers.
Write function specifications
The Function Specification is another unique feature in Microsoft's development process. It plays a very important role throughout the development process. The work of each member in the development team will be based on the functional specifications. A detailed and practical functional specification ensures that the entire development team works toward a unified goal without any deviations.
Write Design Specifications
The design specification is a bridge between the functional specification book and the final product implementation. It turns the movie script into a split-lens script and the abstract functional description into a programmer's design language. This topic will introduce the Writing Method of the design specification, which is different from "Outline Design" and "Detailed Design". How detailed should it be, whether to define all class interfaces and pseudo code .... These questions will be answered in this topic.
Progress tracking and control
It is very important in project management to develop and effectively track and control a reasonable and well-implemented schedule. This topic describes Microsoft's steps and methods for developing a schedule, and describes basic skills for effectively tracking and controlling the schedule.
Manage Requirements and design changes
During software compilation, changes are inevitable. Changes make communication between development team members more difficult. If no good analysis has been made before the change, the change implementation is not recorded and the change is not reported to the person who needs to know the change, the project team will be confused. The result is to reduce the quality of software products and improve software costs. This topic introduces the key concepts and processes of change management, analyzes the key to achieving effective change control, and analyzes the change management instances in Microsoft's release to help you develop a clear, it is a simple and applicable change rule that helps you better use it to improve understanding among team members, improve software quality, and reduce development risks and costs.
Project Management in software development
The customer's requirements are always changing, the resources available for the project are never enough, and the progress of the project is always delayed. This is an eternal topic of project management. This topic starts with the professional knowledge system of project management and runs through the successful experiences of Microsoft Project Management. We will discuss with you three things that will last forever in project management, it also shares the top 10 success rules of Microsoft Project Management, as well as scientific and efficient management methods, management technologies, and management tools.
Software Performance Testing
Use stress tool 1 for performance testing. The ultimate goal of an effective performance test is to help improve the performance of the product, so that the product can respond faster, increase the capacity, and consume less resources. Based on the five steps described in this topic, you can plan, prepare, execute, analyze, and improve your performance, it provides a purposeful understanding of system performance issues, targeted bottlenecks, and immediate performance improvement.
Automated Software Testing practices
Use automated testing tool 1 for automated testing. This topic will not talk about specific tools, but will share with you the experiences of Microsoft, so that you can see with yourself how the Microsoft product group can use automated testing freely, so that you can understand that automation is not mysterious, you can use it in your own project immediately. It helps you understand that automated testing is not a silver bullet, and eliminate incorrect expectations of your leaders and customers for automated testing. This topic will help you better perform automated testing, not just a tool starter.
User Interface Design
Excellent software interfaces and website design always make users feel comfortable everywhere. However, we can often see that some interfaces without design are full of controls, but they are still inconvenient to use. Some websites with gorgeous effects are not practical. How can you make the interface of your product both elegant and easy to use? How can you make your system interface look more professional? You must understand the principles of user interface design described in this topic.
Usability test
This topic will introduce Microsoft's unique Usability Lab and usability testing, and how to make your product easier to learn and use through usability testing. Users can use it without having to read the user manual.
Team coding winning strategy
If there is no good team coding method, one programmer is dragon and a group of programmers are worms. How does Microsoft organize a large number of excellent programmers, combine individual skills with team work, and compile reliable, easy-to-read, and high-quality code.

Related Article

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.