Proposing a Definition of Agile

A definition of Agile applicable to all technical and non-technical projects that avoids discussing particular flavors of Agile or comparing Agile to Waterfall

Definitions matter. They matter because they frame how we think about the concepts they define. In turn, how we think about concepts affects how we engage with and apply them. Definitions also help us communicate by allowing us to agree on the meaning of things. A clear, concise definition of a concept helps crystalize in our minds what we may otherwise perceive as a disorganized collection of ideas and facts.

A Definition of Agile

No official definition for Agile exists.  Instead, Agilists have a set of tenets and principles guiding how they work.   As long as work practices foster agility and do not run counter to Agile tenets and principles, they are considered Agile. 

As Agile thought leaders and practitioners develop and share new ways of working, the most successful concepts and practices eventually become part of an informal canon of Agile best practices.  No formal body exists to regulate or promote this innovation and knowledge sharing.  Rather than a methodology, Agile is a community that shares norms, values, conventions, and, to some degree, identity.

This lack of a prescriptive definition for Agile is powerful.  It provides practitioners a great deal of latitude in creating Agile approaches best aligned to their unique business or mission context.  It gives people permission to try widely-adopted practices, modify them, or reject them based on their own experience applying them.

However, such latitude also brings differences of opinion over what is or is not Agile.  Without a formal definition, answers to the question, “What is Agile?” often devolve into Scrum jargon-filled word salad or attempts to define Agile by what it is not, namely Waterfall-based systems development.

Another problem with the standard approach to defining Agile is that it relies too much on the two foundational principles of Agile:  The Agile Manifesto and the 12 Principles of Agile.  While a deep understanding of the two is essential for anyone attempting to work in an Agile way, they were written from the perspective of software developers who build IT systems.  While adoption of Agile practices is growing in many industries outside of IT, the IT-centric focus of most Agile literature and instruction often leaves practitioners outside of IT unsure as to how to apply them within their own context. 

Taking into account the limitations in how Agile is typically defined, while adhering to the Agile Manifesto and the 12 Principles of Agile, Agile Cheetah proposes the following definition of Agile:

An approach to developing complex systems and solutions in which work teams self-organize to deliver increments of value, within and across short iterations, guided by collaboration with and among other work teams, project sponsors, stakeholders, customers, and end-users.

Developing Complex Systems and Solutions

Agile development approaches are particularly well-suited for developing complex technical and non-technical systems and solutions of all kinds.  Software solutions, in particular, are inherently complex because they can be developed and modified in an infinite number of ways.  Software tends to grow in complexity as we add new functionality to address new requirements. 

Traditional project management attempts to cope with this complexity through predictive planning while Agile takes an adaptive planning approach.  Rather than attempting to identify and plan for all project tasks and milestones prior to project start, Agile planning breaks up the planning horizon into increments.  This allows us to adapt plans when circumstances change, which they invariably do.

Adaptive planning is most appropriate when we lack enough certainty about business or mission requirements, solution approaches, or technology options to formulate a predictive plan.  This is typically the case for most non-trivial software development projects.  Agile’s iterative and incremental development and delivery model supports, and is supported by, adaptive planning.

Agile Teams Self-Organize

High-performing teams are crucial to tackling complex projects and the best Agile teams are high-performing teams.  They are self-organized and capable and empowered to plan their own work and to collaborate effectively among themselves and with other teams, project sponsors, stakeholders, customers, and end users.  This team-level independence, coupled with effective organizational and project governance, affords the flexibility necessary to thrive in less-structured, more uncertain environments.  We give up administrative command-and-control bureaucracy, in favor of project flexibility and speed while keeping effective control over projects.

Delivering Increments of Value, Iteratively

Agile teams deliver value iteratively and incrementally.  Every increment of value Agile teams deliver provides real business or mission value.  Therefore, technical Agile teams are primarily feature-based as opposed to component-based.  The traditional project management focus on delivering system components prevents system validation until all components are integrated into the completed system. 

This is important because the longer we wait to deliver useful capability to customers and end users, the later it will be before they can validate assumptions behind what we develop.  Finding out that the solution is not what is needed or wanted at the end of a project is an unacceptable, yet common, occurrence in systems development.  The faster and more frequently teams release functionality, the more opportunities we gain to incorporate what we learn into solutions as they are developed.

Agile Teams are Guided by Collaboration

What Agile teams create is determined through collaboration.  Rather than deciding on a solution approach at the beginning and developing it with little to no input from sponsors, stakeholders, customers, and end users, those parties are actively engaged in defining requirements and validating system increments throughout development.  This allows us to control scope by limiting what is built to what we know is currently needed and only to the necessary level of complexity.  Achieving this level of collaboration requires Agile teams to work transparently by making information about their progress and the nature of what they develop openly and easily accessible.  This way of working affords plenty of opportunities to inspect and adapt emerging solutions and team processes and practices.

Conclusion

Our wish is for this definition to help Agilists at all levels of experience explain what Agile is without resorting to talking about a particular flavor of Agile (Scrum, XP, Kanban, etc.) or engaging in comparisons between Agile and Waterfall. We expect our definition to simplify discussions about Agile across diverse audiences.

What do you think of our definition? How would you improve it? Do you have one you like better? Let us know by leaving a comment.



Deliver Valuable Solutions through Scrum (Part I)

Building the right thing is as important as building things right. Scrum aligns organizational strategy and IT via a product management mindset.

This is the first of a three-part blog series about aligning IT solutions/capabilities to organizational needs via an Agile-Scrum product management approach.

Information Technology (IT) management is about leveraging technology investments to address business/mission needs. IT management is responsible for ensuring that budgets spent on IT solutions result in the implementation and ongoing support of effective and economical systems and processes. Effectiveness is the degree to which such investments help the organization achieve business goals and objectives. Economy translates into the total cost of ownership (TCO) incurred from adopting a solution as well as efficiencies gained through its use. Effectiveness and economy are actually signifiers for the many elements that make up business value. Ultimately, the success or failure of any IT implementation is judged by the value it delivers.

IT’s (Poor) Record at Delivering Value

Unfortunately, IT management’s track record for delivering value is lack luster.  According to the 2015 Standish Group CHAOS Report:

  • Only 29%
    of IT projects are successful

    Successful projects are delivered within estimated time (OnTime), within
    budget (OnBudget), and satisfactorily (Satisfactory).  The Standish Group defined satisfaction as
    the level of customer and user satisfaction achieved, regardless of how much of
    the original project scope was delivered.
  • 52% of IT
    projects are challenged
    .  Challenged
    projects are delivered but miss the mark on at least one of the three criteria
    above.
  • 19% of IT
    project fail
    .  Failed projects fail
    to deliver any capability.

Along with the three measures listed above, the Standish Group also measures how valuable the implementation is deemed to be (Valuable) and how clearly defined the business objectives were for the project (OnGoal):

  • 59% of IT projects are considered valuable
  • 62% of IT projects align to clearly-defined business objectives

So, based on the polling, of the 81% of projects that deliver some level of capability, 59% are considered valuable.  This translates into less than half of all IT projects delivering value.

Scrum’s Product Management Mindset

A major difference between Scrum and traditional IT project management is Scrum’s product development/management mindset.  Agile in general and Scrum in particular have deep roots in product management and Lean.  Two fundamental principles of both Agile and Scrum exemplify their alignment with modern product management:

  • Focus on delivering value and evaluate progress based on actual value delivered rather than tracking progress on planned activities
  • Team Self-Organization –  Development teams manage their work, determine technical approaches, estimate their work, report their progress, and help define the product

A good way to illustrate the differences between product management vs. project management mindsets is to compare the core functions performed by product managers and project managers.  While their work often overlaps, their primary responsibilities compare as follows:

Product management is about managing what the product will be and how the product is created.  Project management is about managing people, schedule, and resources.
Product Management vs. Project Management

It is important to note that the scope of what constitutes product management is much bigger than Scrum. Scrum is a way of developing products, including software, that dovetails nicely with the philosophy and practice of modern product development and product management..

The Product Management Approach to Value

The predominant trend across software development companies is a shift away from traditional project management to Agile. Companies are making the shift to:

  • Accelerate time-to-market performance
  • Address rising expectations of demanding customers
  • Compete in fast-changing markets

Fundamentally, this is a shift away from predictive project planning to adaptive product management.

Product Management for Organizational IT

However, IT management and portfolio management are firmly in the sphere of organizational IT. Development of organizational IT solutions is different from for that of product solutions for the following reasons:

  • Most organizational IT initiatives are system integration efforts
  • System integration efforts are driven by sponsor organizations
  • Sponsor organizations decide which capabilities to develop or acquire, how much budget to allocate, and when new IT capabilities are due. Unlike products, these decisions are not shaped primarily by market demand
  • Most IT solutions are highly customized implementations tailored to the needs of the sponsor organization, rather than designed to compete in a generalized market
  • IT solutions integrated into enterprise environments are typically much more constrained technically and organizationally than green-field product development efforts

Thus, system integration efforts are, by nature, service engagements, not product development efforts .

So if product and system integration efforts are so different, does product management apply to organizational IT?  Whether an organization is a business, a government entity, or a non-profit, product management activities occur to some extent as part of deciding what IT capabilities to develop or acquire. The term “product” can refer to any technical product/solution, business process, or a combination of the two.

Defining Value

Equating the value of a technology solution or service to its cost is a mistake.  The world is littered with all kinds of expensive solutions that yield little to no value for their owners or users.  How we define value is at the heart of how we link IT investments to organizational needs because the value of any particular solution is inextricably tied to the value provided by the organization.

A solution is valuable when it benefits those who acquire it and use it (customers) and those who create it (producers).  Benefits to customers boil down to what they care about or makes them happy.  Benefits to profit-driven producers map to outcomes necessary for sustaining and growing the business: revenue, profit, cost savings, increased market share, customer loyalty, etc.  Benefits for non-profit producers (e.g., government agencies, charities) align with mission execution and accomplishment: protecting lives, promoting health, caring for the needy, etc.

These categories of value are not isolated.  A business that focuses on providing excellent
value for its customers, gains a following, and experiences increased revenue
and profit.  A charity that fails to
raise money or mismanages its budget is soon in no position to provide aid to
anyone.  Organizations that focus on
pleasing customers at the expense of the wellbeing of their employees
eventually suffer morale problems and employee turnover that cripple their
effectiveness.

Organizations can experience negative value.  Negative
value occurs when:

  • Organizational or technical problems diminish the value provided or achieved
  • Actualized outcomes do not align with expected/preferred outcomes

Examples of negative value accrual:

  • A website that stores customer credit card
    information is hacked
  • A charity spends significantly more on operating
    expenses and salaries than on providing services to people in need

Organizational Vision

The value an organization attains or provides by acquiring or developing IT solutions must align with that organization’s vision.  The organizational vision serves as the organization’s North Star as it navigates decisions towards an envisioned future state.  The vision answers, clearly and concisely:

  • What is the organization’s reason for
    existence?  What contribution or impact
    does it intend to make and to what end (purpose)?
  • What is the organization working towards
    becoming?  What will set it apart from
    competitors or alternatives in its market or mission space?

The organizational vision should inspire and motivate people.  A vision that fails to connect with people emotionally will fail to muster the enthusiasm and perseverance needed to overcome difficulties and achieve challenging goals.

Business Strategy

The organizational vision informs business/mission strategy.  The strategy is a roadmap of actionable objectives that culminate into achievable goals.  Goals are the desired long-term business results or outcomes that incorporate the vision.  Achieving them lets us know we reached the destination described in the organizational vision.  Objectives are measurable milestone achievements necessary to attain organizational goals.  The work and resources needed to achieve the objectives inform strategic and tactical plans implemented across the organization.  Objectives are decomposed and flow down from the strategic level to the tactical level.  Objectives at different levels of the organization spur the development of plans to achieve them.

Strategic vision decomposes to business strategy.  Business strategy decomposes to strategic and tactical plans.
Strategic Vision and Strategy Decomposition

IT solution implementations may be strategic initiatives,
tactical-level initiatives, or both. 
Regardless of the organizational level they directly support, the value
provided by IT solutions must support business strategy and, by extension, the
organizational vision.

Defining IT Solutions

Similar to the organizations they support, well-planned IT solution implementations (products) follow from a well-defined product vision and product strategy.  An organization may develop products for external and internal users. 

Product Vision

The product vision communicates the desired end state for the product in business or mission terms.  The product vision clearly and concisely answers:

  • Who is/are the target audience/customer(s) for
    the product?
  • What is the product’s most important benefit or
    value proposition?
  • How does the product differ from existing
    alternatives?
  • What sets the product apart?  What is the product’s competitive advantage?

The product vision may link to business strategy as a goal, an objective, or as an activity defined as part of a strategic or tactical plan.  For example, a company selling products and services online, as its primary delivery channel, may set a goal to be the first to offer a new online service.  Since it is an online company, it is conceivable that the new online service offering may rise to the level of a goal that directly supports the company’s vision.  In other cases, an IT implementation may be an objective towards a strategic goal or an activity necessary for accomplishing a strategic or tactical objective.

Product Strategy

The product strategy is the roadmap towards realizing the
product vision.  Considerations addressed
by a product strategy include:

  • What will the product be?  What characteristics must the product incorporate to address customer and producer needs?
  • What product features would best deliver value to customers/users?  How will the product differentiate itself from competitors or alternatives?
  • How is quality defined for the product?  What characteristics and/or behavior must the product embody/demonstrate to be a quality product?
  • How will the product be branded or introduced to users?  Which product characteristics would support the organization’s brand image, reputation, or culture?
  • How will a commercial product be positioned in the market? How will organizational IT solutions be acquired (contract types, source selection, budgets, etc.)?

Product Value

Returning to the topic of value, we now focus on the value the product provides.  As stated earlier, value provided by IT solutions must align with the organization’s vision and business strategy.  Also important to consider is the alignment of product strategy with the work performed by Agile development teams. 

How do we characterize product value and, once alignment with product strategy is achieved, how do we maintain it? I will address these topics in part two of this blog series.

Conclusion

Building the right thing is every bit as important as building things right. Often, organizations hyper-focus on defining and building or acquiring technical capabilities while losing sight of whether the resulting solutions solve the right problems and address the right needs. The current pace of organizational and technological change requires that organizations adopt an IT management approach that incorporates the product management mindset championed by Scrum. Doing so helps ensure that IT investments further organizational vision and goals by creating real, measurable value for both the organization and its customers.