From: Microsoft Cai
A. Team Organization
1. Frequently asked Questions no one wants to do tests and feel that they can't afford it. Testers developers do not follow the specifications, the project manager hands, Fen persisting
2. Microsoft Team Model
Responsibilities of each role
Role |
Duty |
Project Manager |
Write functional specifications and coordinate each role relationship |
Product Manager |
Customer-linked bridge for demand analysis |
User education |
Make the product easy to use |
Release manager |
Ensure product launch smoothly |
two. Project Management
1. Frequently asked Questions unable to determine the resource (human and budget) required for the project cannot determine the schedule and quality of the outsourced project
2. Microsoft Project Management--a multi-milestone process each milestone completes part of the functionality to enable the team to focus on one function after another to provide multiple opportunities to adapt to changes in requirements
How to complete a milestone step one: reach a consensus basic completion of demand research and analysis (product manager) identify large-and long-short-term goals all roles are involved in the discussion and really agree with the outcome of the document: Common User stories: over 80% features Vision: A concise description of the general direction and the role of the motivating team step two: Complete the project plan to write a detailed functional specification (project manager) before programming, think clearly about all the functional processes and guide the user to clearly require that all roles participate in the review function Specification development plan and schedule (development team) Develop a test plan and schedule (Test team) allocate resources (human and budget) to form the documents generated by the project synthesis plan and the synthesis schedule:
Functional specification, development plan, test plan (use case), Project synthesis plan
Development schedule, test schedule, comprehensive schedule step three: Complete the function developers to complete their own functions using version control tools to enable programmers to check out and check in timely, avoid accumulating a lot of code in time for the integration between modules, timely detection of problems (daily build) Test each testable feature without waiting for the test case tool to perform a complete and repeatable inspection of the functionality using BMS for defect tracking records all program problems implement automated processes for resolving bugs follow the comprehensive schedule to keep checking progress
Tools used: Version control tools VSS Defect Tracing Tool Raid/bms test Case management Tool Step IV: Stabilize and release test group comprehensive testing capabilities, including performance and stability development team fully cooperate to resolve bugs using BMS to monitor quality situation forecast release date expert consultation mechanism: decision Bug The priority determines which bugs can wait until the next milestone or version resolves the decision by who resolves a bug
Tools used: Version Control tool VSS Defect tracking Tool BMS test Case management tool
three. Microsoft's Development management experience: 100% with bug as the core
1. Bugs and common types of features are not implemented, and the specification is inconsistent can not work: death, no response incompatible boundary condition interface, message, prompt is not accurate, unfriendly to the unfinished work also as a bug document and help information in the flaw is also a bug
2. Basic functions of Raid/bms
Complete Bug Database The central record of the entire product group and control the powerful query function, effectively track the status of the project all the records can not be deleted, for each record can only continue to add a rich report function, for product release to provide a standard of judgment
3. Valid information in the Bug record
Status owner problem category severity priority modified time registration time |
Defect Source Solution Operating environment defect associated attachment drawings defect details |
4. The severity of the Bug , the loss of data, the loss of the main function group, the loss of the main function of the system, the loss of major functions, or the fatal error statement, the minor function is lost, less serious, such as the information is not too accurate and small problem, the function has little effect, the product and attributes can still be used. If there's a typo
5. The number of active bugs before the trend code is complete: Very little code is done: growth soon approaches beta: down close to RC: signal to 0 product quality and milestone daily new bugs vs. fixed bugs compare the total number of active status bugs
Four. Microsoft's Day
1. Let's take a look at how the day of each role in the project is spent developing test project Manager
Note: Each role has a different focus in each stage of the milestone, and we take the "complete function" phase as an example
Microsoft's Day starts from a few points.
Answer: Midnight
why.
Because daily build is at the heart of all work and is automatically started in the middle of the night.
Daily construct daily build do you know the version number of Windows you are using? The meaning of the Daily Build: The module is integrated in time requires the programmer to put the latest code into the code base in a timely manner. Implement the BVT build verification Test with the scripting language and the Compile/link tool to validate the build Blocking Bug let build not complete Problems found in the problem BVT
2. Programmers are most worried about before they go to work every day.
Answer: Because of own yesterday's code check-in, cause blocking Bug.
why.
Because the build of the day is the basis for everyone's work that day:
Programmer needs build verification interface with other modules
Test requires build to find a new bug and verify that a bug has been resolved in the new build
what to do with blocking bugs.
Fix the problem and patch the build for today.
Developer's Business
The first thing to do after going through the fear and race against build
Answer: Open the defect tracking tool to see the bugs assigned to you and resolve high priority bugs. Because the quality is heavier than the new feature.
Next, the developer will ...
Check out code from the version control tool
Modify code (fix bugs or implement new features)
Get the latest changes in the version tool, in native build and unit tests
Ask the development team to make code Review
Check in code
3. The first thing a tester does.
Answer: Open Raid/bms, view the bug assigned to you, and verify the resolved bug.
Next, the tester will ... Check today's build based on test cases to record newly discovered bugs in Raid/bms
4. Expert Consultation participants: Project manager and development team leader, test lead evaluate each unresolved bug by Raid/bms to determine if the bug priority can wait until the next milestone or version is resolved. Who will solve the forecast project actual progress and release time
Defect Trend Chart
5. Review the day structure of Microsoft : daily Build development: Solve blocking bugs, implement functions, Check-out, code review, check-in test: BVT, test project manager/Team leader: Expert Consultation
6. Microsoft's approach solves those common problems.
quality issues previously resolved issues are released again, need rework cannot be estimated release time is released prematurely, resulting in quality and maintenance problems testing found problems are forgotten or nothing can be measured. Problems in the work program of testers and developers are often not discovered until after they are released
Document Management issues document is out of line with the program, the document becomes the description of the program result the project group regards writing documents as a burden
Team Coordination Problem developer fighting each other, when it comes to integration, it is found that serious problems in module cohesion need to be changed. Not keeping the company's previous version and Code, unable to meet the user's changes to the old version requires developers to leave the project a great impact, no one knows where the code, or can not read
Five. Steps to improve software management
1. Use Raid/bms to automate process management
2. Use the test Case management tool
3. Using the Document management tool
4. Use the version Control tool for daily build
5. Building Code Standards
6. Building codes Review Mechanism
7. Establishment of Expert consultation mechanism
8. Establish a team communication mechanism
9. Adjust team structure as needed