Glossary

Published 08 August 07 06:58 AM | ericbrec 

2.5, 3.0, 3.5, 4.0, 4.5 (also known as ratings, the review system, the curve)  

Microsoft’s old rating system, which was changed in the spring of 2006. Ratings of 2.5 and 3.0 were undesirable. Ratings of 4.0 and 4.5 were highly desirable. A 3.5 rating was readily accepted and the most common.

BillG, or Bill

Bill Gates, the Chief Software Architect and Chairman of the Board of Microsoft.

black box testing  

Testing that treats the product as a black box. You don’t have any access to or knowledge of the internal workings, so you probe it like a customer would—you use it and abuse it till it breaks.

BrianV, or Brian Valentine

Brian Valentine, former Microsoft senior vice president of the core Windows division.

buddy drop (also known as private build or buddy build)

A private build of a product used to verify code changes before they have been checked into the main code base.

bug, or work item

Internally, we use the term bug to refer to anything we want to add, delete, or change about a product, what most people generally call a work item. Naturally, this includes code mistakes, the more traditional kind of “bug.”

Build Verification Test (BVT)

Checks whether a software build satisfies a set of requirements.

Career Stage Profile (CSP)

Detailed descriptions of the work expected of employees at different career stages for different disciplines. CSPs also outline individual contributor and manager growth paths.

CodeBox (also Toolbox or CodePlex)

A repository for shared tools and code. CodeBox is an internal code-sharing repository. Toolbox is an internal repository, mostly focused on tools and scripts. CodePlex is an external code-sharing repository.

code complete

The stage at which the developer believes all the code necessary to implement a feature has been checked into source control. Often this is a judgment call, but on better teams it’s actually measured based on quality criteria (at which point it’s often called “feature complete”).

dogfooding (also known as “eating your own dogfood”)

The practice of using prerelease builds of products for day-to-day work. It encourages teams to make products correctly from the start, and it provides early feedback on the products’ value and usability.

external bug, or external

A bug in code not owned by the team. These bugs should never be ignored unless there is a straightforward workaround.

feature

A self-contained collection of functionality needed to provide incremental value to a product. Although features can be large, ideally a feature is work broken down to the point of requiring no more than five weeks of effort to design, develop, and test.

Feature Crew

A small, cross-discipline team tasked with a single feature, or closely related small features, to design, spec, develop, and test together from start to finish. Feature Crews are typically virtual teams: the team members don’t all report to the same manager.

milestone

Project dates that organizations (from 50 through 5,000 people) use to synchronize their work and review project plans. The term milestone is also used to refer to the work time between milestone dates. Milestone durations vary from team to team and product to product. Typically, they range from 6 to 12 weeks each. Calling a “milestone” a “sprint” does disservice to both terms.

PREfast, or Code Analysis for C/C++

PREfast is a static analysis tool for the C and C++ programming languages that identifies suspect coding patterns that might lead to buffer overruns or other serious programming errors. Though initially used only internally, it recently shipped as part of Visual Studio 2005.

Product Unit Manager (also known as PUM, Group Manager, Director)

The first level of multidisciplinary management. Typically, the PUM is in charge of a self-contained collection of functionality, such as Excel, DirectX, or ActiveSync.

program management, or program manager (PM)

The engineering discipline primarily responsible for specifying the end-user experience, including the overall project schedule, which determines when that experience will release.

project, or release

The entire collection of work necessary to release a specific version or service pack of a product.

RAID (related terms include Product Studio, bug database, work item database)

RAID is a database and client for tracking work items, which can include feature work, bug reports, and design change requests.

reorg

Short for “reorganization.” Typically, a reorg starts at the top and works its way down over a period of 9 to 18 months.

RDQ, or PSQ

A work item database query used to determine the state of work for a project.

scenario

A description of an end user accomplishing a task that may or may not be implemented in the current product. Scenarios typically involve using multiple features.

Software Development Engineer (SDE)

A software developer. This refers to the people who write the code and construct the customer experience.

Source Depot, or source control

Our large-scale source control system that manages hundreds of millions of lines of source code and tools, including version control and branching.

specification (spec)

Documentation that specifies how a product should be experienced, constructed, tested, or deployed.

SQM (also known as Software Quality Metrics, Customer Experience Improvement Program)

SQM is the internal name for the technology behind customer experience improvement programs for MSN, Office, Windows Vista, and other applications. These programs anonymously aggregate customer usage patterns and experiences. (Please join when you install our software; it lets us know what works and what doesn’t.)

SteveB, or Steve

Steve Balmer, the Chief Executive Officer (CEO) of Microsoft.

STRIDE

A mnemonic device to help people remember the different kinds of security threats: spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege. Writing Secure Code by Michael Howard and David LeBlanc (Microsoft Press, 2002) has all the details.

Test-Driven Development (TDD)

An Agile methodology in which developers write tests for code before the code is written.

Toolbox (also CodeBox or CodePlex)

A repository for shared tools and code. Toolbox is an internal repository, mostly focused on tools and scripts, not code. CodeBox is an internal code-sharing repository. CodePlex is an external code-sharing repository.

triage (also known as bug triage or issue management)

A regular meeting toward the end of development cycles to manage issues. Typically, these meetings are attended by representatives from the three primary engineering disciplines: program management, development, and test.

Trustworthy Computing (TwC)

The Microsoft initiative on security, privacy, reliability, and sound business practices.

User Experience (UX)

Refers to the User Experience discipline, which includes mostly designers and usability experts.

Watson (also known as Crash Watson or Windows Error Reporting)

Watson is the internal name for the functionality behind the Send Error Report dialog box you see when an application running on Windows crashes. (Always send it; we truly do pay attention.)

Watson bucket

Each “Watson bucket” represents and stores a customer issue that thousands, sometimes millions, of customers have experienced. Engineers inside and outside of Microsoft can query which buckets came from issues in their software.

white box testing

Testing that uses instrumentation to automatically and systematically test every aspect of the product. Microsoft is steadily replacing its black box testing with white box testing.

zero bug bounce (ZBB)

The first moment in a project when all features are complete and every work item is resolved. This moment rarely lasts very long. Often within an hour, a new issue arises through extended system testing and the team goes back to work. Nevertheless, ZBB means the end is predictably within sight.

Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Web Development Tips, Tricks & Trivia » Blog Archive » Book Review - I. M. Wright’s Hard Code said on May 27, 2009 7:31 AM:

PingBack from http://webdevelopment.mobiforumz.com/2008/11/17/book-review-i-m-wrights-hard-code/

Leave a Comment

(required) 
(optional)
(required) 

  
Enter Code Here: Required

About ericbrec

I. M. Wright is an alter ego of Eric Brechner. Eric is the director of engineering learning and development for Microsoft Corporation. His group is responsible for improving the people, processes, and practices of software development across Microsoft through the application of Human Performance Technology. Prior to his current assignment, Eric was director of development training and managed development for a shared feature team in Microsoft Office. Before joining Microsoft in 1995, Eric was a senior principal scientist at The Boeing Company, where he worked in the areas of large-scale visualization, computational geometry, network communications, data-flow languages, and software integration. He was the principal architect of FlyThru, the walkthrough program for the 20 gigabyte, 500+ million polygon model of the Boeing 777 aircraft. Eric has also worked in computer graphics and CAD for Silicon Graphics, GRAFTEK, and the Jet Propulsion Laboratory. He holds eight patents, earned a BS and MS in mathematics and a PhD in applied mathematics from Rensselaer Polytechnic Institute, and is a certified performance technologist. Outside work, Eric is a proud husband and father of two boys. His younger son has autism. Eric works on autism insurance benefits and serves on the University of Washington Autism Center board. In the few remaining minutes of his day, Eric enjoys going to Seattle Mariners games, playing bridge, coaching Math Olympiad and baseball, and umpiring for Little League. Although Eric shares I. M. Wright’s passion for product, he tries to be a little more tolerant and open-minded.
Page view tracker