Overview |  | Roles |  | Work Items |  | Views |  | Index |  | Glossary |

Project Portal
| ### Next Steps Build a Product |
| Fix a Bug Developer
|  | Participating Roles Responsible: Developer
### Overview A bug indicates a potential need for corrective work on already implemented code. Fixing a bug might result in no action beyond changing the state of the bug, or changing the code. To prevent bug fixes from disrupting working code, the bug fixing process must be systematic and controlled. After a bug fix has been completed, the changed code must be checked against the design and coding guidelines, unit tested, reviewed, integrated, and checked in. The bug owner follows all code requirements that pertain to the affected code, as well as the design concepts and guidelines that drove the implementation. Failing to do so can cause the "fix" to be worse than the original problem. # Entry Criteria Triage determines the bug needs to be fixed. The bug is assigned. # Activities
1 | Reproduce the Bug | Follow bug description. Obtain more information on the bug. Abandon bug.
2 | Locate the Cause of a Bug | Isolate the functional area. Trace code areas. Analyze the system. Pinpoint the problem. Perform code analysis.
3 | Reassign a Bug | Modify the bug description. Update the bug ownership.
4 | Decide on a Bug Fix Strategy | Analyze located bug. Decide on architectural fix. Decide on resource fix. Decide on performance fix.
5 | Code the Fix for a Bug | Retrieve code. Write new code. Fix code in existing files.
6 | Create or Update a Unit Test | Identify the scope of the unit test. Write or update the unit test. Validate the unit test.
7 | Perform a Unit Test | Identify the unit test from the collection. Perform a unit test. Analyze the results of the test. Debug the code.
8 | Refactor Code | Identify complexity. Apply refactoring. Perform unit tests.
9 | Review Code | Verify name correctness. Verify code relevance. Verify extensibility. Verify minimum code complexity. Verify algorithmic complexity. Verify code security. Fix review changes.
10 | Integrate Code Changes | Check dependencies. Test and integrate with other development tasks. Check in set of changes.
# Exit Criteria
| The code coverage for the unit tests meets the test metric threshold or non-coverage is explained.
| The bug is fixed and ready for verification. The state of the bug is resolved.
| The bug is abandoned as not reproducible. The bug is reassigned to the tester that created it.
(C) 2005 Microsoft Corporation. All rights reserved. Build 97 |