[teampractices] Fwd: [Wikitech-l] [WikimediaMobile] Cross-Post: Editing + Reading Meeting Notes

Kevin Smith ksmith at wikimedia.org
Wed Jul 29 20:01:25 UTC 2015


Cross-posting, so TPG is aware of what I wrote. Hopefully it was both
reasonable and appropriately disclaimed.

Kevin Smith
Agile Coach
Wikimedia Foundation



*Imagine a world in which every single human being can freely share in the
sum of all knowledge. That's our commitment. Help us make it a reality.*

---------- Forwarded message ----------
From: Kevin Smith <ksmith at wikimedia.org>
Date: Tue, Jul 28, 2015 at 9:51 AM
Subject: Re: [Wikitech-l] [WikimediaMobile] Cross-Post: Editing + Reading
Meeting Notes
To: Wikimedia developers <wikitech-l at lists.wikimedia.org>


That Kanban talk assumes some familiarity with Scrum or other agile
software development models, so might not be helpful for everyone. For
those who are new to that space, agile development[1] takes a radically
different approach than traditional (non-software) project management, or
from traditional software project management (often referred to as
"waterfall"). Agile encompasses both Scrum and Kanban, as well as a dozen
more methodologies. Agile is a way of thinking, being, and doing, rather
than a specific set of practices[2].

Note that agile is not fully adopted within the foundation, but I believe
many/most teams are either agile or "agile-adjacent". Most open source
projects are agile (or agile-ish) even if they don't realize it. Within our
Wikimedia context, I might describe "agile" development like this:

We probably can't know how long it will take to develop X, because as we
work, we will learn. So even if we did deliver exactly X, by then we would
realize that X is no longer exactly what is desired. That's in addition to
the normal uncertainty around programming, which is inherently a creative
process[3]. However, we will have some X in mind as a long-term
destination, realizing that we're unlikely to end up exactly there. It's
kind of like planning a road trip "up the coast", without knowing exactly
what campsite you'll end up in.

To get started, we will figure out some small portion of X, and code and
deliver it. That will give us feedback to figure out the next part of X,
which we will code and deliver. We'll repeat this over and over, constantly
refining our direction based on feedback. At some point, we will have
delivered "enough" and will stop. That could be at 30% of X, or perhaps 80%
of X but also with 40% of Y and 10% of Z. Throughout the process, the
Product Manager, developers, and users will be having conversations to
refine everyone's understanding of the goal(s).

At any point in time, the Product Manager will decide what the team should
work on, using heuristics like:
- Stuff that allows users to actually start using the product for real work
- Stuff that has a very high benefit-to-cost ratio
- Stuff we are absolutely certain we need over stuff we think we probably
want
- (Sometimes) Risky stuff first, to get it out of the way

Compared to other industries, software development has a couple huge
advantages: First, once we design and build something, it can be replicated
infinitely at almost zero cost. Second, our medium is highly malleable.
That is, we can build the equivalent of a 30-story tower, and then replace
the first floor with something completely different. Or we can start off
thinking we're building an airplane, but halfway through decide that we
actually want a cruise ship. For those reasons (and others), it can be
difficult to translate project management practices directly between
software and non-software fields.


[1] https://en.wikipedia.org/wiki/Agile_software_development
[2] http://agilemanifesto.org/
[3] https://en.wikipedia.org/wiki/Software_craftsmanship



Kevin Smith
Agile Coach
Wikimedia Foundation



*Imagine a world in which every single human being can freely share in the
sum of all knowledge. That's our commitment. Help us make it a reality.*

On Mon, Jul 27, 2015 at 5:48 PM, Brian Wolff <bawolff at gmail.com> wrote:

> > If it wouldn't be a distraction from other priorities, I'm wondering if
> > project management could be the subject of a Tech Talk sometime. (Cc'ing
> > Rachel who I believe coordinates Tech Talks.)
> >
> > Thanks,
> >
> > Pine
> >
>
> You mean like "Kanban: An alternative to Scrum?"
> https://www.youtube.com/watch?v=zT8cUtMTGPI
>
> --
> bawolff
>
> _______________________________________________
> Wikitech-l mailing list
> Wikitech-l at lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.wikimedia.org/pipermail/teampractices/attachments/20150729/dce4dc7e/attachment.html>


More information about the teampractices mailing list