How Agile Teams Make Digital Transformation Happen
Digital Transformation — the use of such technologies as mobility, analytics, social media and Internet of Things (IoT) devices to improve enterprise effectiveness — is revolutionizing how businesses operate and the ways project teams do their work. In order to keep up with and get closer to a new generation of digitally empowered customers, companies need to deliver new IT services faster than ever in a more entrepreneurial mode.
Technology, of course, is a big part of this. But the biggest challenge in transforming an organization to a digital business is your organization’s culture, i.e., the pre-existing values and behavior that have made it successful but will need to change to address the opportunities and risks in the new digital landscape. The key to this culture change are software project teams that adopt new and different ways of communicating and collaborating.
One way to create a culture of collaboration among the various teams involved in software development (developers, operations, quality assurance, business analysts, management, etc.) is to produce software in short cycles as part of an agile DevOps pipeline. DevOps speeds up the software release process by allowing for more incremental updates to applications in production, which reduces the cost, time, and risk of software delivery. Agile projects are more flexible than projects using a traditional "iron triangle" approach, which locks teams into delivering a piece of software within a required budget and timeframe, with rigid scope specifications, as shown here:
The Iron Triangle manages the expectations of customers who want high-quality software delivered quickly. Following its logic, when a project falls behind schedule, development teams present customers with three choices: to reduce scope; increase resources (and therefore cost); or to change the deadline.
Agile project management, on the other hand, accommodates change as the need arises, and scope, schedule and/or cost vary as required. It has this flexibility because agile teams engage with customers and other stakeholders throughout the project – to do things like prioritizing enhancements and bug fixes in the team's product backlog – and not just at the end of the project. The product backlog is an ordered list of work needs to be done on a project, maintained by a product owner (PO) and sorted by business value and risk. The role of the PO on an agile team is to be a representative of the customer and not to dictate how the team reaches a technical solution.
Unlike traditional software teams, agile teams are not directed and controlled from the top; instead the team is expected to manage itself. Because agile teams are self-organizing, no one has the role of telling other team members how to turn items on the Product Backlog into releasable code. (Agile Scrum projects work via a pull system where a team member who is currently not working on anything will go to the backlog and take off the highest priority item that they are able to do and work on it.) While agile works well on small application development projects and co-located teams of 8-10 members, this can cause serious business disruption on larger, enterprise-wide projects that need to scale across a wide variety of locations, lines of business, platforms and technologies.
One way of scaling agile practices to support business alignment throughout an enterprise is by using a large-scale agile framework, such as the Scaled Agile Framework (SAFe). The SAFe framework defines group processes at the Team, Program and Portfolio level. SAFe Teams typically consist of 5-9 people who work in two-week iterations, or “scrums,” using XP (Extreme Programming) methods, pulling work from the Program backlog. The length of each team's scrum is synchronized with 5-10 other SAFe teams at the Program level (the next level up), as part of an "Agile Release Train" that includes the development teams and other stakeholders. The highest level of the SAFe framework, the Portfolio level, defines ways that executives and agile leaders can use lean manufacturing processes like value streams to identify and prioritize features, which can then be broken down at the Program level and scheduled on Agile Release Trains.
SAFe project, program and portfolio managers are all expected to operate as "servant leaders" who help teams self-organize, self-manage, and deliver software using effective agile practices. Whereas a "command-and-control" project manager, issues orders to his or her direct reports, an agile servant leader functions as a coach, teacher and mentor to team members.
A Portfolio of Initiatives
Digital transformation isn't a single effort but rather a portfolio of projects or initiatives that can feed off of each other to deliver business value and innovation at scale. While each initiative can be developed and tested as part of smaller cross-functional agile teams agile teams, there still needs to be coordination among the initiatives as they work in parallel. One way of fostering the increased collaboration needed among these project teams is by providing stakeholders with rapid access to real-time project information.
Digital transformation is not just about the SMAC (Social, Mobile, Analytics and Cloud) technologies themselves, but about improving your organizational culture so that it thrives in the digital age.
Sanjay Zalavadia is vice president of client services at Zephyr, a maker of software quality test management products.