Microsoft's Modernized Development Workflow Begins To Show Cracks
When Satya Nadella took over the top position of the org chart at Microsoft, he made several key decisions that have helped shape the direction of the company. By moving the company to a ‘mobile first, cloud first’ stance, layoffs of thousands across many different orgs, and consolidating business units, it’s safe to say that this Microsoft is now fully his.
One of the key decisions that Nadella made was to change how software was built inside the company. Prior to his implementation of a streamlined operation to help ship code faster, there as roughly a one-to-one relationship between developers and those who test the code for stability and bugs.
After the layoffs, which gutted a significant portion of the employees who were in the testing group, management pushed down the idea that developers should be fully responsible for their own code. This, in itself, is not a crazy idea, but the transition to this methodology is starting to show its weakness in the products that Microsoft has been shipping since the release of Windows 10.
For decades, Microsoft utilized its older workflow of including having an extra step to allow code to be fully tested, but this came at the expense of increased development time and longer cycles between shipping products. While the idea of holding developers responsible for their own code is not outlandish, the issue comes with how quickly the transition occurred.
For employees who had been working at the company under Ballmer or even Gates, switching methodology, almost overnight, to now having to code and fully test your application came as a shock to the traditional development cycle. According to several people familiar with the new process who asked not to be named, the new workflow caused issues for developers as they were not quite sure how to balance time devoted to testing versus building.
Further, having spent years coding and not performing detailed and prolonged testing, their methods for quality control were not to the same standards as those who were dedicated to the task.
Under the new process, the time allotted to building out new features includes testing the code as well, which it previously did not, which means that those engineers who are accustomed to the old style, now find themselves under more pressure to turn out quality code in a shorter period since they have to do the detailed testing. The end result, as we have seen with Windows 10, is a product with more bugs and its starting to show the weakness of the new process flow.
For TH2, which is the November update Microsoft released for Windows 10 that brought a few new features and was supposed to increase stability, the update has been filled with bugs that have exacerbated previous issues and raise serious concerns about how the company is operating under its modernized workflow for development.
With my current install, the Mail app will increase the CPU usage on my machine by 30%, I cannot put my machine to sleep (it instantly wakes back up), Edge crashes so many times a day that I finally gave up and switched to Firefox, the Start menu will still refuse to open on some occasions, the lock screen is not always full screen and shows content behind the locked window and the list goes on and on for other users. I asked on Twitter what problems people were running into and the list only grows significantly and echos many of the same issues that I have.
One developer at Microsoft lamented how the company is trying to shove everything into the Windows store when the framework is still not good enough for high performance tasks. This issue, they state, is one of the reasons why they believe modern apps have not fully taken off, as their performance lags behind that of a traditional win32 app.
Other issues have popped up in software on the mobile side as well, but with such a small market share and lack of enthusiasm from the company about its mobile OS, not much attention is given to this platform.
Unfortunately, these issues are not entirely unique to Microsoft. Apple’s iOS 8 was riddled with bugs, so much so that iOS 9 was a stabilized release of the same OS and its desktop OS, Yosemite, had its own problems as well.
The software market has seen dramatic changes over the past few years that has resulted in consumers expecting fast release cadences. This expedited release cycle has resulted in software that is not fully baked and is released in what the market used to consider beta.
Microsoft has moved to a cycle of releasing two updates per year for its operating system, one in the spring and one in the fall but let’s hope that they pullback on the large expectations for each release and focus on quality releases rather than simply shoving new code out the door to appease consumers.