Back in 2003 I was involved in the resurrection of the building consents project. This was the third bite in the fourth year of a very prolonged and unsuccessful series of projects to replace a legacy system. The first failed as it placed a poorly coded ASP application on top of the legacy system –which would not accept multiple web users and crashed on go live day, the second failed largely due to the PM being so disinterested they did not attend their own project meetings and the technical lead going off at angles meaning that most of the code was half done. So it was my turn, using the leftover code form the second attempt. There was me, Mickey the band new Developer and Ruth, the expert from the business, whom became the ultimate champion and unsung hero of the project.
So we kicked off.
The list of current defects was extensive. Virtually most of the application
did not work and you could not login. We decided to focus on each functional
area, get it working before moving to the next. So we started with the login
screen, security, administration options and the basic consent summary landing
page. Each day Mickey would code away, while I would peer review and test (between
being the BA, Trainer and PM). On a daily basis we would pop up and see Ruth in
her quiet little office and spend an hour having her test the application and
get feedback. We would then do a bit coding in the afternoon and so on.
After the consent
summary it was onto the name and address module, building inspections, consent
tracking, fees, conditions and finally notes. Each section was focused on and
worked on until Ruth was happy that it was working as required. We then demonstrated
and tested the code with a smaller group of key users. We then worked on
creating a consent, printing and reports (which were really basic). Finally
after two months of daily code, demo, test, code and repeat we were ready to
begin more formal testing.
We made some very pragmatic decisions as we
went. The layout and logic of the consent tracking was not ideal, but we did
not have the time to re-write it, the name and address register was unnecessarily
complex (and ironically probably still is 10 years later), the inspection business logic was too complex
to code within the time frame. Each of these issues was prioritized into
post-production releases – of which we had planned three before we finished.
Finally into UAT,
training and release. Go live day was entertaining. As the previous
aforementioned version 2 had died on go live day all the users jumped on and
started searching and looking up consents, waiting for it too fall over. After
about half an hour I popped up and asked if some would like to create a new
consent – and actually use it. Off they went, no issues.
There are many
agile-ish elements to this project. Sprints (off sorts), multi-functional
closely located team, frequent demos, peer programming, retrospectives and so
on. At the time (and for many years
later) the waterfall approach was standard at Council – despite efforts to
introduce more agile practices. There were many common sense elements to why we
succeeded - a dedicated team, engaged focused and extensive business knowledge,
committed senior management whom wanted a successful outcome, a wider group of
enthusiastic users, limited but visible
project governance. Also at the time using the corporate property system as the
sole and automated source of property data as opposed to manual entry was new,
but lead to a vast improvement in accuracy i.e. we went from having 7% of
consents not matching to valid properties, to 0%.
The application
is still in use, 10 years plus, parts of the original code and a lot of the
original data model are still in use. We never did get around to upgrading to
.NET and it’s still an ASP application. Due for decommission shortly as a new
corporate wide solution is adopted.
Mickey left council two years later and two years after that Ruth
retired. Over those four years myself and Ruth worked through all the backlog
and made numerous and regular changes based on the feedback she received. Every
year we would have a cake to celebrate the birthday of the application, this
continued right until 2010 when I left, interestingly enough it was often over
a mouthful of cake that some great ideas came out. This project remains the one
I am most proud of as a Developer and I do miss working with Ruth and Mickey.