I. team organization
1. FAQs
· No one is willing to perform tests
· Unable to support so many testers
· Developers do not follow the rules and do what they want
· The project manager has no skills in separation.
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 some functions for each milestone
· Facilitates the team to concentrate on completing one function after another
· Multiple opportunities are provided to adapt to changes
How to complete a milestone
· Step 1: reach consensus
· 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
· Compile detailed functional specifications (the project manager is responsible)
· Clarify all functional processes and guide users to clarify their needs before Programming
· All roles participate in the review of functional specifications
· Develop development plans and schedules (development teams)
· Develop test plans and schedules (test teams)
· 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
· Enable 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
· Implement the 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: stability and release
· The test group fully tests functions, including performance and stability.
· The Development Team fully cooperates to solve bugs
· Use BMS
· Monitoring Quality
· Predicted release date
· Expert Consultation Mechanism:
· Determine the priority of bugs
· 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: crashed, no response
· Incompatible
· Boundary Conditions
· The interface, messages, and prompts are not accurate enough 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 judgment 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. If there is a typo
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
· Compare bugs created every day with bugs corrected
· Total number of active state 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