Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am working with a company which designs and builds one-off machines. They have been 'dabbling' with hosted Dynamics CRM and Sharepoint (on different servers!) in an attempt to centralise their data and help colleagues collaborate more effectively across projects. They haven't used either system to their potential.

Now we are looking at the engineering department who already use a form of version control software for the various CAD files (Autodesk Vault) however it is becoming increasingly necessary to implement more of a generic file version control system as they use many more files than can be managed in Vault (sometimes just photos or scans of paper documents), hence why they were looking at using Sharepoint.

However... as the 'programmer' of the bunch, I can see several scenarios which don't seem to fit well with the Dynamics + Sharepoint approach; simple reports based on cross-table queries, exporting certain metrics as a spreadsheet, defining project hierarchies and many-many relationships, and as such I have been pushing for an in-house developed 'ECM' / 'ERP' software package (perhaps in .NET or php).

Some colleagues seem to attach a greater value to the MS software (perhaps becuase it has a logo!) but don't see that it's just a framework, not a solution.

Can anyone provide a good example of when custom software would actually be better than using Dynamics + Sharepoint and how do I relate that to non-technical staff?

share|improve this question
5  
Custom software is crazy expensive to create and maintain. Have you done a realistic estimate of the cost to build your solution vs. the cost to work around the limitations of Dynamics + Sharepoint? –  kevin cline Oct 30 '12 at 16:18
3  
"Custom software is crazy expensive to create and maintain." Indeed. And SharePoint can very well be MUCH MORE expensive to maintain in the long run too. My last job went SharePoint, and within about 2 years of it, multiple people left either because (1) they hated SharePoint, or (2) they were now trained on SharePoint and left to become very well-paid SP consultants. There is massive demand for SP consultants right now, so factor in having to pay your devs more if you go SP versus standard development. –  Graham Oct 30 '12 at 17:28

3 Answers 3

up vote 3 down vote accepted

Speaking as a SharePoint developer, yes, there are times that one would not want to to implement your solution in SharePoint. Some things it just doesn't fit with very well, which is usually a question of information architecture and/or scale.

Further, SharePoint can be too big and generalised for some projects. For example, if you only need a Web Content Management system there are simpler, lighter ones that do the job of WCM better. There are better blogs, discussion forums, wikis, etc. - but few products have as many features as SharePoint. If you find you aren't using lots of features of SharePoint in your dabbling, well, maybe there is a case for something smaller/simpler.

However, you've not really described anything that isn't achievable in SharePoint.

  • Simple reports based on cross table queries - DataView web part. Or write you own - CAML can do joins.
  • Exporting lists as Excel spreadsheets - built in.
  • Many to many relationships - depends on the entities involved, but lookup fields can support that.

Don't discount the things that SharePoint does give that are often overlooked - the Office integration (though Outlook integration is notably poor), search, document retention plans, the default list forms, etc.. It is a framework - but it gives you quite a lot. And it can be a bugger to make it do what you want, sometimes.

I would recommend (like all good consultants!) that if you're not certain, push for a pilot project. It sounds like you might already be doing that - the dabbling - so consider what things haven't been tried yet, maybe give those a try. You know your needs, so try to find something concrete.

It may be worth factoring in the SharePoint Devs are normally quite expensive - there is a shortage of good ones - and that I reckon it takes a good ASP.NET developer 6-12 months to become proficient with SharePoint. Your organisation may have skills more aligned with other technologies, in which case you need ask if that investment is worthwhile.

Otherwise, without know more about what you're trying to do, it's hard to offer more detailed advice.

share|improve this answer
    
Thanks for your reply - I've marked this as the answer. Essentially, I spoke to my colleagues and almost quoted your reply verbatim which has bought us some time to review our needs! –  Bendos Nov 5 '12 at 13:22

Think of problems that have occurred as a result of using Dynamics CRM + Sharepoint. Remember that time you said to one of the non-technical staff, "I cannot do feature X because sharepoint doesn't support it." Those are perfect examples of why bespoke is better. If you have no such examples, then Dynamics CRM + Sharepoint is fine.

The next question is this: Is getting rid of Dynamics CRM + Sharepoint necessary in order to add such features? If the answer to that question is no, then the only person who needs to know about these issues is your manager; your colleagues shouldn't need to care how your solutions work.

share|improve this answer
    
Thanks Brian. Unfortunately, my experience of developing for Dynamics and Sharepoint is limited, so I am struggling to say with conviction that 'feature X' can't be done! Also, as I'm pushing for a unified interface for all the business's operations, I'm not sure if keeping Dynamics and Sharepoint and adding another interface on top is a good thing. Are you suggesting keeping them, but putting my interface on top? –  Bendos Oct 30 '12 at 16:17
    
@Bendos: Well, now you've provided a third argument: "We shouldn't use Dynamics and Sharepoint, because I don't understand them." Anyhow, my focus was more on how to communicate, not what you should do. –  Brian Oct 30 '12 at 16:28

You don't want to build your own unless there are very specific requirements that cannot be implemented in the custom solution... however, I can't imagine anyone sensible wanting to use Sharepoint!

there are plenty of OSS tools available (google for Nuxeo or Alfresco) and point them at the marketing web pages for these tools. then explain that development for these tools would be simpler and more cost effective, and that they are free (hmm, maybe explain that you pay only for support... sounds better than way). Alternatively, explain that when the Whitehouse wanted a CRM system, they went with Drupal, a few modules to that should allow you to get a fully customised version that does everything you want.

As for the Microsoft branding... draw up the cost of licences (plus CALs where appropriate) and make it come out of their budget.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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