Agile and Lean: a winning combination for software development
If you believe the pundits, it seems we are slowly edging towards a software-driven world. It’s a fair assessment to make: today, consumers use a range of software applications on a daily basis without even realising it. Whether they’re ordering a taxi or getting a takeaway delivered straight to their door, it now only takes a few taps and swipes of a mobile app. Elsewhere, software tools such as Microsoft Office Suite or enterprise resource planning (ERP) have become a fundamental building block of any business operation. Yet, as the pendulum swings towards a software-driven world, businesses have not only implemented external software tools, they’ve also scrambled to create their own too. Doing this requires getting the right software developers and engineers on board and, as the war for talent rages on, this is no easy feat. In fact, in the US, the employment of software developers is predicted to grow 24% from 2016 to 2026, according to the Bureau of Labour Statistics. In order to meet the demands of our software-driven age, businesses not only attract the right talent, but they also need to work more efficiently and utilise their assets better. This is where methodologies such as Agile and Lean come into play.
Agility is key
In the technology industry the rate of innovation has kept up its blistering pace. Therefore, businesses need to be adaptive and responsive to any changes that may come their way. Agile methodology was created with this in mind; it’s a way of dealing with, and ultimately succeeding in, an uncertain and turbulent market. Essentially, Agile is an iterative development methodology whereby software development is done in bits (known as sprints) with each sprint building on the lessons learned from the previous one. It’s also a methodology which values human communication and feedback, allowing businesses to adapt to changes so that they can produce working results. Speaking to Fintech magazine about Yorkshire Building Society’s digital transformation, Portfolio Delivery Manager, Ben Sampson, outlines the importance of forging the right culture for Agile. “For a business to become agile, we need a culture that is transparent, challenging and empowers people to take ownership,” he says. “We don’t want too much structure or hierarchy: we need people to feel they can be innovative and that it’s OK to try something and fail on a small scale.” Agile has proven to be a successful methodology for the building society and its quickly becoming commonplace in the business world. In fact, according to the Project Management Institute, more than 70% of organisations have incorporated some Agile approaches whilst more than a quarter of manufacturing firms use Agile exclusively. Yet, Agile isn’t the only approach you can take if you want to enable a software development transformation.
Lean and efficient
In conjunction with Agile, many businesses have been won over by Lean methodology, one of the biggest management ideas of the past 50 years. It’s not a new concept by any means, but its modern application to business means that it’s constantly evolving. First championed by Toyota Production System in the 1950s and 1960s, at its core, Lean emphasises the need to optimise efficiency, minimise waste and continuously improve to meet customers’ needs. In an interview with Fintech magazine, OakNorth COO, Amir Nooriala, outlined the bank’s Lean and Agile ethos and offered some sage advice to other fast-growing businesses “Act as if you have no money, even if you have money,” he enthuses. “It was that leanness that got you there in the first place.”
Delivering tangible results
Lean and Agile are a winning combination and together, they are capable of delivering real business results. Refining this approach may be an arduous task but the rewards could be plentiful; perhaps nowhere clearer than at Nationwide Mutual Insurance Company. Keeping its finger on the pulse of the latest business strategies, Nationwide began its software development transformation almost a decade ago. It made its first foray into Agile methodology in 2009 and, whilst Agile wasn’t new, it was now broadly adopted across all its enterprises for the first time.
But Agile was just the first building block in Nationwide’s transformation; taking this a step further, in 2011, the insurer decided to scale its use of Agile substantially and it employed Lean techniques to achieve this. Harking back to the early days of industrialisation, Nationwide adopted the idea of a so-called ‘software development factory’, complete with development lines that would complete one step needed to create code. By giving each line a clearly defined role that it could repeat such as – scrum master, tech lead, requirements lead and test lead – this helped to enable rapid development of code as if it were a factory. The insurer also implemented a visual management system, allowing developers to gain information on the shop floor quickly, as well as Gemba Walks – a fundamental Lean management philosophy.
This mammoth investment was starting to pay off by 2014, with Nationwide’s software development teams noting better quality and better productivity using industry benchmarks. However, Agile methodology wasn’t entirely widespread, it only covered less than 30% of software development at Nationwide. Speaking to Gigabit magazine, Guru Vasudeva, Vice President and Chief Information Officer (CIO) of Program and Application Services at Nationwide said: “We conducted a Gartner benchmark that showed that our Agile development line was better than the industry standard in terms of productivity, however, overall Nationwide was still 7.8% worse in unit cost compared to the industry. We estimated that we could get close to 12% savings by adopting these practices across all our software development – that's around US$60mn annually.” With this in mind, Nationwide decided to scale these methods enterprise-wide and now, the firm has around 200 software development lines, almost all of which have adopted this blend of Agile and Lean. Zeroing in on quality, productivity and time to market, Nationwide has also streamlined its benchmark metrics, and today it can trace around US$60mn of savings on an annual basis. In its most recent benchmark in 2017, for instance, Nationwide reported 7.8% better unit costs – that’s a 15.6% increase compared to its previous benchmark three years earlier. In more recent, chapters of its software development journey, Nationwide has also examined methodologies like DevOps and continuous improvement. “A lot of people have just done Lean, a lot of people have just done Agile, but I think by bringing these four strategies together we’ve done something really unique,” enthused Vasudeva.
From Agile and Lean to Six Sigma and DevOps, there’s a myriad of methodologies that software teams can experiment with. The importance of software development cannot be understated and as businesses deliberate on the best course of action, it’s clear that some of these methodologies, or a combination of a few, could prove to be an invaluable blueprint for success.