There once was a time in software development where developers could design, build and then think about their software's security. However in today's highly connected, API-driven application environment, this approach is simply too risky as it exposes the software to vulnerabilities ...
What top considerations must companies make to ensure – or at least help improve – Agile at scale? Forrester's report outlines key techniques and practices to help accelerate Agile delivery rollouts and scale Agile and DevOps in the Enterprise:
Change the organization's mindset
Cultural changes are never easy. Embracing Agile and Lean methodologies require a significant mindset shift to get rid of old behaviors created from years of waterfall development. Agile organizations value collaboration, communication, transparency, and delivering business value more than rigid governance of fixed costs, effort and deadlines. Firms that focus on these values and principles face fewer roadblocks and challenges. A coordinated use of metrics, automation and stronger executive Agile leadership complete the key ingredients.
Adopt a mix of Agile practices
Organizations have mixed and matched Agile methods with other processes. These tend to fall along two trajectories: Incorporating Agile into their waterfall practices (e.g. “Water-Agile-Fall”) or mixing various Agile practices into one. However, taking a customer-centric approach means moving faster than old methods allow. This requires a bigger shift away from a Water-Agile-Fall mix, while increasing more Lean/Agile practices.
Organize in cross-functional teams
There is only one way to align Agile at scale while meeting business and customer needs: collocated, integrated product teams. Yet making this commitment can plague executive leadership. To enact Agile at scale, you need Agile executive leadership. To find a successful footing, focus on one value stream (made up of people, process, and technologies) to support the fastest realization of value for a new or change request. Assigning a strong product owner from the business side to the value stream will help this balance, while also exploring ways to foster closer interaction between the core Agile team and extended roles such as UX designers and architects to ensure compliance.
Apply Agile upstream and downstream
Starting with upstream Agile processes and eventually add downstream was once acceptable, but development teams today need to kick off Agile transformations by adopting both upstream and downstream together. Operations also need to prepare Agile infrastructure and automation. Those experienced in Agile (39 percent) tend to lean on system integrators and consulting firms to help with the journey, conversely only 23 percent of those new to Agile do so. The good news is there is an increase in those who use “Agile upstream plus downstream” or “Agile all the way through,” rising to 22 percent from 15 percent two years ago.
Implement continuous testing
Continuous integration, delivery, and deployment can't happen without continuous testing. This also requires dramatic changes to people, processes, and technology, encompassing automation of test design, execution and orchestration. This includes a shift-left mentality where testing is completed earlier in the development life cycle. Gone are the days of pure-play test teams, enterprise Agile delivery requires full-time testers with full-stack development skills along with the addition of automating processes. Also consider creating a new, federated testing center of excellence (TCoE) and aligning test environments across the life cycle.
Complement Agile at scale with DevOps
Scaling Agile to enterprise levels requires teams to apply Lean and Agile principles all the way from strategic planning to product portfolios to products and to actual work in Agile development teams. Enterprise frameworks like SAFe, LeSS, and even Nexus work for this. Scaling Agile horizontally means going deeper and broader on Agile practices, both upstream and downstream, and complementing them with DevOps. This starts with identifying a value stream to begin the Agile journey. The transformation goes hand in hand with adopting Agile architectures and tools. There are already several solutions on the market that lead to a more collaborative delivery environment that help enterprises promote greater visibility and faster release velocity, without compromising on quality.
Extend Agile to budgets, sizing, and metrics
Agile budgeting and funding is tactical and ad hoc — and mostly deals with the project level. Agile budgets should be set at the business level or at least at group engineering levels and make budget review cycles shorter and the budgets more transparent. Start small, then scale it up to enterprise levels. Agile teams tend to abandon complex and formal sizing techniques, such as function points, lines of code, or homegrown methods, in favor of “T-shirt sizing,” SAFe estimation techniques, story points or stories. Metrics should always be set with the following goal in mind: It's not just about the speed and frequency of releases, but about speed with high quality. Combine that goal with measuring business value.
Overall, Agile methods seem like a given for any organization looking to embrace digital transformation. Ultimately, not only will it help to better serve your internal organization, it will also improve customer experiences. Value gets delivered in smaller chunks, more frequently. By providing more collaboration and visibility into delivery pipelines of value streams, risk can be better managed, and value realized more often.
There are already several solutions on the market that help support a shift to Agile the right way, and lead to a more collaborative delivery environment. These companies help enterprises promote greater visibility and faster release velocity, without compromising on quality. And as Agile continues its steady growth, we'll continue to see customer-obsessed organizations replace the outdated approaches that once plagued organizations, only focused on speed without quality. Thankfully, Agile and DevOps has the power to do both.
With software at the heart of any organization, it just makes sense to embrace Agile principles to change the business and IT teams' behavior and build software to win, serve and better retain customers.