1

I have recently taken a job finishing the development of a .Net application. The delivery of the application is two years behind schedule. The previous developer died before I had a chance to meet him.

I have been given copies of directories from the deceased's laptops. There are many directories of code (including seemingly duplicate directories), two SQL Server databases, and some Visual Studio project files. A quick wc shows about 300,000 lines of .Net code.

There is no source control, no documentation, no licenses for third party controls, no unit tests, no build scripts, no release scripts, no install, and no real software development process to speak of. Maybe some of these things did exist, but I can't find them.

I am an experienced software developer, but I have never been in a situation quite like this. Lastly, I have budget to buy tools as necessary, but not more staff.

What would be your 90-day plan to get this project moving again? Obviously I have months or years of work ahead of me; what should be my priorities?

DenverJT
  • 19
  • 2

1 Answers1

1

I have a small history of taking control back of loosely managed projects and my approach is the same every time

Integrate progressively from scratch. Take what you understand from what the project do. Take with you the best code snippets and mock everything else. Once you're looking good enough, trash old code.

You know you don't have enough time to read everything, you know you don't want everything, you just have to do what you can from what you can start of. Try to figure out what 90% of this have to burn.

Also ask around you about the code, sometimes code knowledge can pop out, you never know. This man had to talk to people, sometimes. Anything you can learn is potential help for refactoring.

Diane M
  • 2,046
  • 9
  • 14
  • I had not considered that, and it may work well for me. The folks who marked my question as duplicate seem to suggest that I invest a lot of time in learning the existing codebase, however I don't know how good or bad it is, if I can find all of it, or if it compiles. I could decide it's not worth using. However your way suggests I should plan to build anew, recycling older code portions additively. A hybrid. I like that. – DenverJT May 12 '14 at 17:07
  • That third paragraph, "You know you don't..." is gold by the way. – DenverJT May 12 '14 at 17:12