Week 4 - First real gig
This is the first real gig at a client site.
We're flying to California on an early evening flight.
It turns into a late-evening flight as the plane arrives late and the crew even later.
The cute girl sitting next to me asks me what I'm going to do in California.
I say: "Agile enablement".
She: "Oh, like ThoughtWorks ?"
Me: "No, FOR ThoughtWorks."
And now I'm a hero. She's wearing a shirt that says: "I
By the time I pick my car up, drive to the hotel (miss the @$#@%! exit to the highway) and check in, it's 3:00 AM.
Needless to say, I'm completely fried and hit the hay.
The next morning, I'm having breakfast with my two team mates, one of which turns out to be major ace in the Agile PM field.See here:
http://www.softed.com/sdc2004/robin.html
The client has an organically grown people tracking system that is so complex that nobody dares to make any changes to it.
Enter the knights of Agile. (Pa-Pada-Paaa !)
We're teaching the client that you can indeed bite off little bits at a time, focus on just that delivery and acctually complete something.
So here we're introducing things like test driven development and continuous integration.
Look for books by Jim Highsmith and Alistair Cockburn on Agile Project management.There is a whole series of them by various authors.
Beware of the hucksters and carpet-baggers out there that picked up on the Agile craze, but failed to do their homework.
For most people that have been around for a while, Agile is realy hard to grasp: they have to learn how to talk about projects in a whole new fashion.
What's insane about this, is that an Agile approach to projects comes naturally to people, but because of it's simplicity and "easy fit', people think that it's too "organic".
Many an IT person feels uncconfortable dealing with projects is such an ordinary fashion: there need to be big words, thick documents and much ado about nothing.
Some fun little nuggets that came my way as I'm analyzing the client's codebase.
The obvious Unix tools find/sed/awk/grep can give you a very quick insight into the complexity and organization of a codebase, but these tools up the ante quite a bit by doing a lot more in-depth analysis on class and pacckage interrelationships.
One of these tools even detects whether code was copied and pasted...
- Simian (http://www.redhillconsulting.com.au/products/simian) Code duplication detector that finds copy-and-paste reuse in code.
- Checkstyle (http://www.sf.net/checkstyle). Does a lot more than simple tab-and-braces checking
- Pasta - the Package Structure Analysis Tool (http://javacentral.compuware.com/pasta/) Finds cyclinc dependencies and much more nasty stuff. Not free :,v(
- yDoc (http://www.yworks.com/) javadoc plugin that generates UML into your javadoc files. Not free, but cheap.
Oh yeah, we also coined a new term: the Onion diagram.
This thing shows how phases of a project build on each other. E.g. the core is the very first thing you need to do.This sets the stage for the next layer to be started and completed. Each layer needs to have a significant part of the previous layer completed in order to start.
We did a presentation on Agile for the client department today.
Much scepticism. How can something so simple solve our orgganizational problems ?
It's called Agile project management and proper governance, baby...
0 Comments:
Post a Comment
<< Home