Friday, May 31, 2019

Personal approach

One of my areas of expertise is test automation and test driven develop as applied to Agile (acceptance testing, domain driven development, CI and automated builds). As a former developer-in-test myself, I can teach hands-on test automation at all levels (unit tests, integration and UI tests). My current teams' work to an impressive code coverage of 95% or more. I can mentor developers on the core of true “test first” test driven development (the smallest code for a failing test, the smallest production code to make that test part, refactoring all the way) plus the supporting principles (as the tests get more specific, the code gets more generic) and supporting practices (recognising when TDD has taken a wrong turn and how to correct it).

I've worked on projects to add test automation to legacy systems that previously relied on manual testing and greenfield projects that eliminated manual testing from day one. I can also ‘pair programme’ with developers and testers to teach good practice in the early stages of adoption or when on-boarding a new team member.

One of my biggest wins at a recent client was coaching teams to craft encompassing and meaningful Sprint Goals and to work to create potentially-releasable increments of product each Sprint (when I arrived there, Sprints were mere shopping lists of user stories!). I had been with one of the teams from inception of product vision to the release of the Minimum Viable Product (MVP) offering. I've worked with junior and experienced Product Owners on how to order the Product Backlog Items to maximise value and mitigate risks.

I also provide all services to the team expected of a Scrum Master. I coach teams to ensure they understand the purpose of the Daily Scrum: to inspect progress towards the Sprint Goal, adapting tasks and approach and owning impediments. The Sprint Reviews I oversee presenting working software to stakeholders for discussion and feedback. I facilitate Retrospectives that make team issues visible in a safe and engaging environment, running games and activities, and teaching about Agile principles and supporting practices.

Wednesday, May 8, 2019

Mary Poppins as Scrum Master

Having recently watched Disney's Mary Poppins Returns, I been wondering whether the titular character might be a Scrum Master.

While she could probably solve problems herself, she instead creates opportunities for others to take the required action, as happens when she takes the children to the bank so they can sneak off to confront the bank president's office.

She provides a vision of a better future outcome and helps everyone work towards it but does not hand out platitudes nor is fake optimistic (her default settings is to be smiling, though sometimes only to herself). In the film, this goes as far as setting impossible goals!

She supplies a model for a possible course of action but allows the team to 'join the dots' and agree the action, does not spell it out directly. For example, a whole sequence based around a song 'A Cover is not the Book' leads to the children realising by themselves that a certain character isn't all they seem.

There is the understanding that at some knowable stage she will no longer be needed, therefore she teaches the Banks family to self-organise. As one song from the film says: “When the world is getting scary, be your own luminary.” 

She has courage to speak out, is prepared to risk get herself and her charges into trouble and is certainly not a 'people pleaser' who requires praise (though she is beloved by nearly everyone for being herself).

She give a lot of latitude to her charges and actively encourages imaginative solutions but she is always prepared to step in to save the situation if necessary, thus providing 'guardrails' for those she looks after.

She doesn't have a specific job in the household (unlike, say, Ellen the cook), does not report directly to the head of the household, was not chosen by him but rather some 'higher' process. Similarly the children did not select Mary but know she is one of them and that she is representing their interests.

She allows pause for discussion but there is a sense of 'time-boxing': she has a low tolerance for frivolity and has a strong preference for just getting on with trying something. More actions than words, she leads by example.

She brings a supply of tools (in her carpetbag) and strategies for known situations she has experienced before e.g. how to have a fun and effective bath time.

...And there are other parallels to be drawn: Jack the lamp-lighter as a subject matter expert the the team sometimes needs to complete their tasks (such as getting home through the London smog); "responding to change" by turning upside down when the world does so.

Of course, there are many aspects to the Mary Poppins character that do not fit so well to the Scrum Master role. A Scrum Master needs to be practical but expect 'high performance' rather than 'perfection'. Mary Poppins herself discourages questions and never explains, doesn't seek alignment with senior stakeholders, likes to perform and be the centre of attention and therefore would not last long in a Scrum Master role!

What do high-performing teams need in the real world?

I recently watched one of those skits on the Amazon show The Grand Tour ( S3 E11 ) which surprised me with its rather sensible conclusion. T...