Windows Development Process
Posted: Wed Jun 09, 2021 10:34 am
The process that takes place within Microsoft to result in a shipped version of Windows (and, sometimes, an unshipped version!) has been roughly the same for all versions of Windows released up until this point; generally, the following things must happen.
1. The project specifications are set out. This generally encompasses things such as setting out which main features will be included and a projected release date.
2. Developer groups are created. The developer groups (technically known as "build labs"), which comprise Microsoft employees, work in parallel to each other, compiling "builds" (a build is just a particular version of the operating system being worked on that contains a certain selection of features - a bit like a "practice version" that can be tested out to see what works and what needs fixing). Each developer group might be tasked to work on different sections of the operating system, for example, "group 1" might be instructed to work on creating the media functionality that is needed. When a developer group has finished a build, they give it a number, such as "1456". (Note: A higher build number does not necessarily mean a later version of the operating system. For example, "group 1" might compile build 1456 on 13th May, whilst "group 2" could compile build 1395 on 15th May, and so on.) The development process is split into phases (technically known as "branches"); generally, alpha, beta, release candidate (RC) and release to manufacturing (RTM). Each branch contains a selection of builds that are numbered within a predefined, designated range (e.g. 1000-1099 for the alpha branch).
3. Testers test the features developers have been working on. Historically, at various stages during development, select builds were chosen to send to testers inside Microsoft. The testers would install and use the builds to check to see if anything is broken, or if there were any bugs. They would then feedback to the developers and this feedback would be used to fix and/or improve future builds. Usually, in the beta and RC branches, an "official" build would be chosen from the selection of builds and this would be shared with developers outside Microsoft and/or consumers themselves in order for it to be tested on as wide a variety of hardware as possible. Users would then feedback to the developers inside Microsoft and this feedback would be used to fix and/or improve future builds. Beginning with Windows 10, Microsoft introduced the Windows Insider Program, which made this whole process of building, testing and feedback much more transparent, with many more builds being offered to testers outside Microsoft (so-called "Windows Insiders") much more often. The Windows Insider Program is free for anyone to join to help test Windows builds - go check it out!
4. Developers incorporate feedback from testers and continue to compile new builds. The exact number of builds compiled during development depends on a variety of factors but is strongly influenced by tester feedback.
5. Finally, one build is chosen as the "final" version of the operating system. This only happens after extensive and thorough testing to ensure the security and stability of the build. It is then released to manufacturers so that they can install it on devices ready to be sold to consumers. This is known as the release to manufacturing (RTM) build. In the past, consumers would also be able to buy a physical or digital copy of the RTM build to install on existing hardware a short time after manufacturers got it (typically a couple of months). More recently, new versions of Windows have been offered to consumers as free upgrades (e.g. a free upgrade to Windows 10 was offered to all Windows 7, 8 and 8.1 users).
1. The project specifications are set out. This generally encompasses things such as setting out which main features will be included and a projected release date.
2. Developer groups are created. The developer groups (technically known as "build labs"), which comprise Microsoft employees, work in parallel to each other, compiling "builds" (a build is just a particular version of the operating system being worked on that contains a certain selection of features - a bit like a "practice version" that can be tested out to see what works and what needs fixing). Each developer group might be tasked to work on different sections of the operating system, for example, "group 1" might be instructed to work on creating the media functionality that is needed. When a developer group has finished a build, they give it a number, such as "1456". (Note: A higher build number does not necessarily mean a later version of the operating system. For example, "group 1" might compile build 1456 on 13th May, whilst "group 2" could compile build 1395 on 15th May, and so on.) The development process is split into phases (technically known as "branches"); generally, alpha, beta, release candidate (RC) and release to manufacturing (RTM). Each branch contains a selection of builds that are numbered within a predefined, designated range (e.g. 1000-1099 for the alpha branch).
3. Testers test the features developers have been working on. Historically, at various stages during development, select builds were chosen to send to testers inside Microsoft. The testers would install and use the builds to check to see if anything is broken, or if there were any bugs. They would then feedback to the developers and this feedback would be used to fix and/or improve future builds. Usually, in the beta and RC branches, an "official" build would be chosen from the selection of builds and this would be shared with developers outside Microsoft and/or consumers themselves in order for it to be tested on as wide a variety of hardware as possible. Users would then feedback to the developers inside Microsoft and this feedback would be used to fix and/or improve future builds. Beginning with Windows 10, Microsoft introduced the Windows Insider Program, which made this whole process of building, testing and feedback much more transparent, with many more builds being offered to testers outside Microsoft (so-called "Windows Insiders") much more often. The Windows Insider Program is free for anyone to join to help test Windows builds - go check it out!
4. Developers incorporate feedback from testers and continue to compile new builds. The exact number of builds compiled during development depends on a variety of factors but is strongly influenced by tester feedback.
5. Finally, one build is chosen as the "final" version of the operating system. This only happens after extensive and thorough testing to ensure the security and stability of the build. It is then released to manufacturers so that they can install it on devices ready to be sold to consumers. This is known as the release to manufacturing (RTM) build. In the past, consumers would also be able to buy a physical or digital copy of the RTM build to install on existing hardware a short time after manufacturers got it (typically a couple of months). More recently, new versions of Windows have been offered to consumers as free upgrades (e.g. a free upgrade to Windows 10 was offered to all Windows 7, 8 and 8.1 users).