Monday, July 27, 2015

Transparency - Two Way Visibility

What does the value of Transparency really mean?
Nextgov: How do you define transparency?
Fung: My definition is quite a bit different from the conventional wisdom about transparency. A transparency system is designed to allow people to improve the quality of decisions they make in some way, shape or form, and it enables them to improve their decisions to reduce the risks they face or to protect their interests. Some of those decisions are about political accountability but some are in private life, like what food to buy or what doctor to go to.
-- Archon Fung, professor at Harvard University's John F. Kennedy School of Government who studies government transparency.

Does your company practice fair pay?  Here's what one worker brought to Google and made a difference in transparency at the search giant.
Tell Your Co-Workers How Much You Make!  There's no law against it and it increases the chances you'll be paid fairly.

Does the Agile Manifesto imply some form of organizational transparency? I believe so, yes.  Here's what Jeff Sutherland has to say about the topic, look for the Individual and Interaction section.  Agile Principles and Values by Jeff Sutherland on MSDN.

Scrum's 5 core values list the concept of Openness.  Is this not very similar to Transparency?

There are lots of synonyms - visibility, openness, observable, apparent, etc.

Does this value of transparency imply that the information flows in both directions, up and down an organizational hierarchy, from line-workers to managers & directors, as well as from CEO to directors and wage earners also?


See Also:


Friday, July 24, 2015

Scrum Immersion workshop at GameStop - Case Study

Here's a overview of a Scrum Immersion workshop done at GameStop this month. A case study example.

Normally these workshops start with the leadership (the stakeholders or shareholders) which have a vision for a product (or project). This time we skipped this activity.

The purpose of the Workshop is to ensure alignment between the leadership team and the Agile Coaches with regards to the upcoming scrum workshop for the team(s). Set expectations for a transition from current (ad-hoc) practices to Scrum. Explain and educate on the role of the Product Owner.

Expected Outcomes:
  • Create a transition plan/schedule
  • Set realistic expectations for transition and next release
  • Overview of Scrum & leadership in an Agile environment
  • Identify a Scrum Product Owner – review role expectations
  • Alignment on Project/Program purpose or vision
  • Release goal (within context of Project/Program & Scrum transition)

Once we have alignment on the Product Owner role and the Project Vision we typically do a second workshop for the PO to elaborate the Product Vision into a Backlog. This time we skipped this activity.

The purpose of the Workshop is to educate the Product Owner (one person) and prepare a product backlog for the scrum immersion workshop. Also include the various consultants, SME, BA, developers, etc. in the backlog grooming process. 
Expected Outcomes:
  • Set realistic expectations for transition and next release
  • Overview of Scrum & Product Owner role (and how the team supports this role)
  • Set PO role responsibilities and expectations
  • Alignment of Release goal (within context of Project/Program & Scrum transition)
  • Product Backlog ordered (prioritized) for the first 2 sprints
  • Agreement to Scrum cadence for planning meetings and grooming backlog and sprint review meetings

Once we have a PO engaged and we have a Product Backlog it is time to launch the team with a workshop - this activity typically requires from 2 to 5 days. This is the activity we did at GameStop this week.
The primary purpose of the workshop is to teach just enough of the Scrum process framework and the Agile mindset to get the team functioning as a Scrum team and working on the product backlog immediately after the workshop ends (begin Sprint One). 
Expected Outcomes:
  • Set realistic expectations for transition and next release
  • Basic mechanics of Scrum process framework
  • Understanding of additional engineering practices required to be an effective Scrum team A groomed / refined product backlog for 1- 3 iterations
  • A backlog that is estimated for 1 – 3 iterations
  • A Release plan, and expectations of its fidelity – plans to re-plan
  • Ability to start the very next day with Sprint Planning

Images from the workshop

The team brainstormed and the prioritized the objectives and activities of the workshop.


Purpose and Objectives of the Workshop
The team then prioritized the Meta backlog (a list of both work items and learning items and activities) for the workshop.

Meta Backlog of workshop teams - ordered by participants

Possible PBI for Next Meta Sprint

Possible PBI for Later Sprints

Possible PBI for Some Day

Possible PBI for Another Month or Never

A few examples of work products (outcomes) from the workshop.

Affinity grouping of Persona for the user role in stories

Project Success Sliders activity
Team Roster (# of teams person is on)

A few team members working hard
Three stories written during elaboration activity

A few stories after Affinity Estimation

Release Planning:  Using the concept of deriving duration based upon the estimated effort.  We made some assumptions of the business desired outcome;  that was to finish the complete product backlog by a fixed date.
The 1st iteration of a Release Plan
 That didn't feel good to the team, so we tried a different approach.  To fix the scope and cost, but to have a variable timeframe.
The 2nd iteration of a Release Plan
 That didn't feel good to the PO, so we tried again.  This time we fixed the cost and time, but varied the features, and broke the product backlog into milestones of releasable, valuable software.
The 3rd iteration of a Release Plan
This initial release plan feels better to both the team and the PO, so we start here.  Ready for sprint planning tomorrow.



Friday, July 10, 2015

Exercise: Pair Programming Simulation using Tangrams

Yesterday (July, 2015) we did a lunch-n-learn at GameStop HQ on pair programming.  I think it was a great success, largely because we serve food, and I've been told that everything goes better when people are sharing a meal together (and even better with adult beverages).


Are you interested in Pair Programming?  I'll confess, the term is a bit misleading.  I was asked by multiple people if the topic was just for programmers.  No - no it's not just a programming technique. It is also for any kind of knowledge work.  Such as testing, or analysis, or writing stories, or ... yes coding, scripting, excel spreadsheets, etc.



The Agenda: Pair Programming Simulation


Start with a warm up exercise (totally non-related to the topic).  This allows all the late arrivals to find a seat and not miss out on the real start of the session.  I've found this technique (soft start) to be a required technique for companies that have not adopted basic meeting protocols, such as finishing prior to the start of the next meeting.  IF one does not finish on time, how can one start on time?

We used Thiagi's warm up of Buying Happiness

Flipped this lesson.  Although the experiment resulted in a - How Fascinating (failure).  No one actually participated in the homework to read the lesson before the experience session.  We continued without doing any actual lecture.

PDF - Pair Programming - Lessons

Query the audience - to share the common level of people with respect to the domain knowledge.  Ask a few questions - raise your hand if you have heard of pair programming, if you've done pair programming, if you only program in a pairs (every day)?  Look around - these are the experts.  Raise your hand if you are a beginner?  When you read the homework on pairing, you remember that pairing beginners with beginners is an anti-pattern.  So what shall we do about that?

Restructure the seating arrangements, have people select appropriate pair for their skill level.  Don't allow the beginners to sit together and the experts to create a click.

Part ONE.  Pair Drawing.

Let's do the simplest thing that could possibly work... everyone has learned to draw/sketch.  Let's use this innate skill to explore pairing basics.

PDF - Pair Face Drawing

Part TWO.  Lunch.

Typically what draws everyone to your meeting... food.  Don't do Lunch-n-Learn with out this.

Part Three.  Pair Puzzle Solving.

Let's extend our learning into a harder problem domain... solving a puzzle - Tangrams.

PDF - Pair Puzzle - Tangram Solving

This exercise can touch upon the aspects of Test-First (TDD) practices.  Typically a topic for another Lunch-n-Learn.

Debrief.

A great facilitator does the exercise / simulation just to get to the debrief.  Reflection is the only activity where double loop learning may occur.  Using metaphor and analogy to relate drawing faces or solving Tangrams to developing software is the job of the debrief.


In a large group with many subgroups this can be done by projecting the debrief question on the screen and having the subgroups (tables) debrief themselves.  Extra points given for summaries of learning points or action items discovered.

We did a debrief after each example problem.  Then ran out of time to debrief the whole workshop - but did get Level One feedback on the workshop.  It was a 8 or 9 (out of 10) with a few improvement to make for next time.

    
      
  


Friday, June 26, 2015

To be a Profession or to Unionize in the Software Industry?


Which form of industry growth would you prefer - why?

Which path leads toward the culture you desire in a software development organization?

This is a wonderful article on the topic - read it and discuss with your colleagues.


Programmers don’t need a union. We need a profession.  BY 


"Unions work best for commodity labor, and I use that term non-pejoratively. Commodity work is easily measurable and people can often be individually evaluated for performance. For example, a fishing boat operator is measured according to the quantity of fish she procures. A lot of very important work is commodity labor, so I don’t intend to disparage anyone by using that term. Commodity work can be unionized because there aren’t large and often intangible discrepancies in quality of output, and collective bargaining is often the best way to ensure that the workers are fairly compensated for the value they produce. Software is not commodity work, however. It’s difficult to measure quality, and the field is so specialized that engineers are not remotely interchangeable. When the work is difficult to measure and large disparities of quality exist, you have a situation in which a certain less-egalitarian (in the sense of allowing top performers to receive high compensation, because it’s essential to encourage people to improve themselves) and more self-regulatory structure is required: a profession."
"A profession is an attempt to impose global structure over a category of specialized, cognitively intensive work where the quality of output has substantial ramifications, but is difficult (if not, in the short term, impossible) to measure, giving ethics and competence primary importance. A profession is needed when it’s clear that not everyone can perform the work well, especially without specialized training. Here are some traits that signify the existence of a profession."
1) Ethical obligations that supersede managerial authority.
2) Weak power relationships.
3) Continuing improvement and self-direction as requirements.
4) Allowance for self-direction.
5) Except in egregious cases, an agreement between employee and firm to serve each others’ interests, even after employment ends.
 



Friday, April 17, 2015

Topics for Lunch-N-Learn



Brainstorming a list of topics for a Scrum/Agile lunch-N-learn session.

Pair Programming - simulation using Tangrams & Face Drawing
Slicing Stories – resources to slice vertical stories of value
Story Writing techniques:  w/ Q&A based upon participants real stories
Estimation techniques:  Affinity Estimation; T-shirt sizing -> converting to numbers; Planning Poker (the rule book)
Team building tools:  Infinite Loops; Helium Stick; Warp Speed;  Pair Drawing, etc.
Definition of Done/Ready exercise
Release Planning   How to derive duration with a complicated backlog
Agile Library Initiation  Bring books, make the rules, get funding, 1,2,3, GO!
Management 3.0 Book Club - join a group reading the best Agile book written.
Making Visual Information Radiators - define Radiator/Cooler;  elements of a Scrum board
Aspects of an effective Product Backlog
Agile Portfolio Planning - tools and techniques; estimation, cost of delay, prioritization, deciding what NOT to do
The principle of TDD via LEGO building;  anyone can learn the power of test first development
Does you development rest on a SOLID foundation - an overview of the SOLID principles
Collaboration Games to understand the customer;   12 Innovation Games;  Other resources
User Story Maps technique to achieve higher level understanding of the backlog
Launching a Team;  what’s required, best practices, examples and techniques
Team Practices:  a collection of quick tools to increase team work and collaboration
Learn Backlog Prioritization techniques:  Cost of Delay,  Perceived ROI,  Delivery Order, Gut Feeling, Loudest Yeller


see also:


Monday, February 23, 2015

Why Visual Management Techniques are so Powerful



How does the brain process visual clues to the environment and synthesize meaning about an ever changing landscape?  Tom Wujec explains the creation of mental models and why AutoDesk invest in visual management techniques to plan their strategic roadmaps.




Also in one of Tom Wujec's talks on How to Make Toast, he explains another important point of visual management - system's thinking and group work.

Don't worry... the mind will do all the work.  It will fill in the missing details, and abstract the patterns into the concept.  Here's an exercise, Squiggle Birds by David Gray, to experience this.




See Also:

Visual Management Blog

Visual Thinking - Wikipedia

David Gray on Visual Thinking

Ultimate Wallboard Challenge 2010  time-lapse of Vodafone Web Team's board

iPad Interactive Whiteboard Remote

Multitasking: This is your brain on Media
Multitasking: This is your brain on Media - Infographic by Column Five Media.