Application Program Management: Software Development in the World of Code Halos
By taking advantage of the Code Halos spawned by programmers, business partners and tools across the Agile lifecycle management process, IT organizations can better manage application development performance, delivering software that is more closely tied to business objectives.
From Amazon to Netflix, consumer‑oriented business leaders today are competing on code and distilling insights from the digital information surrounding people, processes and things. Winners in these industries use data‑driven insights to predict what customers need and want and where markets are heading. But while this Code Halo™ thinking took root in online retailing and media/entertainment, it is also increasingly applicable to internal enterprise operations, such as software development. By 2020, Code Halo thinking1 will permeate IT organizations that have embraced Agile development approaches.
To leverage Code Halo thinking inside their four walls, companies need new technology‑driven solutions, which in turn require new approaches to software development and management. Smart companies are adopting Agile approaches to deliver such solutions. Agile and associated application lifecycle management (ALM) tools produce Code Halos that radically change how work is conducted throughout the organization. These halos hold digital information on people, teams, tools, processes and disciplines within the organization.
Organizations that have tightly aligned Code Halo thinking with Agile methods are unleashing software development activities that are focused more on what matters: applying Agile Code Halos to inform software program management in ways that yield more timely and predictable business.
What is Agile?
At the heart of Agile are 12 principles for how to build software in organizations.2 These principles focus on working products, flexibility that leads to less disruptive change and collaborative teams. With most Agile methodologies, production-ready software is produced in small chunks at a regularly-paced rhythm of weeks, accelerating time‑to‑value. Smaller chunks of work, prioritized for business value, increase flexibility and predictability once a software development program begins.
This situation stands in stark contrast to the waterfall method: six months for requirements definition, 18 months to get new business capabilities into the hands of eager users and up to 12 months to make necessary changes to get the software into production. Over time, the waterfall method has become increasingly expensive and disruptive. With Agile, work backlogs, made up of meaningful stories,3 can be reprioritized and tweaked as changing business conditions dictate, allowing for more fluid and collaborative application development. This typically results in code that is better aligned with business requirements.
Agile Adoption and Code Halos
Code Halo thinking has begun to infiltrate Agile IT organizations. Following the four stages of the Crossroads Model, Agile Code Halos "ionize", "spark" and "enrich" over time, transforming industries in their wake.4
First, during Ionization, the context is set for Agile Code Halos to ignite. The conditions for Ionization include increased computer literacy of participants and computing power to support all aspects of work, pressure for faster solutions and the desire of participants for meaningful work and human collaboration.
The arrival of sophisticated ALM tools allows for more efficient software development processes and for innovations to spark. During the Spark stage, Code Halos emerge around individuals, teams, processes and application code, itself. Many leading IT organizations are sparking Agile pilots by applying key tenets of Code Halo thinking.
During the Enrichment stage, Code Halos expand and grow in scale, permeating the Agile software development process. Overall planning becomes product‑focused and enterprise‑wide as the program Code Halo quantifies user demand and business benefits. Continuous requirements- gathering processes that involve grooming and prioritizing a backlog of stories establish this demand. IT responds by using predictable, short cycles or sprints of software delivery activity, managed through tool‑enabled performance metrics to quantify the supply and delivery trajectory.
At the Crossroads, market dominance typically flips, as traditional leaders that have failed to adopt Code Halo principles are usurped by digitally savvy businesses. In the Agile software development context, this occurs when IT no longer relies on waterfall development approaches. In 2013, more than 85% of IT organizations had attempted to use some form of Agile software development and in our experience, most software-related requests for proposals explicitly seek Agile services.
Many leading Agile organizations are nearing the Crossroads. Some have entirely replaced waterfall software development models, distant and disconnected IT‑business relationships and a lack of digitally-captured performance metrics, with new and Agile structures and behaviors that continuously enrich, apply and distill digital information contained in program Code Halos. Others have gone so far as to include support organizations and contracting vehicles in their Code Halo models to yield even greater benefits.
The result of applying Code Halo principles to Agile programs is, indeed, transformative. Once companies begin competing on their Agile program Code Halos, they are more consistent in effectively and predictably building software applications that rapidly identify, create and meet business needs. The digital intelligence from IT‑business partnerships and rapid cycles of customer feedback continuously feed insights into Agile software processing and the benefits accrue continuously and quickly for leaders.
Consider the advantage that Amazon has over traditional retailers, with more than a decade's worth of available customer feedback hooked into its planning and distribution processes. Just as the online review capability that Amazon has built brings the business closer to its customers, so do Agile Code Halos that contain valuable digital insights.
Where Halos Enable Agility
Traditional software solutions of any significant size or complexity are notoriously difficult to estimate and track in terms of effort, cost or target delivery dates, let alone expected benefits. With Agile programs, estimation can be completed with the basic Agile unit of work — the story. Once a common definition of a story is in place, many useful metrics become available to the organization. Agile metrics are gathered and reported across short cycles of work, enhancing the Code Halo's value for further estimating, monitoring and guiding of software development work to successful outcomes.
Agile's enhanced digital connectedness is powerful when it comes to performance metrics. For example, a leading ALM tool provider recently mined data from over 10,000 Agile software programs via a cloud‑enabled service to decode performance insights that can be applied to future Agile programs. Among the takeaways from this exercise is a significant improvement in estimation accuracy, resulting from an adjusted Agile estimation approach. On a practical level, this means that even if an Agile delivery team is at a junior level, it can still achieve efficient, high‑quality software development when not forced to use an unwieldy estimation approach. In Code Halo terms, team and tool halos interact to drive an optimal process solution for managing the program.
Agile allows program managers to focus on the metrics that matter the most to business decision-making. They can do this by using the digital intelligence embedded in the ALM tool metrics that considers the intersecting digital attributes of team history, recent behavior and program needs. Together, these insights can be applied to create ongoing process improvements informed by Code Halo thinking to guide appropriate program management actions.
The basic tenets of Code Halo thinking can ameliorate, if not eliminate, two of the biggest plagues on software development: disruptive scope definition and poor estimation. For example, once ALM tools are connected to production ticket systems, corporate time reporting systems and various other corporate tools as easily as Bluetooth devices are today, the Code Halo floodgates will be opened.
Using flexible analytics engines that are built into new ALM tools, program managers will be able to more effectively assess and fine‑tune Agile development performance to meet the demands of various stakeholders. This will allow Agile IT organizations to produce metrics that the business can rely on, based on the common supply and demand notion of capacity for stories.
Looking Forward to 2020: The Agile Enterprise
In the near future, Agile business organizations — where the methodology permeates the entire enterprise, bridging the business and IT — will be totally responsible for driving requirements for technology‑based solutions (see Figure 1). Available metrics from the Agile Code Halo will allow the business to estimate the work needed to transform its requirements into software. Such metrics, including team ramp‑up, cost, quality and productivity, will move software development from educated guesses to verified insights available throughout the organization. As a result, IT services can be planned and delivered smoothly, within the constraints of available organizational capacity and productivity.
New ways of determining the cost of service, selecting outside providers and forecasting skills gaps will be enabled by the new Agile Code Halo. The ability to use trusted information will empower both business and IT to build high‑trust relationships. True Agile organizations, those with transparent Code Halos, will be the engines of competition for leading companies around the world.
To get there, IT organizations need to adopt Agile software development approaches, digitize their performance data end‑to‑end by connecting their ALM tools with other data sources and analytics engines, gather simpler and more insightful performance metrics and listen carefully, leveraging all the Code Halo insights that surround their teams, processes and tools. The Agile spark will come.
3 Stories are basic units of work in Agile software development. They describe in business or user terms who is trying to do what and are part of a unifying language that helps IT and business collaborate.
4 Ionization is when the environment is rich for the establishment of Code Halos. The Spark phase is when new ideas and offerings are formed, based on the intersection of Code Halos. Enrichment is when halos grow by orders of magnitude, giving rise to new value creation. The Crossroads is when industry leadership suddenly and dramatically shifts based on the new Code Halo-driven economic models. For more information on the Crossroads Model, see Code Halos: How the Digital Lives of People, Things and Organizations are Changing the Rules of Business, pp.71-73.