This blog contains reflections and thoughts on my work as a software engineer

onsdag den 30. januar 2008

The day before the day

This is it - I'm leaving my office for the last time tomorrow. Yup - I have gotten myself a new gig at DGI (Danish site only) which is a non-profit sportsorganisation. They want to build up services and websites for their members which they can use to i.e. administer members, create tournament plans for competitions and other services which I haven't really got a clue about yet.

I'm leaving my current project with a sense of akwardness and sadness. We have been late for a long time delivering what we were supposed to deliver mainly because the scope of the project has changed and we have suffered from numerous of confrontations between team members, between team members and the house and between the house and the house... I think we have been like boiled frogs - we somehow grew accustomed to living in chaos all the time with changing directions and team members being frequently added ore replaced. We have lived in it for so long that we as a team didn't or at the end couldn't even manage to describe why we failed on deadline after deadline. Phew... The last thing I have heard on my way out of the door is that the ASP.Classic guys have estimated a solution which is based on the current ASP.Classic platform. The same platform that my project was intended to replace with a .NET solution. Do not get me wrong - I totally understand that the business HAS to take some sort of action and it is not plainly wrong to go with what you know when everything else have failed you. I am just not overly excited by having worked on a project for about three quarters of a year just to see everything being buried three days before I leave for another job. It sucks - big time.

I have learned a number of things which will be a big, red warning sign for me in future projects:

- If developing in an agile enviroment and the team fail to deliver running code after a sprint
- When the technical infrastructure for various reasons breaks down often enough to inflict progress
- No technical backlog at the beginning of the project
- No established estimation techniques of backlog stories from project kickoff
- No infrastructure established at kickoff (testing servers, QA servers)
- Lack of communication between projects
- Lack of communication within the project
- Lack of written documentation on completed issues

...plus a number of other issues I probably will be painfully aware of in the weeks to come.

I have a strong feeling that I can't save the world on my own by doing all these things the right way from day one in my new job so my main focus when I start on Friday at 9am is this: I will NOT accept that we fail to deliver running code at the end of future sprints. If - (I know - if and if and if) - if we had delivered something which could be deployed and tested by the business I am sure we would never have been in this situation. We might be somewhere else but 90% of all the issues we have discovered have been a combination of lacking communication on all levels and the fact that we never delivered anything. The business thought they knew what we were about to give them but they hadn't actually seen anything on the screen. We blew it totally on this one - and it has cost my to-be ex-employer quite a lot of money having us coding away on something which probably will never be used anyway.

"Success is something built on the top of all your failures" - damn, I am gonna be good at this some day ;o)

Regards K.

Ingen kommentarer: