What Turned Microsoft On To Agile Development & How Did It Happen?

What Turned Microsoft On To Agile Development & How Did It Happen?

by Pete Daniel on 16 February 2015 · 2143 views

It was once traditional that Microsoft would trot out a new version of their Microsoft Office, Windows, Exchange mail server and SQL Server every 3-4 years. It sort of came to be expected. In between these times where a few updates and a host of security bulletins to fix all the holes in the software.

Missing Release Dates Commonplace

Whilst the company usually never made format announcements about release dates until they were absolutely certain, dates still got around the press early on giving the impression that the software was held up and delivered late. Under this perception Windows 95 was slow out of the gate, Windows 2000 not much better and Windows Vista was only released after the first version are trashed with instructions to start over.

The Waterfall Approach

This process became known as “The Waterfall” due to its many steps down and along until finally the software was released. Despite this approach, the company succeeded because no other companies seems to be doing it any different at the time.

Knowing how to develop software is not as easy as it sounds. There are many different approaches. Some work on some projects, others on other projects. None tend to work universally unless the evolve so quickly and product is developed so swiftly that changes happen on the fly.

Visual Studio under the Waterfall

9 large What Turned Microsoft On To Agile Development  How Did It Happen

When the Visual Studio team used to develop software it took two to 3 years. Design and planning too 4-6 months. Coding only took 6-8 weeks. Yes, weeks. Bug testing took 4 months. Hundreds of bugs were resolved. No new code was added to increase the feature set offered until testing was complete. A pubic beta followed. More development of 6-8 weeks. Then four months of more testing of this new code. Then they were done.

The Visual Studio team actually performed better than other divisions because usually they released a new version every 2 years which other divisions couldn't seem to manage at all. Software developers didn't see their creations hit the retails shelves for two years. It was frustrating for the Visual Studio team.

Changing World

The world went from mailing out floppy discs to updating web applications extremely frequently with no shipping or pesky updates for the end user to deal with. Whilst updating software every few years made sense in the age of slow distribution, it left Microsoft behind the curve when internet delivery was concerned.

Agile Development

Agile development came about at the start of the 1990s but didn't really take off until 2001.

To develop in an agile environment means to listen to the end user and what they want changed in the software. What do they use the software for and how can it best offer this solution?

Development is performed over weeks, tested with a live group of beta testers, and launched live just a few weeks after that. This brings the 2-3 year development phase down to a few weeks. The software doesn't have to be perfect. It is good enough to run for now, then improved with each new iteration. Think: Mobile apps updated almost weekly with bug fixes and occasional new features and you get the idea.

Visual Studio Development Goes Agile. First Time for Microsoft

Visual Studio software was used by developers who themselves used agile development principals. So whilst the rest of Microsoft stuck to the waterfall approach to development, the Visual Studio team struck out with a new approach.

Coverted private offices were replaced with an open office for a more team-based approach to cooperation. Regular standing meetings were held to hash out key points.

The latest Visual Studio 2010 had agile computing templates which were found to not be useful to programmers. They were too generic. Team Foundation Service was launched as a cloud service for rapid updates of these templates outside of the main 2-3 year development cycle. The fact that some of what they had delivered hasn't hit the mark and the users needed faster updates because they used agile computing principals in their own design means the team had to do a complete rethink. This opened the door to agile computing within the Visual Studio team.

Getting Ready for the Scrum

The Visual Studio team was divided up into small scrum teams with development, testing and design personnel working together for the first time. First length bursts of software development followed which were dubbed sprints. A sprint would last 1-4 weeks. Stand up daily meetings kept things on point and to the point. One team member acts as product owner and represents new features or fixes that are wanted by customers.

Following a sprint, the software is tested and released quickly. Fixes needed to software would get fixed as a high priority item during the next development phase.

Expanding Agile Development to Other Teams

3 large What Turned Microsoft On To Agile Development  How Did It Happen

It was an entirely new way of working for Microsoft. Other teams followed with the Skype/Lync team using two week sprints instead of 3 week ones at Visual Studio. Microsoft Studios Shared Services also jumped on board.

Elsewhere, the company started to deal with the fiefdoms approach to each division where the Windows Server 2008 version with its Hyper-V feature wasn't robust enough to suit the Azure team with their cloud infrastructure needs. Previously this would cause an issue for the company where no one wanted to accede control. Now, new developments are folded into the Windows Server software so that it is able to deliver what the Azure team requires.

Bing, Office 365 and Office for iPad

Bing have gotten on board combining the design, development and testing team into one. So now has the Operating Systems Group which is doing more to test as they go. The team behind Office 365 and Office for iPad are also working in more agile ways than every before to provide updates in the cloud via the new subscription model that has been a breakout success for the company with their Office 365 product and led to record download numbers when Office for iPad was finally released.

6 large What Turned Microsoft On To Agile Development  How Did It Happen

No Time to Develop? Then Acquire

When Microsoft doesn't have time to develop new software, they're also not averse to buying an existing app and overhauling it as was the case with the recently released Outlook which finally made it over to multiple mobile platforms but did so via the acquisition route rather than from development from scratch.

Agile Is Doing Wonders for Microsoft

As Microsoft continue to adapt to agile software development techniques, more of the company's software products are likely to go cross-platform with faster update cycles, and available in the cloud for the first time. All of this is also having an unexpected benefit for the company: Trust. The level of trust from consumers with this more open, faster development process across multiple platforms is being received favorably by software users.

Comments (0)
Featured Articles