My Secret Life as a Spaghetti Coder
home | about | contact | privacy statement
When you've got a to-do list in your head, with no consistency or order, that's what a co-worker of mine yesterday called planning soup. Dip the ladle in the pot and whatever comes out is the next task for you to tackle.

Planning Soup is manageable for lone developers working on a single project at a time. It's probably still warm and tasty even for the lone coder working on a few projects at a time. He knows what features need to be developed, in what order, and by what date. Some people can't work that way, I understand. But the lack of ceremony around the planning process can allow the others to thrive.

When you have multiple many-to-many relationships between programmers and projects, however, that delicious tomato basil soup starts to uglify.

The ugliest, nastiest soup.

"How long will it take you to finish new Project Bamtastico?" asks the bossman.

"I'm working on Project Shinsakenam at the moment. So probably a couple of weeks," you reply.

Later the same day, one of your teammates tells you about some soup that just went into his cup. As it happens, his cup was already full: the project is due tomorrow, and he needs help. It's higher priority than both Bamtastico and Shinsakenam, so you've got to help it be as little late as possible.

Extrapolate what happens to your projects, and everyone else's.

You need something more structurable than soup to aid in your planning.

You may not not need the filet mignon formality of project planning software and paper document legalese, but you need something more structured than soup. With soup, some team members don't know what others have done or are doing. They may not know what needs to be done. They may be unaware of entire projects. (While that's expected in large organizations, it can be bad! in small ones.)

Some jello shots.

I might recommend the firm, yet flexible approach of jello. Get the developers together in a room. List the projects and features on a whiteboard. Use different colors to give a rough indication of which tasks can be performed by the same person.

You need to start measuring. You don't have to measure much, but you need to assign costs to features and track how much of the total cost you can complete in some time frame. After some larger time frame, you'll be able to give accurate completion dates for the outstanding projects, as well as any new ones that crop up.

A burndown chart

Give each project its own BFC, of the burndown variety. Seriously, it'll take like 10 minutes to keep this stuff updated. Start crossing out features as they're consumed.

It's not as free-form as soup, but it might do you some good.

Hey! Why don't you make your life easier and subscribe to the full post or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!


Comments
Leave a comment

What is that abomination you call soup? Looks like a chicken's hand with a fish coming out of it....

Posted by Icarus on Jan 04, 2012 at 04:44 PM UTC - 5 hrs

Not sure what it is to be honest.

Posted by Sammy Larbi on Jan 04, 2012 at 05:42 PM UTC - 5 hrs

Leave a comment

Leave this field empty
Your Name
Email (not displayed, more info?)
Website

Comment:

Subcribe to this comment thread
Remember my details
Google
Web CodeOdor.com

Me
Picture of me

Topics
.NET (19)
AI/Machine Learning (14)
Answers To 100 Interview Questions (10)
Bioinformatics (2)
Business (1)
C and Cplusplus (6)
cfrails (22)
ColdFusion (78)
Customer Relations (15)
Databases (3)
DRY (18)
DSLs (11)
Future Tech (5)
Games (5)
Groovy/Grails (8)
Hardware (1)
IDEs (9)
Java (38)
JavaScript (4)
Linux (2)
Lisp (1)
Mac OS (4)
Management (15)
MediaServerX (1)
Miscellany (76)
OOAD (37)
Productivity (11)
Programming (168)
Programming Quotables (9)
Rails (31)
Ruby (67)
Save Your Job (58)
scriptaGulous (4)
Software Development Process (23)
TDD (41)
TDDing xorblog (6)
Tools (5)
Web Development (8)
Windows (1)
With (1)
YAGNI (10)

Resources
Agile Manifesto & Principles
Principles Of OOD
ColdFusion
CFUnit
Ruby
Ruby on Rails
JUnit



RSS 2.0: Full Post | Short Blurb
Subscribe by email:

Delivered by FeedBurner