If you hire independent consultant or company, how’d you know they produce well solution/code for your SharePoint?
- What are the major concerns for you in that case?
- How do you make sure that custom solution well written?
- How do you test performance/hi-load of that solution?
- How do you make sure that custom solution won’t ruin your farm?
- Do you do a code review on the custom solution?
The reason to ask is that if I don’t work on the project from scratch, then I do work as a “firefighter” – I am fixing, refactoring, improving stability, performance and other things for the mess which has been “already done by other ‘good’ company”.
I am just quite shocked as in the most of the cases doubtful strategic decision produces an incredible snowball falling into such a terrible, unsupportable solution you might even imagine. What I can see is that quite often people even don’t know how to write pure c# code (logging, exaction handling, OOP or design patters), or don’t understand asp.net at all. But they “independed consultant/developer/or other sort of INTERNET GURU” 🙂
At the end, it comes to quite interesting experience and projects – “intranet remediation”, “fixing”, “fixing” and “fixing”.
So, how come? How’d you make sure that independent consultant or company produce well solution/code for your SharePoint?
Good discussion! However, I think the questions are valid for *any* one developing custom solutions on SharePoint not just independent consultants. I have seen plenty of wrong choices by both contractors as well as permanent employees 😉
That said, having a set of good engineering practices in place is fundamental to producing a quality solution…
- Code Reviews
- Coding Standards
- A good functional testing framework (such as selenium)
- Unit Testing approach (this is always a hot topic in SharePoint)
- Performance Testing (using visual studio)
- Well defined requirements
- Use of an Agile Methodology so issues can be found earlier in the life-cycle.
- many more …
However, one thing I think is essential is to have a good hands on Solution Architect who can enforce many of these principles.Â