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 your product. 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.
Why adding a lot of features slows you down
If your awesome product has all features in the word, it’s exactly where the problem is. More features come at the cost of the following things:
- The increase of a feedback loop. It takes longer to build more functionality into the product. It delays time to market and it delays getting valuable customer feedback.
- You don’t know what works until you test it. You’re not your target audience. What works for you will not necessarily work for your customer.
- Building a product gets harder the more features you add to it. User experience gets confusing.
Agile methodology to the rescue
As you may see from the picture above, there is a fundamental disconnect between how an implementor or even a customer sees the product and what 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:
- It shortens the feedback loop so you can iterate faster.
- You build a better product based on the customer input.
- The team feels a greater sense of ownership since it’s more involved working with the customer.
How you can implement the Agile methodology for your team
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 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, I recommend going with Agile since things move quickly and you need to invent and innovate.