I’ve been doing release management and product engineering for almost three years in WSO2. By no means am an expert. Am still learning and trying to tame the beast. However I do have my fare share of experience and knowledge which I have gathered by screwing it all up and also sometimes, doing it right as well 🙂
Recently we have done a successful 1.0.0 release of WSO2 User Engagement Server and I felt writing this post as the release retrospect.
Team is the most important part of any product innovation. Without a strong, competent and hard working team you cannot achieve much (period !!). You feel it when it comes to agile release management. You cannot spoon feed your team. Each member will own a part towards success. You have to believe the quote “A Team Is Only As Strong As Its Weakest Link”, so your weakest got to be quite smart.
Milestones are short, quality of deliverables are high. The build *has* to pass always keeping the master stable. That’s a lot of work. A lot of smart work. So the team does matter and that’s the number one.
Well, WSO2 has the best from the Best and luckily UES had the dream team 🙂
Number two is the Vision. Its not about the person whose leading the effort need to know the product vision. The team got to have a shared understanding about the vision of the product that they develop. Everybody has to be on the same page. If a button was moved from left to right everybody must know the reason behind that decision.
Non should develop a component without knowing the bigger picture of where that component fits in. (s)He should know the future of that component, what are the improvements can be done, how can it aid to market the product and how does it contribute to achieve the product’s vision.
Reviews play a major role. They sync up the team. First you review the design, then review the architecture, the UI/UX and then the code. You get this right, you get a complete product feature.
During UES release, we did a lot of these. Our design review meetings were war zones. We talked about architecture and clean design patterns. Applied them appropriately and iteratively reviewed them. Our UI mockups were all over the whiteboard, we iterated until we achieve perfection. We reviewed our code, identified the improvements.