1

I've started a job as mobile lead in a 100employee company. Their Mobile products (iOS and Android) has been developed by external teams, and now they have decided to assemble internal teams, so I'm heavily involved in hiring ATM, both for iOS and Android. I will have teams of 5 people for each of the platforms. I've been manager before, but it's the first time I'm not starting code from scratch.

My question is how to handle taking over code? The iOS code is about 50 classes, many of them over 700 lines. The code quality is around 5/10. What should be my first steps for taking over the code base? Little by little or major restructure first, or both using different resources?

gnat
  • 21,442
  • 29
  • 112
  • 288
Mabedan
  • 111
  • 1
  • http://programmers.stackexchange.com/questions/170109/what-kind-of-process-should-i-use-to-learn-a-big-system – gnat Jul 02 '14 at 17:51

1 Answers1

3

First, I do not know the average programmer, but at my current job I have inherited, alone, some 100 classes, many with more than 2k lines (and didn't have the luxury of 5/10 code quality). So I would not overworry about it.

That said, before deciding between "I will make little changes or a major restructure first", maybe you should know what you have and what you need.

  • Search for documentation from the previous developers, including testsuites.

  • Document the classes and their responsabilities. Single out classes that smell bad (too many responsabilities, unneeded inheritance, whatever).

  • Get to know what the stakeholders expect from the software (in its current state and in the future). If something is not going to be changed much, no sense in doing a full refactoring. Make them decide the priorities (which software will need to be updated first).

  • Gain expertise. For each app, get one developer to investigate it and get to be the product owner. Way better than having all developers know just a little of every application.

  • Listen to Joel (well, actually read him). The temptation of getting the code "your way" is high, but the risks and costs may be so (unless the original structure is utter crap).

SJuan76
  • 2,532
  • 1
  • 17
  • 16