But - you had a perfect spec. You had a working program you could use as a reference implementation, and despite rewriting everything, you knew exactly what it needed to do.
The original implementer presumably did not. In reality, you were taking the "hacker" approach, but your iteration was to rewrite everything, because you knew exactly what was wrong with it. The first guy, if he was a true hacker, probably would have abandoned the fixes at some point and done the rewrite as well.
The original implementer presumably did not. In reality, you were taking the "hacker" approach, but your iteration was to rewrite everything, because you knew exactly what was wrong with it. The first guy, if he was a true hacker, probably would have abandoned the fixes at some point and done the rewrite as well.