You’ve been working on your product very hard. You’re excited to launch it. There is a lot of interesting product ideas that you incorporated into it. You keep thinking: “Just one last feature and it will be perfect!”. Finally, you push the button, the product is live but it doesn’t perform the way you expected. Sounds familiar? After reading this post, you’ll learn a better way to deliver a better product faster.
If your awesome product has all features in the world, it’s exactly where the problem is. More features come at the cost of the following things:
The process of planning ahead for a complete product is called Waterfall. There is nothing bad about the waterfall process. It works, people build things like spaceships and aircrafts with it successfully. However, the waterfall methodology has one important drawback: you might spend a lot of time implementing a fully-featured solution that doesn't work well for the customer. It's best illustrated in a classic comic from project cartoon (also mentioned as Tree Swing Picture in an archived source):
As you may see from the picture above, there is a fundamental disconnect between how the person implementing it or even a customer sees the product and what the customer actually needs. After numerous companies fell into this trap, a group of smart individuals invented the methodology called Agile which solves this problem. You can find the agile definition in The Agile Manifesto. The main idea is to short-circuit a long iteration cycle by building the product in small increments, testing it with a real customer, and pivoting. In other words, instead of planning for a rich feature set in advance, you plan for a _minimum_ feature set needed, ship it, and learn from it. Then and only then you decide what to build next. Here are the main advantages of agile project management:
If you would like to know more about Agile, I encourage you to read The Agile Samurai from Pragmatic Programmers. It goes into greater detail about the agile process starting from inception to planning and execution.
Agile methodology (you may also hear the term called scrum) has many flavors and each team tweaks it to come up with its own flavor. Here are the main events in Agile:
Once you go through the inception process, you’ll identify the roles, goals, and risks of the project. This process may take from several hours to several days for big projects. The outcome of inception is the backlog of items for the first iteration.
The first inception will serve as your first planning. That being said, you’ll need to get together with your team for a planning meeting at the beginning of every iteration to make sure everybody understands what needs to be done.
Standups are quick check-ins where you go around the room and everyone shares a status update. The goal is to track progress and identify blocking issues early.
This is one of the most important parts of Agile. The team gets together at the end of the iteration to discuss what worked, what didn’t so we can iterate on the process itself. Retrospective meetings are a safe place to express your thoughts so the team can improve.
Using the right tool for the job is key. The Waterfall process is very different from Agile/Scrum. Which methodology is right for you is your choice. In some cases, it may be appropriate to go with a waterfall process if your product cycle is very long in your industry. For most of the tech startups, we recommend going with Agile since things move quickly requiring rapid innovation.
Originally posted on alextamoykin.com