Friday, 3 February 2012

A Successful Product Manager Has To Know How Their Product Is Built


If a product manager doesn't know how the product they are managing is built there is simply no way for them to be successful as they should be. That is unless they are carried by their team. It is essential that to make coherent and intelligent decisions about a product, that the product manager understands the impact that these decisions might have. The only way to do this is to understand how the product is built.

This doesn't necessarily mean that in a software development project that the product manager has to be a software developer. What it does mean is that the product manager works with the team to understand the implications of decisions. This understanding is facilitated by the product team sitting together. In a scrum sense, this means that the product owner, scrum master and scrum team all sit together. This means when an issue arises everyone in the team knows about it simply through work based conversation. Status meetings become less of a priority when the team sits together as immediately the entire team knows of an issue and can define ways to solve it - together.

By sitting together, even if the product owner is not a software developer, the team as a whole learns the impact of how decisions affect the team and conversely the team gains a finer understanding of why some decisions are made.

If the Scrum team and product owner are not co-located:

  • The scrum team has no vision of why decisions are made and what 'north bound' management issues are influencing decisions
  • The product owner has less 'south bound' vision of how stake holder issues impact the scrum development process.
The answer to overcome these issues is simple. A product team should sit together. A team that sits together by default will communicate more often, more clearly, solve issues far more quickly and pass on knowledge to each other through osmosis. This means that knowledge is shared without team members even trying to share it. This in turn creates a motivated team that learns together, delivers together and more importantly has fun doing so.

Co-location of a team is a simple mechanism to improve. 

Cheers

Murray

Wednesday, 1 February 2012

Negative Thought Blocks Creativity


Negative thought blocks creativity. That's it. Sometimes though when you are in an environment where negative energy is allowed to build it becomes challenging to accept ideas that might not be fully thought through. All to often the reaction is "That's not thought through - that's rubbish!". Sometimes this is a challenge to overcome, especially if the environment is in a glut, and not seemingly able to change.

The challenge then is how to overcome this, and how to do something yourself to promote change such that negative energy is not allowed to fester and destroy the creative process. There are many ways to address this, however one simple way is to start with ones self and not simply disengage with someone else's idea as it wasn't your own. Sure some idea's may not be thought through to completion, however this is exactly what the creative, product generation, process is about - working through a series of ideas to come up with a coherent set of engaging product features that your Customers will love.

In an environment where self is valued over team, this can be a real challenge. Nothing can seriously be completed if a creative process involves 10 people in a meeting room shouting over the top of each other, and not actually listening to what each person is saying. An idea needs to be logically explored to it's completion. There are many ways to do this, including hopefully an analysis of data to support a product feature. I think this however is the subject of another story. For now though rest assured that not listening to an idea and not exploring it, is a sure fire way to kill creativity, kill morale, kill team productivity and even worse - kill joy.

So here's a really simple tip. When you are in a creative meeting with others, instead of talking, first listen. Listen to what other people are saying before running with your ideas. If someone then gets in ahead of you with an idea that you think is brilliant, and that you were going to suggest, simply support them with their idea and build consensus that way. If there is an idea that you think is daft, ask the person who suggested it to qualify the use case for the idea and see how it might actually work within a product. Let the person run with the idea and provide support, if needed, and let their creativity flow into consensus. Who knows, that daft person might be the one who is actually thinking outside the business realm that you find yourself stuck in, and might actually be opening an entirely new stream of revenue for you.

Listening, promoting others to run with their ideas, and encouraging them to think freely by offering support to work through a thought into a deliverable concept, is going to pay off quickly.  This will generate a self motivated team that enjoy working together. This is a team that will want to deliver yours and their ideas, and turn them into a reality. What's more as they are a motivated team it is most likely they will exceed the Customer expectations as they will always want to deliver more than is promised.

Alternatively, as you are always right you could simply dismiss all ideas that aren't your own. You could do this, but when your delivery vehicle, i.e. your team, get that idea and are allowed to run with it to release, that run will most likely turn into a slow walk.

Cheers

m

Tuesday, 10 January 2012

What Agile Isn't - A Cross Domain Team Existing Only Of Product Manager Folks


Agile Scrum teams should be made up of team members across business domains. The Product owner should represent the needs of stakeholders and the Scrum team should consist of whoever is needed to deliver the product. This should include product designers, software developers and testers. Ideally all team members can work across disciplines, however in the real world this is most often not the case.

A scrum team should not consist only of Product Managers. This cannot be a scrum team as it cannot deliver anything. Some, although very few, would argue that a team like this can deliver the concept or a 'vision'. Arguably if this was the case that 'vision' would be delivered to a Customer so a Customer can engage with it. However unfortunately a 'vision' is not a deliverable product. In my view a collection of thinkers does not deliver a product.

This is often emphasised when a 'vision' is delivered to a delivery team and it is not possible to implement. There may be many technical reasons why it is not possible to deliver something. Some are so obvious that if a technical representative, i.e. someone from another business domain, were present in the team of thinkers many hours of wasted effort could have been avoided. This is precisely why scrum delivery teams are cross domain. Everybody that is required to deliver a product is available in the decision making process (or at least should be!). When this is the case if there is an impediment to delivery it is seen immediately, by someone in the team with the core knowledge of the reasons why, and can be analysed immediately. Then alternatives that could be delivered can be proposed, agreed and delivered.

Cross domain teams identify potential risks to delivery as early as possible and provide solutions to avert these issues. It is precisely why, when the concept of a 'vision' is discussed, that a cross domain team should be involved. The same principle of early issue identification and risk mitigation applies. By involving a cross domain team when the 'vision' gets to the delivery stage, it will actually be possible to deliver it, as opposed to spending 6 months fighting as to why it cannot be delivered.

Its a very simple, and obvious, thing to do when coming up with an idea.

Cheers

m

Tuesday, 3 January 2012

ScrumMaster Ceritification


I used to dislike the Agile methodology and in particular Scrum. It is only recently that I found out the reason I disliked it was because we were practising it poorly. Scrum is not about keeping track of development teams, rather it is about empowering development teams to deliver quality and respond to change efficiently.

Scrum promotes the concept of releasing software to customers when functionality is ready, as opposed to delivering a big bang approach - I.e. launching all functionality to the end Customer at the same time. This concept is antiquated and simply doesn't work. Get your product in the hands of a Customer as soon as possible and learn from their usage of it. This allows you to tailor any product deficiencies, highlighted by users of the product, as opposed to product designers who don't use your product! After all it is the end user who makes or breaks your product. Not the product designer. Not the product owner. Not the software developer. Nor even someone in senior management.

Scrum allows you to highlight risks as soon as they arise, as opposed to the end of a 3 month waterfall development phase when the testers first get their hands on the product.

Having seen the light, if not perhaps started practising it perfectly, I attended a ScrumMaster Certification course which was endorsed by the Scrum Alliance. I really enjoyed the course and found some of the techniques described, and some of the concepts explained incredibly valuable.

As an example before going I was always told that the entire scrum team had to work together to deliver their committed user stories for the sprint. This often led to clashes with the Product Design team members who always felt as though they needed to be at least a sprint ahead in order to be able to deliver designs to developers at the beginning of sprints. This clash always led to resistance from the design team to adopt the scrum methodology. This is simply not the case though. A scrum team needs to be self organising, so if design team members need to work a sprint ahead with the product owner, this should be perfectly fine. A team needs to be able to adapt to the needs of the entire team, not just the needs of the software developers. Self organisation, and empowerment to be able to self organise, are the key. Scrum doesn't say that everyone in the team needs to be working on the same features at the same time. What is does say is self organise into the best working mechanism for your team to achieve value for the end Customer.

After the course the course attendee is sent an email to complete their ScrumMaster Certification. This is done at the Scrum Alliance website. You sit through 35 multiple choice questions and at the end you get your results. The questions are incredibly easy, and if you have read any reference on Scrum it's a breeze. Embarrassingly I did get 2 questions wrong though!

One thing though, if you sit the test and the site takes you to a popup containing the test don't do this test! I did and at the end of the test nothing happened. After logging into Scrum Alliance again it said I still needed to take the test! On starting again the test we presented in the Scrum alliance website, as opposed to a popup, and on completing, my Scrum Master Certification was recorded against my Scrum Alliance profile. Why on earth there are two versions of the test I have no idea? Perhaps there has been a scrum alliance website update recently and my browser cached the old site? No idea? So if you see a popup don't take the test! Instead logout, refresh your browser, login again and take the test on the Scrum Alliance website!

Another small gripe. The time it took answered questions to be displayed on the site took an age. Page loads times, when I took the test, were incredibly slow. On two occasions I took incredibly slow page load times as mistakenly thinking I had not answered questions. When I answered again, instead of showing me if I was correct or not, I got an error screen saying "Don't answer twice" - not helpful! In honesty I just need more patience ;-)

Still having taken the course, I found the course very worthwhile. The certification exam seems a little meaningless, but it's done all the same.

Cheers

m

Addition: I should add that the trainer that I had for my ScrumMaster Certification was Martine Devos. I really liked the training she gave and the honesty with which she gave it. She concentrated on providing concrete examples of how she had seen Scrum applied through her experience. One thing that interested me though, was that Scrum is all about time boxing tasks. I felt that on the first day Martine did not time box her discussions well and that we ran overtime on several points. This was mainly due to students in the course asking many irrelevant (I thought anyway ;-) ) questions! This aside I enjoyed the way Martine taught and took many good ideas away from the course that I hope to implement someday.
    

Thursday, 8 December 2011

The Onion Of Inefficiency


Inefficiency in business practices typically has many layers. Each layer of inefficiency typically hides another layer that you have to battle through. The more layers that you peel away the more it makes you cry, as is the experience with your typical onion! Hence the Onion of inefficiency.

By the time you peel your way, tearfully through the layers, to the centre, or your goal, typically your goal has become so clouded in tears that you have forgotten what your ultimate goal really is. Your vision has been clouded and tainted by inefficiency resulting in, typically a rather lacklustre outcome.

You spend most of your effort peeling away the multiple layers of inefficiency and consequently lose sight of what you are actually trying to achieve.

Madness.