Microsoft Bug Management
From: Microsoft Cai Miao
I. team organization
1. FAQs
- No one is willing to perform the test
- I don't think I can afford so many testers
- Developers do not follow the rules and do what they want
- The project manager has no skills
2. Microsoft team Model
Roles and responsibilities
Role |
Responsibilities |
Project Manager |
Compile functional specifications to coordinate the relationship between roles |
Product Manager |
Customer Contact bridge for Demand Analysis |
User Education |
Make products easy to use |
Release Manager |
Ensure smooth product release |
2. Project Management
1. FAQs
- Unable to determine the resources required by the project (Manpower and budget)
- Unable to determine the project schedule
- Unable to control the progress and quality of outsourcing projects
2. Microsoft Project Management-multiple milestones
- Complete partial functions for each milestone
- Enables the team to focus on one function after another
- Provide multiple opportunities to adapt to changes
How to complete a milestone
- Basic requirement survey and analysis (responsible for the product manager)
- Determine the general direction and long, medium, and short-term goals
- All roles participate in the discussion and truly agree with the conclusion.
- Generated documents:
- Common User scenarios: over 80% features
- Vision: give a concise description of the general direction and motivate the team.
- Step 2: complete the project plan
- Write detailed functional specifications (Project Manager)
- Clarify all functional processes and guide users to clarify their needs before programming.
- All roles participate in reviewing functional specifications
- Develop development plans and schedules (Development Team)
- Develop test plan and schedule (test Team)
- Allocate resources (Manpower and budget)
- Form a comprehensive project plan and overall schedule
- Generated documents:
Functional specifications, development plans, test plans (use cases), and comprehensive project plans
Development schedule, test schedule, and overall schedule
- Step 3: complete functions
- Developers complete their own functions
- Use version control tools
- Enables programmers to check out and check in time to avoid accumulating a large amount of code.
- Timely integration between modules to promptly discover problems (daily build)
- Test each testable function without waiting
- Use Test Case tools to completely and repeatedly test functions
- Use BMs for defect tracking
- Record all program Problems
- Automatic Process for solving bugs
- Continuously check the progress according to the overall schedule
- Tools used:
- Version Control Tool VSS
- Defect tracking tool raid/BMS
- Test Case Management Tools
- Step 4: stable and released
- The test group fully tests functions, including performance and stability.
- The Development Team works with each other to solve bugs.
- Use BMS
- Monitoring Quality
- Predicted release date
- Expert Consultation Mechanism:
- Determines the priority of a bug.
- Decide which bugs can be solved by the next milestone or version.
- Decide who solves a bug
- Tools used:
- Version Control Tool VSS
- Defect tracking tool BMS
- Test Case Management Tools
Iii. Microsoft development management experience: 100% bug-oriented
1. Bugs and common types
- The function is not implemented and is inconsistent with the specification.
- Unable to work: dead, no response
- Incompatible
- Boundary Condition
- The interface, messages, and prompts are not accurate and unfriendly.
- Take unfinished work as a bug
- Defects in documents and help information are also bugs
2. Basic raid/BMS Functions
- Complete bug Database
- Central Record and control of the entire product group
- Powerful query function to effectively track the project status
- All records cannot be deleted. You can only add content to each record all the time.
- Rich report functions to provide criteria for product release
3. valid information in the bug record
- Status
- Owner
- Problem type
- Severity Level
- Priority
- Modification time
- Registration Time
|
- Defect Source
- Solution
- Running Environment
- Defect Association
- Attachment
- Diagram
- Defect details
|
4. Bug severity
- Crash, data loss, complete loss of main function groups, system Suspension
- Loss of main functions, resulting in serious problems or fatal false statements
- Secondary functions are lost, which is not very serious. If the prompt information is not accurate
- Minor issues have almost no impact on functions, and products and attributes can still be used.
5. Trends in the number of bugs activated
- Before Code Completion: few
- After the code is completed: the code grows rapidly
- Close to BETA: decline
- Approaching RC: heading toward Zero
- Product Quality and milestones
- The bug created every day is compared with the corrected bug.
- Total number of active status bugs
4. One day at Microsoft
1. Let's take a look at how each role spends its day in the project.
- Development
- Test
- Project Manager
Note: Each stage of a milestone has a different focus on the work of each role. Let's take the "completed function" stage as an example.
What time does Microsoft start from?
Answer: Midnight
Why?
Because daily build is the core of all work and is automatically started in the middle of the night.
Daily daily build
- Do you know your Windows version number?
- Meaning of daily build:
- Timely integration of modules
- Require programmers to promptly put the latest code into the code library
- Implemented Using scripting and compilation/linking tools
- BVT build verification test
- Blocking bug
- Problems that make build impossible
- Problems found in BVT
2. What do programmers worry most before going to work every day?
Answer: because of yesterday's code check-in, blocking bug occurs.
Why?
Because daily build is the basis for everyone's work on the day:
The programmer needs to build the interface for verification with other modules
The test requires the build to discover new bugs and verify the bugs solved in the new build.
What if there is a blocking bug?
Solve the problem and patch the build today.
Developer's business
What is the first thing to do after worrying about building and winning time?
Answer: Open the defect tracking tool and view the bugs assigned to you to solve high-priority bugs. Because quality is more important than new features.
Next, developers will...
Check out code from the version control tool
Modify code (fix bugs or implement new features)
Get the latest version changes in the tool, build and unit test on the local machine
Ask the developers for code review
Check in code
3. What do testers do first?
Answer: Open raid/BMS, view the bug assigned to you, and verify the resolved bug.
Next, the tester will...
- Test today's build based on test cases
- Record new bugs in raid/BMS
4. Expert Consultation
- Participants: Project Manager, Development Team lead, and test team lead
- Evaluate each unsolved bug through raid/BMS
- Determine bug priority
- Can I wait until the next milestone or version is resolved?
- Who will solve it?
- Predict the project's actual progress and release time
Defect trend chart
5. Review Microsoft's day
- Constructor: daily build
- Development: solves blocking bugs, implements functions, such as check-out, code review, and check-in.
- Test: BVT. Use test cases for testing.
- Project Manager/team lead: Expert Consultation
6. What common problems does Microsoft solve?
Quality Problems
- Problems solved before are released again and need to be reworked
- It is impossible to estimate the release time too early, resulting in quality and maintenance problems
- The problems found during the test are forgotten or lost.
- Unable to measure the work of testers and developers
- Problems in the program are often discovered after the release
Document Management Problems
- The document is out of touch with the program, which is the description of the program result.
- The project team regards document writing as a burden
Team coordination
- Developers work on their own. Major changes are needed to find serious problems in module cohesion during integration.
- You have not kept your company's previous versions and codes safe and cannot meet your requirements for changes to the old version.
- The departure of developers has a great impact on the project. No one knows where the code is or cannot understand it.
5. Steps to improve software management
1. Use raid/BMS to automate Process Management
2. Use the test case management tool
3. Use document management tools
4. Use the version control tool for daily build
5. Establish code standards
6. Establish code review mechanism
7. Establish an Expert Consultation Mechanism
8. Establish a team communication mechanism
9. Adjust the team structure as needed