Home
About
Contact
Sunday, August 23, 2009

imageEven though I don’t develop software in SharePoint, this blog post by Lee Richardson reflect my thoughts and worries about SharePoint development.

The essence of his post is in this paragraph:

But the power given to end users makes rigor and good design extremely hard for developers because the production machine you deployed to last month may look completely different now that you’re ready to redeploy. And Microsoft makes good design even harder with an inflexible API. Critical classes like SPSite (think SqlConnection) contain no public constructor, rendering them completely unmockable (unless you’re willing to spend $450 per developer for some TypeMock Isolator magic). And vital classes like SPList (think DataSet) are marked final, crippling your ability to make nice strongly typed entities in your architectures.

Lee proposes some techniques to use that you should read in his post, but it’s half baked and not good enough in my opinion. The things he suggests (which is usually taken for granted on any other project) is made really hard to do by MS. Should MS rethink the way SharePoint is architected for the sake of developers to ease maintenance, improve code quality and basically allow developers working with ShapePoint to be craftsmen? Or is the dynamics of the product given to the end user so good that it’s worth all the extra efforts?

Sunday, August 23, 2009 12:54:43 AM (W. Europe Daylight Time, UTC+02:00)
Jon, its refreshing such a change to hear people talking about software craftmanship.

I agree SharePoint as a enterprise application platform is not ideal, tools like Typemock aid with this (they cost, but so does SharePoint). I think being a software craftsman you aim to have to tools, design practices and thought process in place to deal with often difficult (nee wicked) problems.

SharePoint is not unique here, and you do ask the right question. The aim of any developer is to add value to the business, if the platform achieves much of this then the extra effort in doing SharePoint development right definately is worth it.

IMHO

Andrew
Sunday, August 23, 2009 1:06:03 AM (W. Europe Daylight Time, UTC+02:00)
Andrew,

I hear you. I can't disagree cause as I said I don't develop in/for SharePoint. However, I would like to see a better SharePoint solution in the future where one (end user solution) does not exclude the other (developer friendly platform).

My main reason for this is that SharePoint developers working in .NET (especially new devs) will adapt practices which is not accepted on other projects.
Monday, August 24, 2009 8:22:24 AM (W. Europe Daylight Time, UTC+02:00)
Great post and point.

This topic is something that worries me a lot these days. I'm most likely scheduled to start on a SharePoint project for the first time, and really need to figure out how I can still be a craftsman in that area. Typemock seems to be the only real alternative, I'd love to see Microsoft include something like that and create some guidelines and best practices around it for their next release of SharePoint.
Monday, August 24, 2009 11:22:20 PM (W. Europe Daylight Time, UTC+02:00)
Einar,

Let me know how that works out for you. Would be interesting. Also, maybe an interesting talk for NNUG? Clean code in SharePoint?
OpenID
Please login with either your OpenID above, or your details below.
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview
RSS RSS - Comments Twitter LinkedIn
         
SEARCH
 
 
         
TOP POSTS
   
         
NAVIGATION
   
         
CATEGORIES
  .Net (61) ADFS (3) Agile (30) Ajax (5) Architecture (20) Articles (1) ASP.NET (6) ASP.NET-MVC (1) Blogging (12) Books (2) BPEL (1) CleanCode (1) CloudComputing (7) Community (4) CSharp (11) DasBlog (5) Database (2) DDD (5) Deployment (16) DSL (1) Events (38) ExtremeProgramming (6) Fun (6) Gadgets (4) IIS (10) InfoQ (4) Java (2) Lean (3) Linq (2) MemoryLeaks (5) Microsoft (37) MVC (1) NDC (2) NNUG (36) Other (10) Patterns (9) Performance (3) Scrum (17) Security (7) ServiceBus (1) Silverlight (4) Software (19) TeamManagement (11) TechEd (7) Testing (4) Tools (25) TvGuide (1) WCF (8) Web (15) WebDeploy (1) WIF (3) Windows (10) Vista (15) VisualStudio (16) WiX (9) Work (16) Workflow (3)  
         
ARCHIVE
   
         
BLOGROLL
   
         
ON THIS PAGE...