Agile Software Development Hits Stride After Years of Evangelism
Scrum is perhaps the most dominant Agile methodology. Scrum is an iterative and incremental Agile software development framework for managing software projects and product or application development. Its focus is on a flexible, holistic product development strategy where a development team works as a unit to reach a common goal, as opposed to a traditional, sequential approach. Kanban is a method for developing software products and processes with an emphasis on just-in-time delivery while not overloading the software developers. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see, and developers pull work from a queue. For its part, Microsoft is an example of a company that has benefited from Agile as both a user and a producer. Aaron Bjork, principal program manager lead for cloud developer services at Microsoft, told eWEEK Microsoft's transformation to become more Agile began back when the company was building Visual Studio 2010 and Team Foundation Server (TFS) 2010. "That was the first tool where we knew we had to start supporting Agile teams in a way we hadn't in the past," Bjork said. At the time, Microsoft was on a two-and-a-half-year cadence for releasing its developer toolset. Visual Studio Team System (VSTS) 2010 introduced new features and capabilities to help Agile teams with planning. Preparation for that release began in 2008. And in the fall of 2010, Microsoft began its planning for Visual Studio 2012.Bjork said all of Microsoft is moving in this direction, but the Visual Studio team is a bit more in touch with Agile because of its close-knit relationship with developers, who request new features and support for Agile processes all the time, he said. "Agile, Scrum and Kanban were all just buzzwords for a time, but not anymore." Microsoft supports Scrum and Kanban in the Visual Studio and TFS tools. "The place I see Agile paying off is that I'm able to engage with customers at a different level," Bjork said. "I can make changes faster, so I do a lot less apologizing for things we don't have than I had to do before. I can tell customers that something may not be coming in the next iteration, but I can get it in three months or six months down the road. We can meet the market where it is."
"We moved from six- to eight-week milestones to having three-week sprints," Bjork said. "Our entire division is aligned on this three-week cadence. We produce the Team Foundation Server as an on-premise solution, but we also provide the Team Foundation Service, which is a cloud-based offering. The services business is changing it for all of us. We realized we needed a different cadence and a different mindset to keep pace with the demands of providing a service. When you're an Agile team and you're working in iterations of two to three weeks, a goal is to have your product in a shippable status at all times. But the reality is unless you're shipping it, you're going to cheat. However, when you're delivering new features on a three-week cadence, you're not allowed to cheat."