Even as a seasoned developer, I can admit that I'm awful at one thing.

Organization (i.e. documenting, encapsulating, code reuse, sub-versions, etc).

If I get hit by a bus tomorrow...I pity the person that has to pick up the pieces.

The problem is that I was never taught these skills and I've always worked on projects alone for the most part.

No boot-camps, classes or even SharePoint books teach any of this either. I've done some pretty extensive custom SharePoint coding (application pages, event receivers, timer jobs, custom actions, custom web parts, etc.)...and it's all a huge mess.

So my question for the many...is how do you organize your projects? How do you organize all your solutions for an application? How do you implement code efficiency for 50+ solutions for a single application?

In summary, how do I make things less painful for my successor?

1 Answer 1


First, get your solution under source control. Visual Studio Online is free with 5 seats. You can also do your Stage testing there with their cloud web application.

For all our projects, chucks of code is sectioned off as different solutions, even though it may be one app. The features are all deployed separately for each part of the app.

Make a team site will all your WSPs and release notes for each version. Also include the tech specs and business requirements for each solution, and each version if it's major. This way, a new developer can look at the requirements for each versions of each feature and trace your steps up to the full app current day. The release notes are more for the testing team and the admin when deploying.

If you do feature upgrading, you must all the previous version's code checked in. Put plenty of comments in the source code. Make sure every solution is checked in.

Make a document of all the server names in all staging environments, which projects use which versions of Visual Studio. Also a document with your common coding practices, and FAQs that stomped you. A list of the business (employee) contacts that own (stake holder) that part of the application. A list of contacts in IT that new developers don't have to search for. A document of the future development roadmap. Access to the change management logs, and how many helpdesk tickets were affected by each production deployment. A list of all the software you use. If you do your own graphics arts, the source files should be uploaded to the team site or checked into a folder in the solutions for source control.

Hope this helps.

  • Have any examples you can show me? Screens shots would work for starters.
    – jpollar
    Feb 3, 2015 at 23:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.