It all starts with Project Management.
As developers, Project Management is the most important tool in our toolbox. Often, we think that our development skill, our understanding of programming languages, or the technical strength of our code is our greatest asset. However, no matter how great the product is, it’s 100% wasted if the project never gets finished. And the reasons it never gets finished almost always come down to project management. An understanding of good project management practices will improve the results of your development skills. This article will cover some basics of Project Management, introduce Novel Projects as a framework for planning, and provide a tool to support the most important part of a project, getting it started.
In its simplest form, Project Management follows a Plan-Do-Learn-Adapt cycle of inductive and deductive reasoning for continuous improvement. In the first phase, Plan, an inductive guess, meaning based on experience, is made to select an action that will solve a particular problem. Next, we Do that action. For the second half of the cycle, deduction, meaning based on evidence, from the actions taken will Learn if the action worked. And last, Adapt allows us to choose the next step based on what was learned, whether the action was a success or failure, or somewhere in the middle.
A traditional implementation of this cycle is still seen in many IT organizations and is referred to as the Waterfall method. In this method, each phase of the cycle is completed sequentially as a step by step “waterfall”. All the planning is done at the beginning of the project, then all the development is done, then all the testing, and finally, if the tests are passed, the decision to implement into production. All of the planning is done at the beginning, when we have the least amount of information about what will work or not. The ability to pivot is limited by having to go back a step to re-plan.
Agile Project Management
Many different software development techniques were already in use that addressed the limitations of the Waterfall approach in the age of the rapidly evolving internet. In 2001, these techniques crystallized into a new approach called Agile. Agile project management is not a formal process, it is a set of values and principles that organize how a project is conducted. Being Agile includes the ability to quickly pivot based on new information. A core value is that responding to change is more important than following a plan.
Responding to change over following a plan
The best way to understand this is to read it as “Following a plan supports responding to change”. Plans are important, but they should not prevent a successful project from adapting to changing circumstances.
Notice that this doesn’t mean “plans are worthless so don’t waste time on them.” Agile means the plan should include ways to respond change. If anything, the project will spend more time planning than the traditional approach because the plans are consistently being re-evaluated throughout the project, not just at the beginning. We don’t want to write a book on all project requirements before the project gets started, we want to write just enough to help us get started. After starting, we will have more evidence to then plan out the next step. Planning is an integral part of any Agile process, but its importance is often overlooked.
One way to look at this is to imagine writing a novel. The author doesn’t sit down and write out a plan for every chapter, every paragraph, and every sentence that’s needed before writing it. Instead, he starts with a basic plan, or outline, of the overall story that needs to be written. He might start writing with Chapter 1, where the reader starts, or he might start with Chapter 12, where an important plot point occurs that has to be right before he can go back and introduce it in Chapter 1. He starts with a plan, and then refines that plan with greater detail as the novel progresses and he learns more about the emergent details.
Set the Scene
A tool to help you get started planning an Agile project is the Product Synopsis. Use this worksheet to develop the basic scope of the project, the “elevator pitch” that can be used to quickly introduce managers to the problem to be solved and the key features of the project’s approach to solving it. This one page description is an Agile tool because it represents the minimum planning necessary for approval to the next step. It communicates the problem and the solution scope. It can be easily revised and updated based on feedback until the project has support to move forward to the next step. And it can be used through the entire project, to inform the next steps when the scope is expanded to features and functions, and whenever decisions need to be made about what is or is not in scope for the project. Planning for change, with a process for frequent re-evaluation allows our projects to evolve over time, producing better products than were imagined at the beginning of the project.
The Product Synopsis includes the basic information of project title, date, and an overview of project goals. The outline begins with the Setting statement. This statement should concisely describe the exiting state and the potential value that could be achieved by pursuing this project. It could be a market opportunity of a new product or new feature, it could address potential competitor threats or customer dissatisfaction, or it could be an opportunity to eliminate waste or improve efficiency. The reader should understand the value opportunity of pursuing the project.
Next is the Summary. It details what the project will accomplish in order to address the opportunity described above. There is a very specific formula to this statement to keep the project scope focused. The Summary is a quick way to validate the problem is worth solving and that the proposed solution is worth pursuing. Once the opportunity has been clearly identified, the Summary describes who will benefit, why they will benefit, and how they will benefit.
FOR <name a customer type>, WHO <state a specific need or desire>, THE <name your product> IS A <name the product category>, THAT <name a compelling reason to buy or use the product or service>, COMPARED TO <name the leading competitive products or current state>, THIS PRODUCT <specify the differentiating features or functions>.
Act 1: Boy Meets Girl
Finally, outline at least 3 Acts that capture the main use cases for the application. These Acts will be planned in greater detail once the project proposal is accepted to move forward. Think of an Act as representing a Minimal Marketable Feature, a very basic description of a feature that adds value. For a novel, this could be as simple as “Boy meets girl”. It’s just enough information to understand what needs to happen for the story to move forward. For the initial planning, these just need to describe what the application must have to add value and address the existing problem or opportunity. Additional details and features will be added to the project in time.
Planning is an integral part of any Agile process. Its importance is often overlooked, but with the Project Outline and an understanding of the iterative nature of a Novel Project cycle, you will be well equipped to take that first step to defining, scoping, and communicating your next development project.