quarta-feira, 8 de junho de 2016

BOOK: Actionable Agile Tools - Jeff Campbell


The book Actionable Agile Tools - Practical tips and tools from ten years of Agile
(by Jeff Campbell) presents some ideas / tools for better Agile/Scrum.

Some ideas / tools in the book are summarized below (this is the 5-line summary with more or less 5 lines). The book is free to read online, so if this summary it "too summarized", try to read the book.
Remember, as the author recommends, if it works ok. If not, try anything else (move to the next tool and/or idea).

Better sprint retrospectives


SR is also sometimes called "coffee room whining ceremony"
  • Talk about everything
  • It's someone's else fault
  • Nothing changes

Retrospective:
  • Talk about one thing
  • What can we do?
  • Experiments

Retrospective vs project post-mortem = bad term
  • symptom
  • root causes
  • experiment: Start... ; start...
  • success criteria: At least 2 bugs prioritized at each sprint (for example)
  • follow up: In 4 weeks; actionable person (that can delegate to others)

Post-its with names and flowers

Showing recognition (in front of the team) increases team spirit.

Tools for iterations

Who knows what "sprint 15" is or means (a few months after it was done)?
Solution: choose a tasty theme; name sprints alphabetically: apple pie, blueberry pie, chocolate cake, etc.
Eat the thing (really)
Enjoy.

Tool: Bugs for breakfast

A tool for quality: legacy products in bad shape?
Have a ceremony once per week (approx.)
Focus on quality-related things.
Examples:
  • unnapropriated tool in area X
  • few tests
  • fix issues
  • create test
List anything that contributes to increased quality. And manage actions derived from the meeting.

Tool for data based decisions

Scrum. Board

Ticket for:
planned, critical, support, meetings, admin

Make ticks in the wall per hour spent or per type of activity performed (to count ticks in the end).

Tool for retrospectives: Event log

Board with dates and what happened (for remembering those events easily later on)

Tool: Door calendar

Useful for production releases.

Move post its (as production releases dates change, if they change).
That way everyone sees it (if it is in the door).

Tool: Resilience map

Tool for cross functionality.
SPOF: To be avoided (at all costs)
Build a matrix of skills vs team member name, basic, med., high
That way it is easy to spot the gaps (where is the issue, if smth goes wrong with that system/skill we are blocked)
Show it to managers (the gaps become more evident and the team might be reinforced, or having more training as a result)

Tool: in-line definition of done

A tool for quality (so that no-one forgets checking everything before marking things as done).
US cards can have the checklist printed next to the / in the US card.

story name / DoD (check list, answer could be N/A for this US)
task name / DoD (could be different than the one for US)

Morning meeting protocol 

A tool for meeting efficiency.

Boring daily meetings?
Morning meetings should be energizing:
anything to share?
anything today?
does anyone needs our help?
any unplanned tasks?
is JIRA up to date?
is the build up to date? Jenkins?
etc,

WIP tool

A tool for kanban:

who ignores the WIP?
3 rules broken frequently

When blocked what should we do?
Wait? Or start new task?
What to do? Work in this order:

  • cofee
  • try to unblock blocked items
  • see I somone can finish off halted olwork off the mob
  • use the tech swimlane (technical debt)
  • have a retro on blocked items (if they are so many and being consistently a problem)

Tool: Not now backlog

A tool for dealing with "junk" (old epics and user stories that are in the PBL for ages).

1st: Convince to throw the huge backlog away

If not successful use this tool:

  • decide what now means: Q1,1,month
  • create a "deep backlog"
  • move all the crap you never going to do and...
  • forget about it

Tool: Visualized flow - a tool for refinement

The team "commits" to the sprint just to leave the room: Estimate and leave the room (while sometimes asking questions about the US in the process). If so use this tool:

First:
Several lanes: Customer | Team | Bugs | Marketing | Backlog
Move to the last lane IN ORDER
(top items have higher priorities)


Second:
backlog. PO refinement. Team refinement. Ready: Move items to the last lane as they are really ready (in order?)


Third:
Only choose ready items that are ready that fit the sprint

Fourth
Sprint = Todo... Deployed | Closed

Fifth

Show progress in another task board, so that other stakeholders understand and see the progress.
The task board shows the sprint contents in different lanes (so that they know that that MKT feature is being done)

These tools help to Facilitate communication (to other departments in the company)

The bottom line

Don't try to make teams make something that they don't want to do.
Try the approach (to pass the initial resistance): Let's have it a try for 3 weeks and then analyze results. Again, if it works ok. If not try anything else (move to the next tool and/or idea).

Further info at: https://leanpub.com/actionableagiletools

(2016-06-09: typos - kudos R. Azevedo)

segunda-feira, 6 de junho de 2016

Scrum Definitive Guide | Scrum.org (Agile)

This is the link to "The Definitive Guide to Scrum" (developed and sustained by Ken Schwaber and Jeff Sutherland, scrum.org, and also known as Scrum Official Guide or SOG), 16 pages that changed the way we produce (some) software:
(@2016-06-08: Added aka; 2016-10-17: added PS; 2018-02-21: rephrased, added link to V2017; added link to PT BR version)

sábado, 4 de junho de 2016

The RACI Model or Responsibility Assignment Matrices

Useful for management of team members cooperation (who needs to do what, who needs to know changes, who needs to review, etc.), communicating maintenance management responsibilities/plans, and so on:
https://en.wikipedia.org/wiki/Responsibility_assignment_matrix

RACI letter meanings: 
R = Responsibility ("the doer")
A = Accountable ("the Buck stops here")
C = Consulted ("in the loop")
I = Informed ("kept in the picture")

To build a responsibility assignment matrix: 
Build a matrix with a list of tasks/activities to be performed in one dimension (typically the vertical one) and a list of roles (or even resource names) in the other dimension, then think who needs to be R, A, C and I. Keep in mind that 2 Rs in the same row might create ambiguity and probably are not desirable to be kept like that (the effect of: "I thought the other party/person would do it!").

Several variants exist, and as for the SMART acronym (used for tasks, requirements, ...) sometimes a letter means different things between each of the variants. So read on (quoting Wikipedia):

3 RACI
3.1 PARIS
3.2 PACSI
3.3 RASCI
3.4 RASI
3.5 RACIQ
3.6 RACI-VS
3.7 CAIRO
3.8 DACI
3.9 RAPID
3.10 RATSI
3.11 DRASCI
4 Variations
4.1 RACI (alternative scheme)
4.2 ARCI (decisions)

One example:
https://commons.wikimedia.org/w/index.php?curid=26348185 (source: Rickysmithcmrp - Own work, CC BY-SA 3.0)

Also bear in mind that there is a distinction between a role and individually identified people:
Quoting:
"A role is a descriptor of an associated set of tasks; may be performed by many people; and one person can perform many roles. For example, an organization may have ten people who can perform the role of project manager, although traditionally each project only has one project manager at any one time; and a person who is able to perform the role of project manager may also be able to perform the role of business analyst and tester."

Updates: 2018-02 - role vs people


The State of Scrum 2015 Report - Scrumalliance.org (PDF)

Interesting PDF report from the organization that manages the framework:

https://www.scrumalliance.org/scrum/media/scrumalliancemedia/files%20and%20pdfs/state%20of%20scrum/scrum-alliance-state-of-scrum-2015.pdf

Quoting:
"The State of Scrum reports offer comprehensive coverage of global usage of Scrum -- who is using Scrum, where, how, and why. The report also looks at how and where Scrum is best adopted and is growing. "

PS. Heard of it from the "Fluffy Side of Scrum" book authors @ Agile Portugal 2015 (2016-06-05).
(@2016-10-13: Added quote)

quinta-feira, 2 de junho de 2016

About the Product Vision

A vision and a Product Backlog: What is needed to start Scrum (according to one of the maintainers of the Scrum Official Guide).

About the Product Vision including some PV samples:


Product Vision Template:

Work through the PV template together with the key stakeholders in the same room:

"For <target customer>
Who needs <statement of the need or of the opportunity>
The <product name> is a <product category>
That <key benefit and/or reason to buy>
Unlike <primary competitive alternative>
Our product <statement of primary differentiation>"

Test the product vision statement with the elevator pitch (If you can’t pitch what you have in 30 seconds, your product vision isn’t still finished - rework it).


(@2017-05-29: Added PV template link/info)