The SharePoint Baker Cooks Up Some Thoughts

sharepointbakerAdam Burcher, aka The SharePoint Baker, has been a fan of Typemock for some time, writing his thoughts about SharePoint unit testing. You can read his thoughts about writing unit tests in SharePoint here.

He’s a SharePoint developer based in Liverpool, UK. As well designing and developing SharePoint solutions he’s also know to bake the occasional cake too!

TM: Tell us a little bit about yourself

I’m currently a SharePoint developer based in Liverpool, UK. I’ve been a web developer (both SharePoint and traditional .Net) for nearly 5 years now and previous to that I’d worked in server and network setup/management. In my spare time I do a lot of cycling, swimming and running and when I can, kayaking, not to mention cooking and baking so all in all I like to keep busy!

TM:     Why are you the SharePoint Baker? Do you like to cook?

You could say that. If I wasn’t working in IT I would probably have trained as a chef instead and tried starting my own restaurant. As things turned out I studied computers at university and ended up working as a .Net developer and then moved into SharePoint. It’s probably just as well because it means cooking and baking I can keep doing for fun.  Plus this way my work mates get to enjoy the occasional cake that I bring into the office.

TM:    Why SharePoint?

I fell into SharePoint accidentally really. A couple of years ago I started working on a new project based in MOSS 2007. Up to that point I’d been working on .Net web sites and the opportunity came up for SharePoint. I’d only really seen SharePoint as an intranet and document management system so the chance to build highly bespoke MOSS 2007, public facing site sounded like it could be interesting (or at least different!). That was that and here I am 2 and half years later still working in SharePoint. SharePoint has so many parts to it that there’s plenty to keep me interested. It maybe a complex platform but it is also extremely powerful as to what it can do and as a developer want I can get it to do.

TM:     What other technologies do you work with?

Nothing – I’m SharePoint through and through now. I know a lot of developers like to vary their technologies but for me it’s all about SharePoint. As well as development I’m also involved with solution design, working alongside clients and have even had opportunities to do user training.

TM:      Many people don’t think of unit testing and SharePoint together. Why do you think that is 
and why do you see things differently? What’s the benefit to unit testing your SharePoint projects?

A year ago I would have said the same thing because it isn’t easy. However, at a SharePoint conference I heard a series of talks by developers about unit testing SharePoint which made it sound feasible but also beneficial. One of the problems we were always faced with when it came to SharePoint was that so much of the testing had to be done manually – clicking through the browser, checking pages and responses etc. This is always a pain (at least as a developer!) and on large systems things like regression testing took forever. Being continually challenged about quality it was clear that some kind of action was needed. So a few months ago I started investigating what options were available for unit testing SharePoint and Typemock came recommended. I did a few proof of concepts to see what could be done and then tried rolling out some test scripts for some existing code. That was the start and now unit test scripts are starting to be rolled out for new projects! Although still at the early stages I’ve already noticed the benefit of both having those tests and also how they’re helping to improve how I write code. 

TM:   If unit testing is something that you think is important, what would you tell developers new to 
unit testing?

Some is better than none. In an ideal world we would have unit tests to cover every method and every piece of custom code that we write….in reality that may not be the case. Every company, every client and every project will have views on unit testing and how much time should be invested. As a developer I might want to spend say an hour writing unit tests for every 2 hours spent developing but commercially or with timescales that may not be viable.

If you’re new to unit testing then it may take a little longer to write each test but it gets easier (and quicker). I’d also say try and make unit tests part of your development approach. I know for me that if I leave writing tests till the end of development, it’s harder to write (plus the code is “finished” and so harder to refactor), where as during development it’s much easier (and easier to make code changes). One last thing, if you feel like you’re being “forced” to do unit testing they’re a lot harder to write. Try seeing them as essential and that you want to write and you’ll see a difference. Ultimately unit testing should help improve quality so as I started with, some is better than none!

TM:     You maintain an active blog about SharePoint development. Why do you blog, and do you think more developers should be blogging and sharing their perspective?

I originally started “blogging” offline to record some of the challenges I faced with SharePoint but then figured that others might find it useful so I started the blog. The SharePoint community is a brilliant resource, there are plenty of great blogs and people out there who contribute their knowledge and experience to helping others. I want to try and contribute to that. I know from experience that there have been a number of occasions where I’ve needed help to get something to work and have found a blog or whitepaper online from the community that has helped. It’s also a great way to see what others are up to and to see different approaches. I follow a number of people’s blogs and Twitter and there’s often things that they say which starts me thinking. Another great resource are SharePoint User Groups which gives people the chance to connect with the community.