[Framework-Team] Re: random thought: identify the components that lack owners

Wichert Akkerman wichert at wiggy.net
Sun Sep 28 12:10:23 UTC 2008

Previously Martin Aspeli wrote:
> Wichert Akkerman wrote:
> >Previously Martin Aspeli wrote:
> >>For example, I think we are missing a trick currently with the way we 
> >>manage maintenance releases. We do a good job of setting deadlines and 
> >>not missing them by too much. What we don't do, is build any sense of 
> >>urgency or importance around getting things done for those deadlines.
> >>
> >>We give people windows to hit if they happen to have something "in 
> >>progress". This consists of one or two emails to the list. That's only 
> >>half the story though. We need to think much more constructively about 
> >>the process people go about in getting something going in the first 
> >>place, and encouraging that.
> >
> >I'm hoping that plonenext can help a bit with that. If people make a new
> >release the release manager can include that in plonenext, which makes
> >it immediately available to people developing against that. I have long
> >wanted a way to motivate people to make releases when they are ready
> >instead of only when I send out a call for releases. I'm hoping
> >plonenext will help with that.
> plonenext will definitely help with that, but that wasn't quite what I 
> meant. This still assumes that people are actually in the middle of 
> working on something that they want to release.

Sure. Perhaps my view is a bit slanted because I am always working in
several different things at any point in time.

> Now, of course that happens some of the time, when there are external 
> drivers, such as customer projects that spin off generic components. 
> However, we are not doing enough to get people to start working on 
> contributions in good time.
> On past experience, there are a few things that make this happen:
>  - Setting a deadline. This is a necessary, but not a sufficient, 
> condition. No-one does anything unless there's a deadline. However, by 
> the time the deadline is set, it's usually too late to *start* working 
> on something, so something has to be in progress (conversely, the 
> deadline is too far in the future, it doesn't feel like a deadline and 
> gets forgotten about).
> I think this is in danger of happening for 3.3. Ask how many people feel 
> like there's a deadline coming up, and ask how many people feel they 
> have a responsibility to get something done for that deadline. I suspect 
> you won't get many replies.

Deadlines are one of those things that you can't live without even
though you don't like them.

>  - Setting a shared vision. I think this is what Jon is talking about. 
> We have talked about (and have even put into practice) having loosely 
> defined "themes" for a release, e.g. 3.2 is the "eggs" release. These 
> discussions tend to be led by a few people, e.g. you (Wichert), Alex, 
> Hanno, me. I think possibly could have some conventions for making these 
> discussions happen, e.g. a way to propose and then discuss themes.

I suspect there is a lot of shared vision, but that we are not very good
at writing it down. Partially because we are afraid to since it might
look more like a dictate, and partially because we have no good process
for it. I think emergent visions are fine, but I do think we need to
set some solid directions.

I just wrote down a few pages on directions that I think we need to look
at and mailed those to the developers list.

> By the way, I suggest we call Plone 4.0 "Snow Plone" (like Snow Leopard, 
> geddit?).

I don't get it.. The naming for Plone releases has always been a mystery
to me but luckily we never actually use those names anyway. I don't know
why we bother :)

>  - Following up. Ask people how they're getting on. Make them feel like 
> what they're doing actually matters to other people. Alex has done this 
> in the past, but this is a bit too ad-hoc. The framework team could 
> feasibly do this for submitted PLIPs, but there's often a need to do 
> this before we have PLIPs also. I think this process has to be informal, 
> but we should encourage more of it.
>  - Lavish praise. If someone does something for Plone out of their 
> spare time, be that to fix a bug, contribute a feature, do some 
> pre-release testing, or documentation, or whatever - make them 
> understand that their contributions are appreciated by the whole 
> community. If someone makes a mistake, don't shoot them down for it, but 
> rather try to be constructive and appreciate that their feelings 
> probably will be hurt if we revert their changes. Sometimes we have to, 
> of course, but the way in which that message is delivered is an 
> important determinant for whether that person contributes again.

I know I am not always the most subtle person out there. It might be a
cultural thing - we tend to be more direct here. You do touch on 
something important though: we have almost no after-merge process. There
is no process for Q&A testing, writing or updating documentation for
changes, getting press and praise out, etc. This is becoming more and
more critical now that there is a growing number of projects that share
some of the problem/solution space that Plone is in. An awful tool
with excellent documentation will almost always win over an awesome tool
with lousy documentation. We have come a long way, but we still have
many miles to go.

>  - Sprints! Making the best use of sprints is vital. We tend to lurch 
> forward during a sprint. The ideal sprint, IMHO, is one that has a clear 
> goal (the Baarn sprints have been great like that) and an appropriate 
> mix of people who are motivated to work towards that goal. We then find 
> that 80% of the functionality gets completed at the sprint, and the 
> remaining 20% gets done later.
> We've talked a bit about aligning releases to sprints. We should 
> probably do it the other way too: align sprints to releases, or at least 
> to desirable releases. For example, we could say that our aim is to have 
> a "UI Sprint" each year for each release, and a "Release sprint" just 
> before each release to squash bugs and tidy up loose ends, and then an 
> "R&D Sprint" once a year or so to try out crazy things.

I have tried to align releases with events last year. It doesn't work:
there are too many and occasionally to move as well. We do have an
alignment with this years Plone conference: a Plone 3.2 pre-release
(good marketing) and PLIP review for 3.3 (excellent discussion ground)

> I don't think that overly formalising sprints will help (or work), but 
> we can probably just structure what we have slightly better.

I feel we need better sprints: fewer people, smaller focus, try harder
to get people with the right experience and long-term availability in
and make sure we get people with outside expertise in.


Wichert Akkerman <wichert at wiggy.net>    It is simple to make things.
http://www.wiggy.net/                   It is hard to make things simple.

More information about the Framework-Team mailing list