Why SharePoint Versions and Tools Do Not Matter

Recently, I’ve received a few comments about the training we provide at USPJ Academy. The comments relate to some of our courses that (correctly) have screenshots, examples, and code from previous versions of SharePoint. Apparently, one needs to have the latest and greatest version in order to learn about SharePoint.

To me, that makes about as much sense as saying that you can’t learn how to drive unless you have the latest model car, or that you can’t learn to cook unless you have the correct oven.

Let me elaborate a bit on what I mean by that.

SharePoint Isn’t About Technology

A frequently heard quote in the SharePoint community is that SharePoint is far less about technology and much more about business. Developers know that when you’re dealing with business problems, you deal with business objects. You don’t walk up to your client and say that their vacation request problems are solved by X amount of classes with Y amount of methods or properties.

Business users don’t care about technology, and don’t let marketing or sales tell you otherwise. Business users care about themselves and the problems they face. When Frank in HR has to work two extra days every April to handle all the vacation requests, he doesn’t care whether what gives him those two days back is called SharePoint or SAP, and least of all which version of those platforms help him. He’s only happy to spend the additional time with his wife, mistress, or motorcycle, whatever his fancy is.

Tell me, in your car, assuming you have one, who made the chip that controls everything from the engine to the AC? You don’t know, you say? Well, it’s quite often the same for business users when they work with software.

In fact, it’s quite often the same with us developers. Do you really know what platform Google or Facebook uses to build their software? Or in what language the web services from Amazon are written? Most likely, you don’t, and you don’t care, at least you don’t need to care. All we need to know is how to interact with those platforms, through programming interfaces, web services, or whatever we can access.

SharePoint Isn’t About Versions

I have heard, more frequently than you’d imagine, people claim that there’s absolutely no point in upgrading to SharePoint 2010 when their 2007 custom solution solves their problem.

In other words, people’s problems aren’t going to change when Microsoft releases a new version of SharePoint. If you solve your problems with SharePoint 2007, why is SharePoint 2010 required at all? Or even SharePoint 2013? You built a solution to fix what ached you, but you won’t get different or new aches when there’s a new version of SharePoint out.

There’s even a huge chance that you get new problems with your existing solutions when you upgrade. Features change, custom code may break, your neatly designed layout may suddenly get an ugly ribbon bar, or a range of other things may affect what you already have. So, upgrading is a huge risk that may break what you currently have.

If you’re fond of food, you may have had a soufflé. Cooking a soufflé is quite tricky and depends greatly on temperature control and knowledge of your tools, most importantly your oven. You need to learn how your oven works in order to get the best soufflé possible.

Well, when you introduce a new oven, you’re actually not getting to cook new things, but you’re forcing yourself to learn how to cook soufflés all over again.

I’m not a fan of upgrading anything until there is something that I am unable to solve on my current platform. My current workstation, for example, on which I do all my development, authoring, gaming, and social interaction, is a rig I built in 2007. Granted, I upgraded the graphics card recently because I couldn’t play Skyrim comfortably on the old one, but beyond that, it’s exactly the same machine I bought five years ago.

And speaking of upgrading tools…

SharePoint Development Isn’t About Visual Studio!

The specific comment I got on the USPJ Academy training is that the Beginning SharePoint Development course isn’t targeted at Visual Studio 2010 or even SharePoint 2010. The examples are all in Visual Studio 2008 (and I only upgraded from 2005 just before authoring the journal issue) and screenshots are in SharePoint 2007. Apparently, that means that people can’t learn how to do SharePoint development.

Look, I understand the desire to have and use the latest gadgets. After all, the cool kids always have the latest fashion clothes, the newest phones, and play the latest games, and we all want to be the cool kids, right?

Well, I’m sorry to disappoint, but SharePoint development is as much about Visual Studio as astronomy is about telescopes, to almost quote a famous programmer. Visual Studio is just a tool, little more than an advanced hammer, when you’re trying to build a house. Unless you understand how to build the foundation, how walls provide support, and how to build a roof that will keep the elements at bay, well, being the world champion of hammers isn’t going to mean anything.

Even if you learn how to use a certain hammer to build a wall, all you know is how to build a wall with that hammer. You still don’t know anything about building houses. You don’t know how people will live in the house and what they need to be safe, happy, and comfortable, which means a hell of a lot more to the residents than who made the hammer and whether it was a new or old hammer.

So, learning SharePoint development is like learning how to be a chef. You don’t learn recipes for your oven, you learn how food and ingredients work, how to mix them to produce great dishes, how to handle meat safely so you don’t get cross contamination, and, most importantly, how to give your guests or consumers of your food a great experience.

Screw the oven, I just want a nice, juicy steak!

.b

Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It

Published by

Bjørn Furuknap

I previously did SharePoint. These days, I try new things to see where I can find the passion. If you have great ideas, cool projects, or is in general an awesome person, get in touch and we might find out together.

17 thoughts on “Why SharePoint Versions and Tools Do Not Matter”

  1. I tend to disagree with you on this as a fellow trainer and previous consultant in the field.

    Do you think students will be happy being training in VS2008, when they walk out in workplace and they are using VS2010?
    I also disagree that you can build in SP2007 and no diff between SP2010. There are improvements in SP2010 which you would have custom built in SP2007. New gaps do appear though 😉
    If you didn’t teach SP2010, what about the client object model, sandboxed solutions, managed metadata.The core principals are the same (SPWeb, SPList), but lots has changed and a key mistake made by SharePoint Developer newbies is building stuff that already exists…so part of the education process is about teaching them what’s in their toolbox. Even the IDE experience is so different between VS2010 and VS2008 so I do believe they should be on SP2010 context.

    It is a pain as a trainer, to have to go update your course ware every major release, trust me I’ve done it too, but you know that going in with 3 year life cycles of this product 😉

    Just my two cents.

    1. Jeremy,

      Thanks for your comments and thoughts,

      I’d accept your argument if we were teaching Visual Studio, or even SharePoint in Visual Studio. We’re not; we’re teaching SharePoint.

      As you well know, there are very few changes in for example content types, or how to build a web part, or even utilizing data view web parts. Most things in the OM or in CAML change very little. There are new features, of course, but those are of little value to users if they solved their problems in the previous version. Again, their problems won’t change if Microsoft change their version.

      Where there are major changes, for example is SharePoint Designer, there are separate courses because the tool itself is the topic, for example in both our SharePoint Designer workflow courses. It makes little sense to teach someone SharePoint Designer workflows for 2007 if they’re not going to recognize neither the interface nor the approach to building the workflows.

      Oh, and we do have a separate course on what’s new for developers in SP2010, including using Visual Studio 2010, but I don’t see that as part of the core SharePoint training, simply because SharePoint still isn’t about tools or versions, but about solving business problems.

      .b

  2. So, going by this blog post and Jeremy’s comment, I think we can conclude that SharePoint Development training should always be about solving business problems using SharePoint.

    This means teaching the building blocks like the basics of Content types and List/Site templates from the Web UI level, as well as the core, underlying XML files.

    I’ve only done one ‘bootcamp’ style training course which was intended to upskill myself to 2010 development, and many of the other people in the class hadn’t used SharePoint yet to the extent I believe they should have, before diving into lessons on how to build and deploy a web part in Visual Studio 2010.

    I personally think there should be a pre-requisite of a decent base-level knowledge of the platform as a whole before showing anybody any tools – even SharePoint Designer. As aforementioned, many new developers unknowingly attempt to reinvent the wheel when first starting out because they simply hadn’t been shown a particular feature already in the platform before they started out on development.

    You’ve been ‘Loved’ again, Bjørn 😉

    James

  3. I sit between Jeremy and Bjorn on this, tending toward Bjorn. I see far fewer differences between SharePoint 2007 and 2010 in the layers I choose to work than there may be in some others. I flip back and forth between 2007 and 2010 constantly, sometimes multiple times per day, and the main cue I have which tells me where I am is the color schemes. Everything else is fundamentally the same. (Yes, there are many of you who will argue with me about this, but this is *my* opinion.)

    When I work with my clients to solve their business problems, it’s about lists and libraries. Content Types and good information architecture. Designing a UX that makes work easier instead of harder. Making sure incentives are mapped well against the strategy they want to pursue. Which version of SharePoint Designer or Visual Studio we happen to use doesn’t matter a whole heck of a lot.

    However, the bottom line is that when you decide to use a toolset, you need to learn as much about it as you can. One of Bjorn’s mistakes may be assuming that all others feel that way, too. There are lots of people out there who work hard to learn just the bare minimum to get by. I don’t think that any of us are talking about those people, though. If you want to be good at “SharePoint” (which isn’t the point; the other stuff above is, really), then it makes damn good sense to know where it is in its evolution and what will help you solve your challenges.

    M.

    1. I agree with Marc here, both Bjorn and Jeremy have good points.

      I’m an “aspiring programmer”, I only did SharePoint programming occasionally (smaller changes in existing source code, or very simple stuff), but am currently working on learning and doing more. I understand a lot of the concepts and basics, but barely touched the majority of what can be done with code.

      Having said that, I’m currently working on CloudShare with a SP2010 environment and VS2010, but I could do the same things that I’m doing right now also in a SP2007 env with VS2008 (or VS2005). Right now, it’s all about the basic stuff (as mentioned above), so lists & libraries, features, web parts, event receivers, etc. Nearly none of the “new SP2010 functionality” yet (the only thing I did so far was to develop a sandboxed solution instead of a farm solution, so knowing the difference here was important, though in my code it didn’t matter as it was just a simple regular web part). Once I understand these basics and worked with them, only then will I move on to more “advanced” stuff such as the client object model, e.g., or managed metadata.

      I appreciate that VS2010 has simplified (or made easier) SharePoint development in a lot of ways, but at the same time I also understand that I need to do some learning on the side to understand things better and to become a better programmer (e.g. working with feature.xml, which I have barely touched so far). Depending on the scope of the USPJA training course, it may make perfect sense to not use VS2010 & SP2010 (though it could be done with them).

    2. Marc, I am very surprised by your comment. You are well known for your work on XSLT and Web Services, and these two areas have seen major changes between SP 2007 and SP 2010, with the xslt list views and the REST API. I even recall you mentioning the confusion between xslt list views and data views (was it on twitter?).

  4. I think everyone has made valid comments and I am also an “aspiring programmer”. I have touched on the MOSS development and now getting to grips with SP2010.

    It does not matter which environment you start in, be it MOSS or SP2010. You just have to start learn to develop your core skills and the best practices for each environment. Marc made a good point about the fundamentals:

    1. Lists and libraries
    2. Content Types
    3. Information architecture
    4. Designing a great UX

    You can learn these in either environments easily.

    I get what Bjørn is saying and I agree with him. I also agree with Jeremy but ultimately it is up to the developer who has to decide. They have to do some background research into what the course involves and if its core SharePoint development skills they want to pick up they should do the course. If they have very specific requirements (SP2010) then do another USPJA course as Bjørn said earlier in his comments.

  5. As a former USPJA student and development interested, but not aspiring (full time) developer I understand the discussion quite well (imho).

    When Bjorn was explaining me and the other USPJA students about how to do things before WSPBuilder was introduced (this is more than a year ago) I had mixed feelings. I appreciated somebody taking the time to teach me the craftmanship behind development on SharePoint, but knew about WSPBuilder and was keen on using those tools that make the lives of developers easier.

    Generally I understand the latest and greatest argument, but I think that the ‘shortcut’ argument is much stronger. People generally dont want to take the longer harder road, unless there is gold at the end of that rainbow.

    I think that teachers (of all sorts) have the unenviable task of explaining over and over again why pupils have to make their homework or can not use their calculators.

    It is without a doubt that when starting out with SharePoint development there is not need start with the latest software .. Or better said, no need to be taught with screenshots of the latest software.

    I do think though that teachers and teaching materials should allow for students to work with newer versions .. f.i. deploying solutions, it’s great to understand what is going on behind the scenes, but when you know how to do it in VS2010 and/or with the CKS:DEV kit then those methods should at least me mentioned. Admittedly making the life of a teacher yet again more difficult, because how many flavours should one offer?

    I think that the USPJA academy is at the forefront of exploring this and doing that through on online platform. Recent updates are showing that they constantly ponder about the best ways transfer knowledge to students .. there is much to be learned from this I think.

  6. Just a quick one here as I havn’t read the whole lot.

    Screenshots of the correct version absolutely DO matter. Just because, as a trainer, you know the process, or topic hasn’t changed, if people see the old version it holds less credanility and can also put people off completely.

    I’ll read the rest and comment properly later.
    Thanks
    Matt

  7. If you follow your own logic, why don’t you just remove the screenshots and only leave the text?

    I fully agree with Matthew’s comment. What I see in this article is an old school pattern, where the teacher seems to focus more on what he knows than on what the students need.

    There’s certainly more to say about this article. For example when I read “If you solve your problems with SharePoint 2007, why is SharePoint 2010 required at all?”. But that one actually left me speechless…

  8. So having read the whole lot and looked at your website, it seems your content is aimed at developers and admins, OK so for developers it may not matter too much, although I sat our developer course and was informed that 2007 was lots more painful than 2010 development so I still reserve judgement on that but certainly for admins and end users the visuals are very different and even where it is the same end users will still benefit from relevant screenshots
    The point of, I can’t cook a souffle unless I see my oven is irrelevent, in that analogy its about knowing how ovens work and that the one you have at work is similar to the one your using to learn, although I accept that with branding it could be different anyway.

    As for admins, the architecture is massively different as well as Central Admin being very different which is like going from a Microwave to an Oven. It took me a while to get used to how to get to Search Administration which in Shared Services was easier to locate.

    I am still not convinced by this Bjorn and I think it wouldn’t take a whole lot of effort to update 50 screenshots or whatever it may be? As I have not sat your courses or indeed know what they cover i’ll just leave it there as with all that said I see that there is great value in online training and indeed what you have to offer.

    Just my opinion
    Matt

Leave a Reply

Your email address will not be published.