Software Project Planning and Processes: 5 Steps to Success

[article]
Summary:

Too often, software teams come up with a lofty goal for a project, then immediately launch into development in an effort to get to market faster. But skipping the planning process for how to actually achieve your goal can be dangerous. John Basso gives five steps to drive front-end planning and set your project up for success.

Time and again, software companies launch their future with a project they hope will catapult them to new echelons of success or ubiquity. Aiming high is always a good starting point, but creating a road map to reach those goals can be rife with potholes or detour-riddled processes.

How many times have you heard a conversation centered on what the product should do or what features should be included? While these are valid questions, if the next question isn’t “What is the primary business value we want to achieve?” then you may be starting down the wrong path. You’ll end up with a product that includes your agreed-upon requisite features and functions but lacks the kind of business-impacting result that was envisioned at a high level.

The reason, then, so many projects fail is the lack of this front-end planning. From the initial seedling of an idea, most software companies plan with an eye toward the technical elements of the project, neglecting to ensure that the critical business factors were taken into consideration before any of today’s modern software development approaches were initiated.

Software development is a high-pressure endeavor. The market demands top-quality software at breakneck speeds. Agile, continuous delivery, and DevOps approaches have focused teams and organizations on helping align tools and processes to ultimately streamline the software build, test, deploy, and release lifecycle. However, emerging antipatterns have occurred as a result of these approaches that cause project failure—and the subsequent frustration of business stakeholders.

Business stakeholders are certainly an important piece of the project development and management puzzle, but when communication between stakeholders and engineers is fragmented, both parties end up dissatisfied. While aligning terminology, goals, and processes can be challenging, doing so simplifies the processes in the end and creates happy developers and stakeholders. So, how do you get here?

The companies and teams that effectively work through the front-end planning process follow a version of these five steps:

  1. Identify Value: Teams serious about seeing a project through to both technical and business success will define the primary business value the project should achieve. This can be as simple as increasing downloads or users, or it can be as visionary as moving up the value chain to reach a new group with greater purchasing power.
  2. Discovery Questions: After identifying the primary business value, the team will go through a series of discovery questions to determine the outcomes and benefits that would achieve that value. Again, successful teams ask these questions not as a process to discover new features or functions, but rather to understand the actual mechanisms that will ultimately impact the business value.
  3. Goal Creation: Once the business value and means to achieve that value have been determined, teams will define goals and design the features that will help drive the desired outcome and benefits. It is at this point of the planning process that the team will finally begin discussing the features and functions of the software.
  4. Evaluate Outcomes: Any project needs a solid evaluation process. Part of developing a strong project includes determining the data that will be used to evaluate the project. This could be user growth, cost of development versus cost of software, etc.
  5. Measure Success: Finally, using the evaluation data set forth in the previous step, the team can begin to put into place mechanisms that will be used to measure the success of the project against its goals to ensure that the primary business value is being achieved. By this point in the process, both the engineers and the business stakeholders have had the opportunity to proceed with the assurance of communication toward clearly identified goals.

As with most things, these five steps are not so black and white when it comes to processes that work for any team. However, it is safe to say that the additional attention given to the front-end planning will prove an invaluable resource by highlighting weak spots, business value, and goals and, above all, forcing the mutual communication necessary for both the business and technological ends to be achieved.

It is surprising to look around the industry and see just how many software companies eschew the early planning process in an attempt to keep up with the demands of the market. Small to mid-sized companies are especially vulnerable to these demands. A single project can either launch a company to success or push it to the brink of failure. Unlike large companies that often have more financial flexibility to fix problems, smaller companies must nail the project the first time around. Deploying a front-end planning process is an extremely valuable tool toward project outcome alignment.

In essence, too often, companies start out with a highly energetic drive for completion, only to have it backfire when the project hits its first inevitable snag—or, worse, encounter death by “analysis paralysis” and never even reach the development phase. Rather than beginning with a “features and functions” approach and hoping the final product serves the business needs, successful software companies take the time to ask themselves critical planning questions designed to facilitate communication and objective identification.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.