[Python-ideas] Iterative development

anatoly techtonik techtonik at gmail.com
Wed Jan 29 08:44:30 CET 2014


Yet another idea that some of you will find strange.

It is a parallel Python development process. It doesn't affect or
replace current practice, so nobody gets hurt. It is also about open
process, where openness means transparency (eliminate hidden
communication), inclusiveness (eliminate exclusive rights and
privileges) and accessibility (eliminate awkward practices and poor
user experience).

The idea is to split development of Python into two weeks cycle. Every
two weeks is "iteration". Iteration consists of phases:

1. Planning (one, two days)
2. Execution
3. Testing
4. Demo
5. Retrospective

Some of you, who familiar with concept of "sprint" and know something
about "agile" buzzwords will find this idea familiar. In fact, this is
borrowed from some of the best practices of working with remote teams
who use this methodology.

(Planning) So, during these the first, planning phase, people, who'd
like to participate - choose what should be implemented in this
iteration. For that there should be a list of things to be done. This
list is called "backlog". People collaboratively estimate complexity
and sort the things by priority.

(Execution) You take a thing from backlog, mark that you're working on
it, so that other people who are also interested can find you. If you
need help, you split the thing into subtasks and make these tasks open
for people to find and jump in.

(Testing) This is a phase when work done is compared with actual thing
description. Sometimes this leads to new insights, new ideas, new bugs
and more work to be done in subsequent iteration. Sometimes it appears
that during execution the thing completely diverged from what was
originally planned.

(Demo) Demonstration of the things done. Record progress, give credits
and close mark things in backlog as done. Demo is made for broader
community that just for a list of participants.

(Retrospective) This is an important phase that is dedicated to
gathering and processing feedback to improve the iteration loop. Every
person reports what he/she liked and disliked, what was the % of
overall fun. Then some things and ideas are being born from the
feedback - what can be improved - being it tools, interaction with
people or some other things that get in the way.

-- 
anatoly t.


More information about the Python-ideas mailing list