Overlooking the front end of your agile development process keeps teams from:
1. Understanding the business case. Many initiatives vie for business dollars, but only a few get funded. To gain funding, business leaders document a clear business case and a sound economic argument. They articulate the problem and the value of solving it, often providing candidate approaches for delivering that value. The information in the business case helps a project team understand the “why” of the work it is about to do. It provides a guidepost to which the team can refer throughout the project to ensure it delivers what the business needs.
2. Understanding what problem they’re trying to solve. Today, business and technology environments are incredibly complex. If an agile team hopes to solve the right problem and advance the business’ interests, it needs to understand the problem in the context of the business. Only then can it consider candidate solutions and tradeoffs effectively. Analysis and clarification of the business problem at hand guides decisions and provides the team with an understanding of what the business should look like after the project ends.
3. Understanding the value they’re shooting for. The business value that organizations anticipate a project will deliver is the project team’s “goal line.” Agile projects that don’t deliver that expected value are failures; those that deliver or over-deliver are successes. One of the biggest mistakes a team can make is rushing headlong onto the field and into the game without knowing where the goal line is. The team needs to understand the metrics its solutions are expected to meet to design the best solution.
4. Knowing who they need to listen to (and who they don’t). Typically, agile projects involve many stakeholders who aren’t created equal. The project team needs to completely understand who needs to have input to the solution it delivers. It needs to know how to weigh the input of stakeholders with varying (and often conflicting) input. Most importantly, the team needs to make sure it doesn’t miss important stakeholders or give undue emphasis to those with lower priority. Upfront stakeholder analysis provides the foundation for high-quality user stories and agile development.
5. Being aware of architectural benefits and constraints. Robust business and technical architecture is key to a business’ efficiency and longevity. The project team needs to consider architecture early and continuously confirm alignment as agile development evolves. It needs to understand what common solutions it can leverage and ensure consistency with architectural guidelines to deliver a sustainable product.
6. Realizing critical non-negotiable constraints. Every project comes with constraints on how a team can solve a business problem or take advantage of a business opportunity. Business rules, regulations, policies and nonfunctional requirements, like security, reliability, usability, supportability and performance, all have to guide development. In most cases, these constraints are mandatory—not “guidelines” or “optional”—and there are very real consequences for ignoring them. Understanding these constraints early ensures the project doesn’t incur expensive rework, scheduling delays and cost overruns.
7. Knowing what they’re working with. An agile project team rarely gets to start from scratch, with a “blank sheet” to build upon. They almost always extend, configure, port, integrate or depend on pre-existing technology. Often those who built those legacy solutions are long gone, and little documentation exists or is out of date or misleading. This presents a real challenge for today’s projects. The project team needs to spend time gathering, filtering and understanding what they’re working with. Doing so up front prepares the team with the knowledge they need to keep the project running smoothly.
Analyzing a project’s characteristics and constraints early helps the team and ultimately leads to improved agile project success and business-IT alignment. Take the time on the front end of your software development process. It is always time well spent.