SDLC is not just a method for engineering. It is where strategy translation can take place. So it's critical for CIOs to ensure that their SDLC is enabled for strategy translation.
This article was first published at CIO.com, May 23, 2016
SDLC is where the action can be
What we knew: CIOs have responsibilities in IT governance and good IT governance ensures that IT delivers business value. What we did not know: the systems development life cycle (SDLC) can play a role in strategy translation. CIOs then should be concerned about what’s in the next project’s SDLC.The traditional focus on engineering was a needed reaction to unreliable software that organizations got in the early years of business software. Thanks to that focus and to substantially improved project management, organizations today more often get reliable software. Introduction of human factors expertise in the 80s has ensured that software is easy to use as well. Good. But where is business strategy in all these advancements?
Business software is different from consumer software in many ways, but the practice of business software development has not even factored in these critical differences, which are in terms of purpose, user, usage, purchase, view, driver, and contributing disciplines. Just google for differences between business software and consumer software and see how many useful results you get. You will find information about how to sell to these two "markets" (organizations and individual consumers). But you will hardly find information about the differences that can help software teams better meet the needs of the two markets.
What is the consequence of a lack of discernment? Well, strategic agenda doesn't translate to outcomes – and this is not acceptable. As Virgin Active CIO Andy Caddy says, technology is about business change and CIOs are business change leaders. If so, a high-priority initiative by the CIO should be to enable SDLC for strategy translation. Let's take a look at the 3 SDLC changes.
1. Make strategic outcomes the goal
We listed 7 ways business software is different from consumer software. It’s the first item “purpose” that gets addressed here. Unlike with consumer software, where the purpose may be to offer personal productivity, entertainment, etc, the purpose of business software is to improve the organization in specific ways that would eventually generate strategic outcomes.Organizations have frequently expressed the general need for strategic alignment of their IT investments. But shockingly, neither organizations nor the software industry seems to have made strategic outcomes the goal of software projects. The CMMI framework targets only factors like cost, schedule, productivity, and quality – not strategic business outcomes. Even the commonly used Agile method targets quick delivery and quick changes, not strategic business outcomes. If we do not set strategic outcomes as the goal, how could we expect strategic outcomes from software investments?
2. Set up business-centric discovery and design
I have briefly introduced the discovery-and-design phase in my previous CIO post. It does not change any technical activity in conventional SDLC, such as technical design or coding. It only changes the business phase. The change though is substantial. For example, task 1 in the upgraded SDLC starts much before task 1 in conventional SDLC. It comprises rigorous steps to discover the right combination of software and business change.The new discovery-and-design business phase addresses the 6 remaining items in our list of differences between business software and consumer software. Take the item, "usage," for example. Business software is used in a wider, systemic world, perhaps as part of a larger business process. It is used systematically, perhaps multiple times every business day. It is used collaboratively, perhaps spanning departments or even reaching out to customers and others outside the organization. Result: multiple business elements are typically impacted.