Jan
31
2009
The GTD way to managing change
So as I was ranting about changes yesterday, what do you think came out of my meeting? (aside from feelings of absolute hunger and/or starvation because the meeting went through lunch and stretched out to four and a half hours)… Thats right, changes … 12 new feature requests and a slew of changes actually. Some of the changes are simple enough and fall just outside of the 2 minute rule to make, so they will be tasked. The application has been built to manage at least some degree of change that way, but some of the change requests will require a fair bit of thought to design and implement. This is definitely a great example of a ‘typical’ client and contract.
So, being all GTD stoked now … Craig and I get to exercise some of what we have been learning, so this isn’t really a rant parsee, its more of an observation of what to be grateful for … yea … yea … thats what i’ll call it
But seriously, I am grateful for such a ‘typical’ opportunity to exercise the GTD principals I have been learning, and I’m sure that as long as Craig gets some sleep he will feel the same way too.
The collection process went well, Craig was on top of making sure that nothing got overlooked, I was sure to make relevant notes to the way the underlying system needs to be changed to support some of the new-ish functionality and although I will be coding a bit over the weekend, the majority of the notes can wait until Monday to get processed … I had to leave and get to another meeting immediately, so processing will have to wait (unless of coarse Craig updates the project site over the weekend). There is more then enough to get cleaned up before Monday that was already in the queue.
The sprint for this next iteration has been set to twice the length (two week sprint this time), that should provide more then enough time to get things back on track and done. I’m hoping that the organization strategies of the GTD principals will be the solution I’m looking for, time will tell the tale, and i’ll be sure to update as I go through it.
As always, comments, thoughts, feedback and flames are always welcome in the comments.
Tags: GTD, Project Management, Software Development
Posted in Getting Things Done, Project Management, Software Development | No Comments »
Jan
30
2009
Project Irritations
I’ve been listening to David Allen a lot this past week, that guy has it totally figured out. Truly inspiring. The inspiration naturally translates into working until midnight on a project that keeps lagging, but the end is in sight which is good because I have to meet with the client today (who undoubtedly has more changes). It’s a well known fact in software development that in order to make a product ship on schedule you have to nail down the features and functionality. Sadly, thats not what happens 90% of the time because people change their minds (all the time).
It never ceases to amaze and astound me how clients can fail to understand that if you change the scope, the timeline is also going to change (even when you look the client in the eye and tell them, this is going to add time). But thats how the cookie crumbles, and the developers inevitably end up burning the midnight oil to get something functional for a client who somehow has managed to miss that things take time, and time is worth money.
In the Freelance world, how much you let a project change is ultimately up to you, I think that one of the bigger things I have to take away from this project is that once the requirements start to change from the initial requirements, you need to nail it down (fast). In a development shop, you have less control over this but there has to be a way to manage it (fast). Otherwise you end up dealing with ‘add feature x please’ one day, and ‘oh I don’t want that anymore’ two days later which just totally zaps the energy out of a project.
If you can sense the slight irritation in my post today, its because I’m slightly irritated. Not with the client though, with myself. This is the second project this year that I’ve ended up, essentially working for free, (read outside of alloted hours for no additional pay). I’m not totally sure what the solution is, but I know I’m looking for one, and I also know that this is one of those problems that can work itself into just about any environment.
I wonder what I’m trying to tell myself?
Please post suggestions in the comments.
Tags: GTD, Project Management, Software Development
Posted in Project Management, Software Development | No Comments »
Jan
23
2009
Automating Rails Testing with autotest
Lee asked the proverbial question ‘When do I test’ … and then provided the answer http://whendoitest.com/
If you click the answer, you will see there is a short video,
watching the video lead me to ZenTest (autotest) … Which I happily integrated into my project painlessly in a few minutes.
This is a GREAT plugin for Rails development… Continuos Testing .. Who Knew?
I googled … and came across a nice little addition to the autotest gem… colors in the console via RedGreen (also a gem).
So now, my test run anytime I change a file (small issue with migrations) and any failures visually stand out because of the Red
For any developers out there that want to do I I do, (not sure why you would want to subject yourself to the sadism, but it’s your choice)
To Install RedGreen:
<code>> sudo gem install redgreen</code>
To Install Autotest:
<code>> sudo gem install ZenTest </code>
I think the windows people will have to use rails gem install vs. sudo gem install.
I then added the following to a file ~/.autotest (found online)
<code>
Autotest.send(:alias_method, :real_make_test_cmd, :make_test_cmd)
Autotest.send(:define_method, :make_test_cmd) do |*args|
real_make_test_cmd(*args).sub(‘test/unit’, %[rubygems -e "require 'redgreen'"])
end
</code>
To execute, just run autotest from the console, the first time through all tests will be performed, and the console will sit and wait for a file to be saved (I have my TextMate set to save on lost focus). The uber neat thing is that autotest knows which unit tests to run (based on the file being saved) and only executes the tests that would be affected.
Pretty sweet.
Tags: Software Development, Success
Posted in Project Management, Software Development | No Comments »
Jan
09
2009
Wrapping up small projects
I like to take inventory at the end of my projects, I like to look at what didn’t go so well, and then try to come up with ways that I can improve so that I can grow as an individual.
This one project that is finally coming to a close, after being stalled by the client for a pretty signifiant duration. There was no real reason for the project to get stalled, I think the Christmas Holidays played a part of it, and there isn’t really a whole lot that I can do about that. But part of the delay was that the point person for the project (in the clients organization) Fell off the project and didn’t communicate well.
Is there any way that this can be improved on? Well yes, I think there is… Moving forward I will simply insist (and include as a term to working on a project) that the client sets up a weekly (minimum) scheduled time for a status update (regardless of the clients size), from me to see that things are progressing, and from them to ensure that the project won’t linger in the last steps and delay my final payments. I typically do this with large clients just by virtue, but on small things that should take less then a month, its been ‘normal’ to just communicate when you need to, however it’s a little discerning when a 3 week job turns into months of waiting.
In this specific case, there isn’t a whole lot I can do about the ‘human factor’ on the project, and the delays that result from people that just don’t see that they are responsible for getting things done, because as a freelancer your depending of them to pay you. The big clients are the ones that are usually behaving this way, but this isn’t a big client. On the contrary, they are a very small client, but they behave as if they are a big client (one of their major problems IMHO).
In addition, this is the type of client that even though they have additional project work for me, I will be very skeptical of doing business with them again, I think its a good example of knowing when to say ‘no thanks’ to a project. Even if I could use the work. In their case, the unprofessional behavior (leaving me in limbo) doesn’t make them a client that I want to do business with.
With luck this will get finished off early next week.
Still waiting on the client. :-S
Tags: Project Management, Software Development
Posted in Freelance, Software Development | No Comments »
Jan
08
2009
Project Slippage
Have you ever been on a project (or responsible for a project) that suffers from major slippage? I have, and it sucks.
I have to take the responsibility for the slippage on the current project I’m working on, which is ok, the vast majority of the slippage *IS* my own fault, not enough focus on my part, not asking for help when I needed it, not getting enough done in a day, those are all my fault and things that are totally within my control. Of coarse, the client is a typical client that has changed their mind more times then I can count, and thats caused a fair bit of scope creep. But creep should be manageable.
Well today I want to relieve the stress that this project is causing me, because its a vicious cycle if your inflicting the negative stress on yourself. I do believe there is a positive stress and I’ll discuss that later, for now i’ll just summarize that negative stress de-motovates you, and positive stress motivates you. This project has had a negative effect on me thus far, and I have caught myself looking for distractions just so I don’t have to think about it. gah!
Ok, so lets be methodical about this…
How to clean up a mess …. First, acknowledge the mess. (ok, thats easy … done! … this is a mess and I could use some help). Second, do some inventory, what needs to get done, what is outstanding, what is preventing the forward momentum of the project. (Will do that as soon as I’m done this post) Third, get some focus/help and get back to work.
That should at a very minimum get the mess under control and allow me to move forward.
So, today I’m going to document out the tasks that are outstanding and try to get a grip back on this project so I can get it done and out of my hair, I know my colleagues will understand the current situation, everyone in the development community has been in this situation at one time or another and I’m just as human as the next human (even if I am a little more off kilter).
Hope everyone has an uber awesome day!
Tags: Project Management, Software Development
Posted in Software Development | No Comments »
Mar
11
2008
good reading for developers / project managers
Quick post while I wait for my NetBeans to re-compile using Maven2
I had the privileged of meeting Gordon Holland a few weeks ago, super smart guy, he pointed me at the Getting Real book by 37 signals (as a developer who has tinkered with Ruby on Rails I was already aware of 37 signals their very well built web apps). But I wanted to recommend this book to anyone that knows me / has similar interests … sec compile done … app exploded
… recompile … GAH!!!! now I understand why Steve and Craig were surprised that my NetBeans was allowing hot-changes to this JSF application, I wasn’t using my Maven2 install home in NetBeans, I was using the version that NetBeans uses with the Maven2 PlugIn (which allows hot-changes) … So now I’m reverting because its a BIG PITA factor to have to recompile while I work out the page layout of the xhtml (everytime I make a small change) … But I digress
So, the point I believe was that you should go check out the book ” Getting Real “ from 37 Signals…
Tags: Books, Project Management, Software Development
Posted in Software Development | No Comments »