Here are few excerpts coming out from my own personal experience. These are not the complete list, but they contribute to 80% of the problems…
- Not having a product owner : A person whose full time responsibility is to think only about the product and the domain they are competing into. He is accountable for catching up the competitors and move ahead of them. He should “OWN” the product and authorised signatory to modify something around product lines.
- Not having a product roadmap : Product owner’s responsibility starts from here. You certainly can draw clues from existing customers, but it itself cannot become a roadmap.
- Not having a professional services team : Every customer is different and they might require some or other customizations specific to them. These requests should flow to this team and this team on its own can be a cost centre for the organization
- Not having customer relations/account managers : A person whose full time responsibility is to talk to customers, understand their requirements may be convince them of the existing functionality, update the product owner about the requirements coming from customers and sometime even worth discarding few things on his own.
- A well rhythmic Release plan : Believe it or not!, the heart of the org is the engineering team, if the engineering team is screwed up God save us all.
- A mutual collaboration across Product & Engg : Product and Engg should work like hand and gloves