I am working on two new projects.  On one of these projects I am the only resource.  I am responsible for obtaining user stories from the customer, testing, development and deployment.  The only thing that is managed by someone else is the  priority of the stories.  There are a couple of things I noticed that is different than Agile team experiences that I have had.

First, while it may seem that this situation greatly simplifies communication, it is still of utmost importance.  What I mean by this is that I still need to document critical decisions and the reasons behind them.  I cannot assume that I will remember everything.  The good news is that the documentation can be less refined.  The bad news is, I am the only person to hold myself accountable, so it is easy to say, "I'll do it later", or "I'll remember, I don't need to document it."  It is clear that Agile requires great discipline.  I believe that an Agile individual has to be even more disciplined because of the absence of accountability.

Second, two brains are better than one.  Probably the greatest difficulty I face is coming up with good solutions to the problems that I face.  There is no substitution for collaboration.  I simply do not think like other people, so I may not see the things that they see.  Each person, each role, has different experience and a different perspective.  Collaborative brainstorming opens doors to elegant solutions that individuals alone may never discover.  This is one of the greatest values in a team that I will sorely miss. 

On the other hand, I am fortunate to have established relationships with individuals that enjoy sharing ideas outside of the office.  Though many of us work at different organizations, we share in the same cooperative game.  We seek to improve our understanding of the software development process in order to advance our careers and benefit our employers.  These long term relationships should never be neglected.  They are invaluable.

posted on Wednesday, January 23, 2008 2:02 PM
Filed Under [ Agile ]


# re: On Agile Island
posted by Michael Cline
on 1/24/2008 8:22 PM
I must completely agree with you that code developed on Agile Island will never be able to compete with that which was developed by a team (even if that team was only two people). This is due to the exact items that you mentioned. Viewpoints are good and unless you have a split personality it is easy to dismiss entire perspectives on the issues or possible solutions. Fortunately the conscientiousness of caring that the code quality developed in a vaccuum may have room for improvement builds some self-evaluation into the process. One thing that you must focus on as a developer of software is that while extensibility and modularity and all the patterns are great items, the customer cares about one thing. Does it make my life easier. Really the 'good programming guidelines' end up being more for you than for the customer. Well-designed software makes maintenance and support a much less daunting task.

Post A Comment