The software behind our web services can be described as a big ball of mud with SharePoint wrapped up in it. Actually, I almost typed wrapped wrongly. Warped might also be a perfectly good way of describing SharePoint’s role.
When I first started at my current firm I wasn’t a fan of SharePoint. The person who I thought was going to train me, told me nothing and just cleared off as soon as he could. My current view is that there are lots of good features with SharePoint and in the right context it’s very powerful and can be a fantastic tool. That said it’s not needed for what we do.
I’ve gone off on a tangent. What I really wanted to write about was the process of splitting the big ball of mud into smaller components. I saw this done at a previous company but wasn’t part of the process. Now, I am. It’s rather interesting to tease apart all the tightly coupled classes and processes but a slow task.
Right now all we’ve done is identify which methods and processes serve which class of customer and separate them. We’ve also separated out a business layer. It could well be that this isn’t the final version of the software, but as a first pass it does the job. I’ve rather likened the process to tidying up a great big mess. The very first thing you do is make piles, impose some sort of order so that the whole great big mess doesn’t look quite so daunting. So, you make smaller piles of mess! Break it down into more manageable bits of work. That’s the stage we’re currently at.