I would like to start this as a fairy tale: it was sometimes ago, a system got developed very quickly in order to convince a customer about the power of the team. And then much of the team has left the building, leaving behind a pile of bloated code, some kind of spaghetti with tomato souce, but what is very important a running system (storyteller intermezzo: the previous fragment shouldn’t be read as an acusation. I understand you guys. Under that kind of presure and with that time frame and with that so etherogenic team and no technical leading maybe most of us would have done the same). And as in every fairy tale, the master had learnt that as long as the system works you don’t have to change it. But, the white prince came into scene (don’t be afraid this is not me [blink/]) from the customers wanting more and more features. This way the master had understood that its domain proverb is not good and approved some big refactoring times.
And now let’s come back to our times. The first steps were done during the spring, when the whole client UI framework was refactored. Everything became more clear and easier to develop using a hierarchical model-view-controller design (the client is Swing [smile/]).
Now it is the time to refactor the main business logic, as this prooved itself to be very expensive (in terms of both memory and time). The problem I am facing is that there is no test. Not a single line of unit testing. Moreover I am not able to find out a good spec of the involved processes. I think for the beginning I am going to mock the real processes (or this) in order to let me create a correct domain model. I was able to find a lot of available mocking frameworks (I will have to see what is best suited for me – you can see the steps of the process here – any suggestions?):
The next step will be to attack the processes themself, but more on this as at a later time.
I would like to find out how many of you have been in this position of refactoring a system without any available tests and spec? Come on, tell me and maybe we will convince the leaving guys to create/leave something more behind them [blink/].