In the fast paced and modern business environment, the software and technology needs of companies can change rapidly, often with little or no warning as the organisation needs to respond quickly to new market demands or disruption from competitors.
Companies are being tested as the product lifecycle for something like an operating system has fallen from three to five years to annual releases, with companies who cannot deliver quick enough losing market share to rivals.
This makes for a challenging operating environment for internal software developers who struggle to keep up and consequently, adopt the Agile methodology that best suits their respective needs. With agile the main focus for developers is on delivering functional and tested software within short, frequent stages.
These new approaches are not limited to nimble start-ups and SMEs, as even big corporates and enterprises have adopted changes to become more agile. Microsoft, for instance, adopted a more nimble approach of agile implementation as part of its transformation from a devices and services business into a productivity and platform company.
In a blogpost last year, Satya Nadella, CEO of Microsoft summarised this transformative process in this way: “First, we will simplify the way we work to drive greater accountability, become more agile and move faster. As part of modernising our engineering processes the expectations we have from each of our disciplines will change. The overall result of these changes will be more productive, impactful teams across Microsoft.”
Beyond evolving its own organisation and culture, Microsoft is also helping customers, partners, and developer communities become more nimble by making their application lifecycle faster and more predictable through technology and tools such as DevOps and Agile. For instance, Microsoft has developed the Security Development Lifecycle (SDL) for Agile process to integrate critical security practices into the Agile methodology.
More agility leads to more apps more frequently
Consider the affect that the agile process has had on Microsoft customers like Xerox, which depends on its software development teams to deliver world-class solutions for customers around the world. By 2010 the number of different tools and processes being used throughout the company were hindering productivity, so a transformation process was started that focused on standardising tools, implementing agile development practices and Application Lifecycle Management (ALM).
Forming the basis of this transformation process was Microsoft Visual Studio Team Foundation Server, which helped Xerox connect its many development processes from source code control to user stories to builds, testing, and deployment.
Although there were numerous benefits to the process, by far the biggest benefit for Xerox was getting visibility into the projects and developer capacities, as this helped the company utilised its programming resources more efficiently, and deliver software to clients faster.
“As Microsoft, everything we do around development from collaboration to testing and customer feedback, has changed. Today, we think about how fast we can translate an idea into reality, and get it into customers’ hands as soon as possible. To achieve this goal, we needed to work more incrementally, deliver to customers faster, and let feedback make the product better. We did it ourselves, and now we can help your organisation reap the benefits of the agile process,” says Cliff de Wit, Developer Experience (DX) lead at Microsoft South Africa.