[crossfire] Organizing efforts, was Re: Project: New Intro

Mark Wedel mwedel at sonic.net
Mon Jul 2 00:22:27 CDT 2007

  Quickly catching up with followups:

  I'm not sure we really need graphs to track dependencies - I'm not sure they 
are that complex (there are not that many).  What is really needed is to just 
note what the dependencies are, so we can know there is no reason to bring spell 
reform to the table until class/race/skill changes are done.

Having project leaders before the project is worked on/voted on makes sense. 
And as I think about it more, it would generally be good to have the detailed 
project plan before voting, so people actually know what they are voting on. 
OTOH, writing up project plans for all the potential things to do is a daunting 
task.  The flip side is that if someone is willing to write up the plan, there 
is probably at least one person willing to work on the problem.

I'd expect in most cases the vote to be pretty clear cut.  I think each vote 
would have to be limited to the top 5 (or so) most important projects, which is 
probably decided by the person running the vote (but once again, I think the 
seasoned developers would have a pretty good idea).  Certainly anything that has 
a dependency on it should almost always be on that list.  And certainly opinions 
could be solicited for what should be on the voting list.

As stated in my original message:  The reason that only the developers vote on 
the next project to work on is because it is the developers doing the work.  The 
testers are important, but for the most part, they are not going to help get the 
project get done.  Likewise for the players.  A big concern I have is that if it 
is opened up to non developers, we'll get a vote that basically none of the 
developers (or too few to for meaningful team) agree with.  So the players say 
'foo should be done first', and developers say 'I could care less about foo'. 
End result, foo is never done, and this system fails completely - if the vote 
has no meaning, why do a vote?

I didn't really state it, but my expectation is that for the top priority 
project, as many developers as needed work on it.  I'd think that in most cases, 
that would probably top out at 4-6.  If only 1-2 people are going to work on 
each project, there really isn't any point to this process - the person working 
on the project would just go an do it, and can coordinate with that other person 
(can probably find 1 other person that agrees with that project)

  My hope is that by concerted effort, things get completed in a timely fashion 
(I think also working as a group may make people work harder/finish things up, 
because in some sense, people are depending on them.  If I individually choose 
to work on foo, no one is really harmed/waiting for me if it takes 6 months to 
complete).  The current process is basically the individuals work on projects, 
and they sometimes get completed.  That really isn't working if our goal is to 
complete the stuff on that list.

The idea behind the lead sending out a project detail isn't a 'this is how I'm 
going to do it, tough luck', but rather provide everyone on the list with a 
detail on what/how they think it should be done.  That doesn't stop further 
discussion.  I just think it will save time for the person to do something like 
'I think skills should be redone.  Here is my list on how they should be redone 
- opinions' vs a 'skill should be redone.  Any thoughts?'  Both solicit 
opinions, but in the first case, you provide some starting ideas.  In a sense, 
the person writing that is probably putting his opinions down first, rather than 
waiting for feedback, and then putting his plan down.

  Another reason for this is that the person leading/working on the project is 
more likely to do so if the plan is one he likes.  If the idea/plans that come 
out of discussion are such that the lead developer things 'this is idiotic', how 
likely do you really think it is he is going to spend much work on that?  He 
doesn't think it is the right direction.


  I've said it before, and I'll say it again:  Crossfire is a volunteer project. 
  There really isn't any way to force anyone to do anything.

  So the point here is to try and get something in place so that people will 
want to do the work, and the best way to do that is to make sure those doing the 
work have as much say into what is going to be done as possible.  That certainly 
doesn't mean that others opinions are ignored, but there are lots of 
considerations to take into account - complexity of suggested changes, other 
side effects, willingness to do those changes.

  And last point:  For quite some time, the mode of operation has been long and 
varied discussion about all sorts of points, with developers going off working 
on what they want to work on.  The end result of that is very few of the 
'important' projects on the TODO list get done.  so I would hardly say the 
current method is working especially well.

More information about the crossfire mailing list