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.