Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Taking over a project - What should I ask the previous programmer? [closed]

I'm taking over a development of a commercial web site. This site was developed over two years by another programmer. It's mostly a one-man job (maintain and expand the site). I'll have a 2-3 days transition period when the other programmer will show me the system. But from what I know, there is little documentation. Everything is in the code (which is kind of documented). Here is what I'm planning to ask so far:

  • Explanation on the most complex elements of the system
  • Description of the overall architecture
  • Description of the support tools (IDE setup, unit tests, deployment mechanism)
  • Any book, website, podcast he used to influence the architecture of the system

Any other I'm missing?

[EDIT] Thanks everyone. Lost of good propositions. I wished I could accept more than one answer! Additionally, I would also add:

  • What have you done specifically to improve the performance of the system, and where is the bottleneck right now?
  • Related to that, what have you done regarding the security of the system? (what have you done, and where are the security holes right now)

One last thing: the developer said that he will be available to to answer my questions later on if I need it. It's his "baby" after all. But I really think that in 6 months he will have moved on and his availability will be much more reduced!

like image 536
Thierry-Dimitri Roy Avatar asked Jan 12 '09 17:01

Thierry-Dimitri Roy


4 Answers

Before you look at the code:

Clear the objs and the exes, and let him/her rebuild the thing. Watch for any manual interaction (does it build via "make" alone or is there some fiddling involved).

Better yet: give him/her a naked (just bought) machine, let him/her demonstrate a checkout and rebuild. Then see how the app is started and comes up (any secret options to input?).

Then: in a pair programming session, add one or two features to the system and see where and how these are implemented.

The above may sound stupid, but I have seen projects where building alone was a nightmare, and a lot of knowledge was in the brain of the developer only. Not having a trusted build environment and having to figure out how to rebuild is a nighmare.

like image 155
blabla999 Avatar answered Oct 21 '22 08:10

blabla999


Be sure to ask for all login information for the web servers, domain registrars, database servers, email servers, and anything else you can think of. It sounds crazy, but often times developers will register domain names with themselves as the administrative and technical contacts. The company will then have to jump through all sorts of hoops with the registrar in order to get the domain back, if the original programmer can't be contacted.

like image 25
William Brendel Avatar answered Oct 21 '22 07:10

William Brendel


"If you could go back and redevelop this system, what would you do differently"

like image 19
Chris Simpson Avatar answered Oct 21 '22 07:10

Chris Simpson


Ask: a) what don't you want me to ask you about this system? b) what will you be most happy about when you are no longer working on this project? c) What are the parts of the system that are too complex to be documented?

like image 14
Andrew Cowenhoven Avatar answered Oct 21 '22 08:10

Andrew Cowenhoven