I was talking with a friend today about his project. He’s been brought in to a project where the dev environment is pretty tightly couple with physical machines, there’s no good repeatable build process or docs on how to make things work, and many unwritten assumptions that he only finds out after trial and (much) error.
It struck me then (and possibly in the past) that the entire way that project is set up is not *scalable*. Scalability is a big buzzword, and it often focuses on performance. While faster performance is generally a good goal, it’s often not the only requirement on a project. In the case above, a new developer coming in may spend *weeks* trying to get things working which should only take hours. And the process of getting him up to speed is not a documented, repeatable process either. So when he leaves, and they bring in someone else, they’ll go through the same process all over again, probably not even realizing there’s a problem.
What steps do you take to ensure your project (or perhaps your project team) is itself scalable with respect to the human resources it requires?
I'm currently working on a book for web freelancers, covering everything you need to know to get started or just get better. Want to stay updated? Sign up for my mailing list to get updates when the book is ready to be released!