I’m sure most of you don’t think of software when you hear the word delivery, but as a Software Release Manager its the first thing that comes to mind for me. Throughout this year we’ve tweeted, blogged, and discussed dozens of industries in which digital transformation has impacted the way companies conduct business. However, we’ve barely scratched the surface regarding the manner or process in which these transformations are rolled out. The goal of this blog is to provide a high-level introduction to software delivery and the role it plays throughout digital transformation.
Software Delivery Lifecycle (SDLC) Methodologies
The two major delivery methodologies employed at scaled today are Waterfall & Agile. Waterfall is a classic model which places an emphasis on early planning to minimize variance or change prior to development. Typically, it consists of clearly defined stages that must be completed prior to the next stage beginning, and is most effective for large scale transformation programs that are introducing new technology or have complex integrations.
By looking at the image above you will likely notice similarities in the stages of the SDLC for both Waterfall and Agile. First conceived in 2000 and later formally introduced in 2001, Agile delivery aims to improve upon the classic Waterfall methodology by reducing time-to-market and increasing the frequency in which end-to-end software is delivered. Agile is best implemented in dynamic or rapidly changing environment with tight timelines and a need for rapid prototyping. Although originally introduced for smaller scale endeavors, many industries have adopted Scaled Agile including Amazon, Microsoft , and Spotify.
There are hundreds of stories of failed agile implementations and you may hear a noticeable “groan” in the audience of legacy software environments when its brought up. Typical pitfalls include misinterpretation, lack of a high quality two-way communication between development team and stakeholder/customer, and most notably a failure adapt organizational models to support the change. However, there is evidence that agile frameworks are more successful than traditional delivery methodologies like waterfall.
Enterprise Software & Software as a Service (SaaS)
Delivery methodology alone will not solve all the challenges organizations face when embarking on digital transformation. Another critical step in the process is determining how your product or software will be leveraged. Consider these two examples in deciphering the difference between enterprise/on-premises software & SaaS:
- In 2003 a customer purchases a copy of Grand Theft Auto Vice City at GameStop. The game is installed on the customer’s gaming console via a CD.
- In 2013 the same customer purchases a copy of Grand Theft Auto, but this time directly from the PlayStation / Xbox online store. The game is downloaded from the online store to the console and future updates are maintained in the same manner.
This simplistic example of the transition to SaaS has major implications. On the business side, Sony & Microsoft have managed to cut out the 3rd party retailer (GameStop) keeping more revenue in house. Over those 10 years they’ve also created lucrative revenue streams within their own ecosystem by providing consumers with access to add-ons, expansion packs, etc. On the consumer side the acquisition process has been simplified and streamlined, removing the need to even leave your house to obtain the new game. Furthermore concepts such as Xbox Live & PlayStation Plus introduced a recurring revenue stream enabling gamers to play online in exchange for a monthly or annual fee.
My company, PegaSystems, is going through a similar transition from legacy on-premises software to SaaS. Many different challenges present themselves than in the video game example, due to vast differences in use-cases and clients. The original Pega platform was never designed to work in a SaaS model, so when we try to decouple some of the key features/services into micro-services you essentially need to rebuild the whole platform. Additionally, once you’ve created this new platform you still need to migrate your existing clients to it without causing upgrade impacts or negatively effecting the software that they use to run their businesses. Despite these challenges and a host of others, its critical for our organization to shift to SaaS remain competitive, agile, and provide the ability to truly scale.
I’ve briefly touched on two impactful areas of software delivery, Delivery Methodology & SaaS, and identified the impact they have during a large-scale digital transformation. In my opinion its critical to couple these operational/engineering needs with organization’s HR processes to incentivize change.