OK, so it’s not a piece of fine furniture, it’s a prototype. It serves many purposes and it reminds me of why we sometimes need to build prototypes when developing systems and when deploying SharePoint. Like most things related to systems development, it might be easier to think of this real world example instead of the hypothetical SharePoint example. Let’s think about why my daughter built a foam coffee table.
Raw Material Limitations – A few years ago, my father-in-law arranged for a friend of his to give me a pile of hardwood lumber out-cuts. I didn’t really want this lumber, but the friend didn’t want to see it go to waste, and it was a very nice gesture so I agreed to take it. My father-in-law has since passed away, and my daughter wants to build a piece of furniture from that lumber. It’s a collection of odd lengths and species, so we tore through it trying to identify the limiting factors: What is the longest piece that can be used to make legs, the longest piece that can be used to make the apron, the pieces that might be glued together to make the top. Clearly, SharePoint comes with limitations too. Do we have Enterprise features? Do we have enough storage space? Do we have enough CALs? Building a prototype that is subject to the real world constraints, prevents us from designing what we can’t deliver. We also should consider that constraints can be removed. As we were sifting through the pile of wood, I reminded my daughter that “we can also buy lumber”, but she likes the idea of using only what we have. My boss sometimes likes that same idea.
Expertise and Technical Limitations – In order to turn this wood into a piece of furniture, she needs to perform a variety of operations. For example, the wood has to be cut and surfaced, a process that results in some waste. The legs of the prototype are as wide and as tall as they can be, given the piece she has selected to use for legs and factoring in the effects of preparation. Building the prototype allowed her to put the “table” in her living room and see if it works. SharePoint and the shops that support it are fraught with limitations. For example; in our shop, we limit ourselves to SP Designer workflows. We have Visual Studio, but we try to avoid using it with SharePoint. We also try to handle our SharePoint work ourselves; I have a consulting budget, but I try not to spend much of it on SharePoint. SharePoint is the low-cost solution we chose to reduce the need for custom development and consultants; my job is to keep it low-cost.
Look and Feel – My daughter wants drawers under her table. She isn’t planning to load them up with cans of soup, but she wants to be able to stick a few remotes in them. She wants the drawers to be interesting – she’s an artist, and when artists use the word “interesting” buckle-up, you are in for a journey. We talked about hanging the drawers from the table top with the appearance that they were floating. Of course, we needed to see that. Look and feel is often overlooked when using SharePoint, at least in our shop. I have been trying to pay better attention to this lately, and sometimes that involves mocking up a page that helps the user understand what the solution will look like and how the solution will work. We have been using SharePoint for more than five years, but as I said a couple of weeks ago, people don’t always know what to expect.
A few thoughts on prototyping – When we were building the prototype, I really thought one drawer would be enough. One drawer would show her the size, as well as give her a good idea of how well the drawer could hide the structure (essential to make the drawers appear to be floating). My daughter wanted to build all five drawers. I lost the argument in my shop, but you need to be careful not to lose that argument in yours. Here are a few tips: 1) Avoid over-building – use the prototype to validate the concept, and then move on to real work. 2) Fight the desire to morph the prototype into the final product. While it may sound tempting, it often results in people arbitrarily limiting the creative process, or worse, carrying mistakes into the real world. We will throw away the foam coffee table when we start working in wood. 3) Look to see if you already have a model. Prototypes are great, but showing someone a working solution in another department, or even another company is often better.