I was discussing a new feature with a developer. We went through the GUI design and functionality. After a couple of hours he came back with the first version of the feature. It wasn’t really working. It was more of a mockup.
– Take a look at this. In my opinion it looks like the worst crap we developed this year. Now, I’m going to have lunch and by the time I’m back you better have the idea how to rebuild this feature.
Well, maybe his wording of the last sentence was a bit different. Either way initial design was crappy indeed. After lunch we’ve changed the idea and we got more optimal design. It wasn’t much later when I was able to skim through the new version of the feature, which was presented to me by the developer.
The same day I have another discussion with the guy who already started working on another feature. He wanted to verify whether his understanding of the task was aligned with mine. I welcomed him warmly.
– Will you keep coming here a few times a day just to bother me with your stupid questions about every single detail of this goddamn feature?
Um, actually that’s not what I thought really. I thought how fast we were adjusting our visions to add functions which add value and don’t drive users crazy. We didn’t need to wait until the feature was completed to realize the design was hopelessly screwed from the very beginning. We were able to go through a couple of prototypes before setting up a final version. It was cool.
How did it work? Pretty simple. We built a very short feedback loop, but the one initiated not on the product management, but on development side. We shared the goal of having the app out of butts as soon as possible with decent quality so no one would start yelling at us. We used a few simple tricks which helped us to keep this attitude in the long run. What tricks?
- Co-location. Whenever there is anything to discuss or to demo everyone is in the room. We just start talking about design or issue or whatever. Whenever we have anything to show we start a demo. And yes, sometimes it happens few times a day.
- Open discussions. There are no bad ideas. There are no bad opinions. If you think the idea is hopeless crap you say it. If you think you can design the app better you propose your approach. If you think your product owner is a douchebag… well, it wouldn’t be the first time he’d hear that.
- Good atmosphere. No one is blamed for stating their devastating opinion on the idea proposed by someone else. No one takes it personally either. We know each other well so we know when we joke and we know when we talk seriously. Either way critic is always welcomed.
- Availability. Product owner is there (almost) all the time. He doesn’t say to come back tomorrow with your groundbreaking idea. He knows what he. He doesn’t have to call the steering committee to make his mind about the color of a background. He makes decisions in real time. And he’s a pretty cool guy. And yes, we’re just discussing my role in the team.
You may have a vague feeling we might have been discussing this very list while talking about teamwork or collaboration. And yes, you would be right. Exactly the same things help to do product management well. After all managing products has a lot to do with people.