Microsoft software technology content of the instruction Series: Microsoft Product Cycle Model Training

  (Statement: This series is integrated teaching notes sorted out by the relevant information be limited to the individual learning, research or enjoy the use of the use of reproduced please indicate the source. Such as that used for commercial purposes must obtain permission from the copyright holder enjoys. With the Microsoft Highlights of teaching engineers very grateful!) 

  Microsoft Product Cycle Model Training 

  , A Microsoft product development cycle model 

  Microsoft's product development cycle is usually divided into five phases: 

  1, plans to: market analysis is done, look at the market there is no such demand for software products, as well as what our competitors. 

  2, Design: Major software to achieve the function, the user what kind of problems.    Detailed aspects including the choice of what language to write code, as well as the support of the development platform used by the model. 

  3, achieved: the design is based on writing code, and at the same time to test for Bug. 

  4, stability: just write code certainly exist many problems, and stability is to find out that most of these problems, and then be amended. 

  5, release. 

  All the Microsoft development team in the development of software products must abide by this development cycle, but each team may be slightly different, different teams at different stages in the time spent is not the same. 

  Product development cycle as shown in Figure 1 are as follows: 

  Microsoft software products installed within three posts, respectively, program manager, developers, testers.    Which is the program manager of Microsoft in a special post is not necessarily true of managers, the following is not necessarily a subordinate.    Program manager is doing the best understanding of the works of a person, and his work is the project team within the extension of the integrated management functions.    In the software development process, the program manager did not personally write code, but his good condition and on time to customers to the right product bears full responsibility.    Generally speaking, the program manager needs through their own hard work of the project team members won recognition and respect, the project team won the right to organize, coordinate and develop the rights and the decision-making power. 

  Some people think that as long as programmers have excellent, we can develop outstanding software products.    Such a view is one-sided.    On the one hand, a complete commercial software products related to documentation, code, user interfaces, testing and distribution, and so on the other hand, if there is no effective organization, coordination and management, when large-scale development of the project team, even though another excellent programmers together, it is difficult to form a cohesive force to be developed to meet the needs of the commercial market of qualified large software.    This is also in 1984, the program manager gradually boarded the management of software development arena, and the reasons for the continuous growth and expansion.    Microsoft currently has possession of more than 5000 program manager, this figure accounted for almost one-tenth of the total number of Microsoft employees. 

  1, the program manager should have a macro, the entire range of products from the perspective of the function responsible for the preparation of product brochures. 

  2, the program manager should follow up and promote each of the project team work, based on product functionality requirements specification to ensure that the work of the project team and the goal of fully consistent product. 

  3, track and manage the progress of projects. 

  4, the organization projects, the assessment and management of the Bug has been found. 

  5, the project needs to adjust or change in the issue of decision-making. 

  6, and projects both within and outside the personnel to maintain exchanges and communication. 

  Sum up in one sentence: program manager of the project leaders, project resource scheduling, is the coordinator of the project. 

  Staff development is the main duty of the strong to write good code.    But only to write the code is not enough, and staff would be needed for the development of design capabilities, as well as a debugger and the ability to correct mistakes. 

  Test is the main duty of drawing up detailed test strategies and test plans, writing detailed and accurate test reports and the preparation of high-performance testing tools.    At the design stage to play a supervisory functions, the best stage depends on whether the code with the design, but also the document inspection procedures manuals. 

  An excellent test a wide range of technical knowledge on the different platforms, development languages and development of technology must have deep understanding.    To be good at using unconventional means, consider issues not confined to a frame, can jump out of a convention to consider the issue.    For example, Microsoft in the recruitment test staff often ask a question is, how to test a pen.    First is certainly should be able to write, write when Buloushui, tight T-sets can, but you have to wonder whether a pen on whether installed in the pocket, will be placed under the sun drying, like these We should think of more things.    Had a very strong test, in 20 minutes of the write more than 50 of the pen test methods.    It is necessary to continuously analyze and summarize the process of software development may be wrong link, as much as possible should participate in the software testing projects, in practice learning skills and accumulated experience.    In addition, after the completion of any products, the customer is the use of a test.    The testing must put ourselves in general, know very little about the computer knowledge of the consumer point of view to test software, rather than a computer has many years of experience in personnel. 

  Microsoft Apart from the above positions, there are a lot of ancillary jobs, such as marketing, sales, product planning full-time staff, hardware design, full-time help users write documents, localization of personnel (eg Han of staff), art design, after-sales service personnel, public relations personnel, as well as legal advisers. 

  [1] planning stage 

  Any software development work must be guided by the market, the market is clearly on the existence of or potential business opportunities for software products is a prerequisite for the project.    In preliminary market analysis done by the large number of business opportunities on the basis of identified by the company's management in charge of formulating macroeconomic business plans.    Technical staff at this time can provide for the management of technical level, the suggestion for them in the decision-making reference. 

  [2] design stage 

  At the design stage, the project team to complete the project's all planning, including the preparation of functional specification, the outline of the completed design, the preparation of work plans, develop cost estimates and the development schedule, etc.. 

  Early in the design phase, the project team and customer needs analysis of its written.    Subsequently, the project team began to design the whole solution, and the preparation of product features manual, the process for ensuring customer requirements and product characteristics of the corresponding relationship between extremely important.    The project team must ensure that the product features to be accurate, complete and reflects customer demand, and help clients achieve business objectives.    In the functional specification should be explained in detail the characteristics of each software function and implementation modalities, as well as all of the portfolio and the overall framework.    It should also be based on the degree of urgency of the needs of the market and the product structure of the status of product characteristics and other factors determine the priority, and access to resources resulting budget, and progress is expected and anticipated, and other risks.    Functional specification is that all project team members the cornerstone of the work simultaneously, it enables developers, testers and other members of the project team defined the functions of each product characteristics, mode of operation and interfaces, and other information. 

  When the functional specification is complete, the project team can begin detailed design of the project, including the development, design, test design, security design, and so on.    Design is not at all obvious contradictions or conflicts, they will be pooled into a design of the project, the project team members, and so estimates of their work time and the preparation work schedules. 

  Implementation stage of the main tasks is to complete all the components of the product development work (including the code and documentation), in addition to audit design documentation, installation and configuration development environment, code check-in, daily product generation and database management Bug . 

  Which is to say, documents, brochures at this stage is very important, if there is no qualified software project documents, there will be communication difficulties and the transmission line.    First, it is an important source of reference test followed by the current flow of personnel, great, if a core programmers once they left after the project team, leaving only a pile of code, then took over to the next person it is necessary to have this procedure Design ideas, the very essence of the difficulties of such a thing on the impact of the projects is usually fatal, in the Microsoft WMI snmp provider This is a typical example. 

  Microsoft to use a unified database management source code, documentation, and other resources, and tracking resources and the preservation of the different versions.    After the daily development, developers must make their own computer and the source of the latest update to the document in the database, a process known as check-in process.    In addition, Microsoft's software development projects in the experience of one of the most successful product is generated daily, every day compiler code generation and integrity of the executable version, and every generation version of the procedures for quick test to ensure that every product every time changes and the seizure of the products would not undermine the overall structure, the largest in the entire process of product development process can be managed, it can be expected, as well as enhanced product stability. 

  Bug database management major tasks for each product Bug establishment of a centralized database of products including the Bug general code defects and product characteristics is not perfect, most of the records are from the Bug testers added.    Program manager responsible for the daily review Bug database, and for the development staff allocation Bug modification, developers amended Bug and the results sent back to the test.    Test the use of daily production to test whether the Bug has been amended, if corrections have been identified, documented and closed Bug amend the Bug. 

  [4] stabilization phase 

  Stable phase of the main task is to test the product, the focus of this phase of the trial is in a real environment for the use and testing confirmed the entire solution has been completed and can be released.    This phase of the work includes the freezing of products, code completion, the user interface to freeze Beta release. 

  Features freeze means that unless there are special reasons, it was no longer the project team to add new features or modify the properties have been identified.    Code completion means that developers completed all the coding task, the staff began testing the system integration testing.    Bug day program manager assessment, monitoring and distribution Bug modification, and developers require constant amendment Bug.    User interface freeze means that the user interface is no longer the style of a change at the interface of information that no longer change.    Full-time users to help engineers started preparing documents on-line help and user manuals.    If changes are required to be audited by the program manager, and for each change must be carefully tracking and management. 

  At that stage, there is a work called Microsoft Dogfood.    We all know that doing Goushi time, because the dog will not speech, there will be a person eating this dog food, and then to judge this food tastes.    Microsoft borrowed this kind of work, in each of the products prior to the completion of the internal staff must first conduct the trial.    At a time when the software is full of Bug, and could at any time result in a system crash, but all employees must continue to Dogfood, this means there are tens of thousands of tests in the testing software.    Dogfood purpose is not just to find Bug, there is a role is to help improve the interface, the design of operation. 

  [5] issued stage 

  Published phase of the whole project life cycle sprint stage, the main work includes reach zero Bug date, release candidate version of the official release, the signature recognition. 

  Zero Bug does not mean that the product does not Bug, it means that all the products have been found on the Bug was the effective management and control, and correct use of the affected product Bug.    Does not affect the use of the product, because of limited resources and lack of timely revision of the Bug tracking and records to ensure that all products have been found in the project Bug control of the group, can be at the appropriate time be amended. 

  Release candidate version (RC0 ~ RCx) means that all the known high priority Bug have been amended, the Bug is not important may be postponed until the next version of the amendment.    Developers should be amended within 24 hours of a major new discovery Bug, in the Bug that will release a new version of the candidate, and the new version of the candidate must be a full and complete regression testing. 

  Released products in the way the two versions, based on the boxed product launches (RTM), and Web-based release (RTW).    Test for the official release of the final signature, program manager also needs to sign it.    Product releases, usually to open a celebration, see movie, playing a good fun! 

  Xiajiyugao: Programming with Visual C + + 

Bookmark it: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Google
  • DotNetKicks
  • DZone
  • Furl
  • Netvouz

Tags:

Releated Articles


0 Comments to “Microsoft software technology content of the instruction Series: Microsoft Product Cycle Model Training”

No Comments. Send your comment.

Leave a Reply

You must be logged in to post a comment.