Getting Better in Product Development (A Personal Narrative)

In his latest post Avi mentioned that we are getting better with estimating and managing our workload. I can confirm this is all true; we learned a lot in the last couple of years and we keep learning. I decided to share some of the most important steps in my workflow as a product manager; things I’m doing better than before and things I intend to do even better.

Before I start I’d like to make it clear that we are an agency. In most of the times we deal with client requests and applications for other organisations. We like to do this, but it’s notably different than working on our own projects. Nevertheless, you might still find this useful if you’re working on your own product most of the time.

1. Understand the problem. We maintain a great relationship with our clients and we do everything to keep it like this. It’s the only way we can emphasize and really walk in their shoes. So go out there, talk to the client, take your time to explore their original idea, then talk again, again and again.

2. Share the problem. Don’t go away to your cave and write all the specification by yourself, involve the whole team as much as you can. It might seem like a waste of their time, but it will definitely pay off later. Discuss possibilities, shortcuts and no-nos. Devs usually know better than you.

3. Specify, Specify, Specify. User stories are a great tool to scope a problem, but as Jeff Patton puts it, they are like leaves: you can gather all of them and put them in bags, it’s not the same as the tree (the tree being the entire product in the analogy). So use all the tools you can to make people understand the whole problem: charts, maps, spreadsheets, the more the better… and don’t be afraid to change these documents if you have to.

4. Create prototypes. Try to carefully plan, draw and wireframe every idea, every page and test it. Test it on your own team if you don’t have anybody else. Don’t leave any grey areas.

5. Review designs thoroughly. When the first designs come in it’s easy to throw them at developers ASAP. Take your time to properly review them instead and involve as many people as possible. It will be a lot more difficult to change that padding on production.

6. Be there with your team. Let your team know they can always ask you anything. Be present, answer questions, ask what’s up and always know what the team is working on.

7. Enforce daily commitments. Make sure everybody commits to something every day and they deliver that. Break up the work in small chunks, so this is easier to manage. This step will help you eliminate a lot of unnecessary or double work.

8. Promote transparency and self-organisation. Make sure everybody on the team know what the others are up to. It’s great for efficiency and morale.

9. Minimise distractions. Seriously. Use something like Focus, it’s great.

10. Talk more with the client. Schedule calls with the client, even if both of you are busy. It’s always better to ask than assume.Manage their expectations, know all their requirements and always search for the common denominator. Don’t try to impress them with something they don’t want, satisfy their needs instead.