Carl Bruiners Agile / IT Development Consultant

20Jul/110

Product Management and Product Owners

After a conversation with a very, very close friend, I realised that the area's I have failed to blog about are;

  • Product Management
  • Product Owners

As of this weekend I will make the effort to write at least 2 blog posts per week covering the topics around both roles, as there is soooo much I can write on the subjects.

30Jun/110

Amber is heathly, green means we’ve over cooked it and red means we haven’t got a clue

Picking up on Simon Cromarty, aka the Agile Pirate, blog about Yellow is the new Green, I had an additional take on his work, where Yellow (or Amber if you use RAG) is the most healthy status depending on how you use the status.

Is Yellow or Amber used in your business to flag early failure warning? Or could it be used to flag that there is some uncertainty over a work effort? As we are Agile people we don't want to spend to much time on the requirements of our work so that we have every last peice documented. So instead of using RAG / RYG as a measurement of failure, if we rework this would could have it measure a teams uncertainty around a story;

  • Green - Over cooked, too much time spent on defining the story
  • Amber / Yellow - We know enough to be able to flag that we know a fair bit but that there's still some undefined areas
  • Red - We haven't got a clue and are screaming for help
30Jun/112

Cone of uncertainty

Cone Of Uncertainty

Cone Of Uncertainty

Above is a cone of uncertainty, this image demonstrates how larger stories come with greater risk when not broken down further.

Small stories between 1-3 pt’s shouldn’t have a grey area because for the team to know that a story is so small they should have a good grasp on what is required to deliver that story. I have placed the 5pt story on the line border of having grey matter, as though 5pt stories are of a size where the team should know whats required to complete the story, I have found in practice that this is not always the case and often 5pt stories end up being more like a 6pt’ish story :-) .

As the story sizes increase, so does the grey area, and the grey area is not directly relational to the ideal inner cone. Get your scrum master to keep track of estimations, the actual time taken to deliver and from this you will be able to calculate your teams multiplier for the ‘grey area’. You can then use this in your sprint planning sessions as a safety buffer.

How do you minimise the ‘grey area’? Due to the nature of large stories it is not possible to remove the grey area completely, but you can utilise methods to reduce the ‘grey’. Having well defined stories and story acceptance criteria all help reduce uncertainty around a story. Though I’d rather spend time out of a meeting, if you have a 10 pt story and your grey area multiplier suggests a 3pt buffer, but a meeting would only take 30 minutes to help add clarity to your story, do the meeting as this may reduce the 3pt buffer. Do all that you can to reduce the grey area, but accept that you will never be in a position to completely remove this grey matter.

20Jun/110

Scrum Solutions

Scrum SolutionsDriven by all things Agile

As a few of you are aware, I setup a company, Scrum Solutions, to supply Agile specific stationary, software (inc. iOS and Android) and consultancy.

Though we have already taken a number of orders, it brings me great pleasure in announcing our go live date of our web site will be the 11th July, www.scrumsolutions.co.uk. This will give our customers greater flexibility to explore and order our extensive range of products as well as review purchase order history.

To celebrate the arrival of the web site, I am pleased to announce that Scrum Solutions is a sponsor of the Agile Diner UK 2011 and I will be presenting the award for the Best Agile Coach / Mentor at the event.

24Apr/111

Visual retrospective board

Anyone who has worked with me knows of my love of physical Agile task boards, automation and visualisation of everything (to make my life easier :-) ).

At my current role we have a wiki that is used for capturing retrospective information (along with other stuff). I found that each retrospective was one long list of bullet points under a heading (i.e. Keep Doing, Stop Doing, etc....). Speaking to the team/s I found that they didn't use the Wiki very often as they found it dull.

So to address part of the issue I wrote a small JQuery powered retrospective board. The package can be found here.

The board consists of 5 separate floated div's, png thumbnails (*.gif, *.jpg, etc... all supported) and obviously the js and css files. If your a web designer / developer you can easily add more sections.

I cannot take the credit for the JQuery part, that has to go to Addy Osmanu. I have just taken the code and manipulated it for my own purpose. Feel free to play around, you can increase the card / padding / border sizes (remember to not only change the CSS but also the inline css code within the js) or change the font size of your card.

I have included in the package both a standard web and Media Wiki versions (Media Wiki requires some special attention to make work).

Below is a screen shot example of the retrospective board embedded in Media Wiki

Carl Bruiners Media Wiki Retrospective Example

Carl Bruiners Media Wiki Retrospective Example (click to enlarge)

Filed under: Agile, JQuery, Kanban, Lean, SCRUM, XP 1 Comment
2Apr/110

Be Adaptive

My biggest gripe with businesses / teams / people are those who forget one fundamental rule about (most) Agile methodologies and that is that they evolve. The best implementations of an Agile methodology is when they appear seamless. These Agile implementations fit the business like a snug glove and deliver high quality deliverables on a quick regular basis.

Evolve your models, keeping them rigid and static is against the sprint of Agile. If the team think they can find a better way to work, facilitate this and give it a go, if it fails, fine, don't stop evolving.

1Nov/100

Testing Curve

Following on from my post, Testing in SCRUM / SPRINT, I wanted to share with you a diagram I have used many times to help explain why testing must start as soon as possible within a SPRINT and why it is important that task cards are testable as a self entity (Unit test).
It is incredibly important that teams do not have 'Epic' task card's included within their SPRINT, as this possibly hinders the ability of a tester to start testing early, as the 'Epic' wouldn't become testable until development is complete, hence delaying the test phase.

Note: I include an initial 'peak' to allow for testers writing up their test scripts

Carl Bruiners Agile Testing CurveAgile testing curve (click to enlarge)

The unhealthy testing line has a tidal wave at the end of the SPRINT, unlike the nice calm waters of the healthy testing curve. Tidal waves should be avoided at all cost, as you run a greater risk of failing a SPRINT; the tester may not be able to complete all the testing within the time period and more than likely the QA will be compromised due to the pressure on the testers to pass a release as shippable.

If you see a very calm testing period at the beginning / middle of your SPRINT, be careful this may be the calm before the storm!

27Oct/100

Testing in SCRUM / SPRINT

One of the area's were SCRUM is not very strong is testing. Most of the SCRUM models that have testing (EVERYONE should have testing) as part of their SPRINTs normally adopt XP's TDD. This is completely fine, TDD is great, but there are also additional / alternative ways to gain better QA (Quality Assurance) by implementing a simple QC (Quality Control) framework within your SPRINT's.

My current SCRUM wall has 5 phases;

  • Not Done (SPRINT Backlog)
  • In Progress
  • Ready for Test
  • Test
  • Done

Phase 1 and 2 belong to the developers, before a task card can be promoted to 'Ready for test' it has to be peer reviewed (both at a functional and a code level). Phase 3 and 4 belong to the testers, only a tester can promote a task card to done. If it fails a test, the tester places the item back into phase 1, 'Not Done'.

I find this model enables the team to achieve very high QA. For a task card to be promoted to 'Done' requires it to have passed through two testing phases, firstly the peer review and then the testing team.

If QA is of the most importance (*note: that SCRUM normally has some tolerance built in for bugs, but certain work, such as life critical medical software, cannot afford any bug), then you can introduce an additional testing phase between Test and Done where by a task card must be peer reviewed through a senior tester / another tester before being promoted to Done.

I started of this entry by mentioning TDD, and the simple QC model I have given should ideally be used in addition to TDD (which I am a fan of), so that you enable your team to achieve high QA with minimal disruption to their daily workflow.

Tagged as: , , , , , , No Comments
26Aug/100

Hybrid Mythologies

Many people have asked me which is the perfect methodology for their business to use, my initial reaction is always 'none'. This normally causes the person originally asking the question to frown and look confused, at this point I normally clarify by telling them;

'No mythology as a single entity framework is perfect for your business. You need to adopt and evolve a framework into your business methodology'.

I refer to these methodologies as hybrid methodologies, and I am a great believer that only by creating hybrid methodologies that we can truly deliver 'a closer to perfect' framework.

One of my favourites is a hybrid that keeps traditional linear waterfall project managers happy but at the same time introduces a Agile (SCRUM) process at the 'doing' level. To view the hybrid, please click here (PDF, 156kb).

Feel free to contact me about creating Hybrid's (carl@carlbruiners.co.uk), as my goal over the next few years is to continue to create these frameworks / methodologies / models / processes until I can create the 'nearest to perfect' methodology possible :-)

Filed under: Lean, SCRUM, XP No Comments
26Aug/100

Will Agile kill itself by being too efficient at highlighting failure?

Over the last few years it has become very popular (almost trend setting) to say that your business uses Agile.

As I mentioned in a previous blog 07/08/10 this normal means that Agile methodologies have been poorly implemented, which is worrying enough, but another concern I have is that Agile methodologies (SCRUM, XP, Lean, etc...) may end up killing themselves by being too transparent.

One of the things that attracted me to working within Agile frameworks was that transparency is greatly increased. This transparency normally ends up highlighting an individual’s failure to produce 'stuff' for the team (though as a true SCRUMMER, I don't like highlighting individual failure outside of those who really need to know, I don't like blame cultures).

As most of my implementations of Agile methodologies start within IT departments, I will give you an example surrounding IT;

Example - Implementing SCRUM
Most businesses like the idea of SCRUM as they feel that this is a way to 'regain' control of either rogue IT departments or inefficient IT departments. If the IT team isn't used to working within an Agile environment, as a SCRUM master, you may encounter a number of problems that helps the business owners justify (initially) the move over to SCRUM (lack of staff buyin within IT, failure to meet initial SPRINT deadlines, poor performing staff highlighted, etc...). Once your over the initial hurdles of implementing SCRUM and the IT department are working with SCRUM I have found that most of the failings originate from the business.

There are loads of articles out there highlighting issues with Product Managers and Stakeholders (note: I've deliberately left off Product Owners), so I won't cover that ground again.

My concern is that whilst Agile brings the business lots of benefits, that ultimiately businesses will end up dropping Agile methodologies because it will become unpopular as it begins to highlight failings within the business (and normally business process / controls).

Case: A commercial director who's company has just implemented SCRUM
The commercial director cannot stop bragging how the company had implemented SCRUM within IT development successfully. Three months later the same commercial director asks the board to review and ultimately replace the development methodology.

The reason for his change of heart was that every day he would walk into the IT department and ask for ad-hoc work to be done (normally with no requirements or specification and by passing the Product Manager / Product Owner), when this caused disruption to the current SPRINTS and the additional non specified work was not completed he would complain to the head of IT insisting that SCRUM was not very Agile.
Two weeks later the Commercial director attended a board meeting were it was highlighted that the failure of the IT developers to deliver for 2 out of 5 SPRINTS was down to the commercial directors interference with the developers work efforts. After the board meeting the commercial director started to place doubt into other stakeholders / senior managers about the benefits of SCRUM / Agile and that the business should look towards more established methodologies (i.e. waterfall) to get the work done.

The example above is something I have encountered myself, and as a SCRUM Master this is something that I have had to fight with the business about when there is doubt amongst senior staff who can influence what methodologies are implemented within a business. So far I have been successful in stopping the changing tide (hence creating Hybrids to demonstrate flexibility and to appease the doubters), but this is something that I feel coupled with poor Agile implementations is going to ultimately kill Agile.