Mark Polly recently posted an overview on SharePoint custom development with some interesting views from Forrester about the risks of custom development. While I don’t completely disagree with what Forrester says, I think I’m a little less afraid of custom development than those at Forrester. Here’s what I believe regarding custom development on any platform:
- When deciding on how to meet user requirements, you should first look at what the tool provides. If it has out of the box functionality then use it. If they have a blog that meets 90% of requirements then use it. You should also explain to the customer the implications of spending time to customize. It’s not bad but you need to prioritize those tasks.
- If the functionality doesn’t exist, look for third party tools that provide at least 80% of the functionality. Most of the time their cost is cheaper than paying a developer for it.
- When something else doesn’t exist, and this will happen more often than you hope or even expect, do the custom development.
Why you say?
A portal should break down walls. It should aggregate content, processes and transactions. If you are afraid to create a custom web part or portlet because it might slow down your next upgrade or slow down your next release then you are missing the point. When I talk to my colleagues in our Microsoft or IBM Portal practices, they tell me they do quite a bit of custom development. Some of the coolest things we have been doing with video, sensor data input, and other things are all custom. They also bring a huge business value to our clients and are therefore worth any potential work they bring in the future.
Just like anything else, you should approach portal development from a best practices perspective. You need to understand what SharePoint or another portal provides and how to re-use those services. You need to understand the limits on things like lists and api’s. Once you do, then your development should go fairly smoothly.
So my bottom line, yes, follow some common sense guidelines when doing custom development. Don’t reinvent the wheel but do it when it’s right. Of course, like Mark noted, bring in expert consultants when needed. We all appreciate it and think we provide value for that sort of thing.
Pingback: Portal 2: Co-op med Joakim & Wuber - Del 1