The Cost Benefit of User Experience


What are people saying about the last thing you built for them?

I’m doing you a favor today. I’ve written about this subject before, but I’m going to spare you the trouble of searching my blog and I’m going to spare you the accidental navigation (if you’re reading this on a mobile device and trying to scroll) caused by me inserting a bunch of links to previous posts. I’m looking back over my 35-plus years doing systems development and I’m going to summarize the whole thing for you:

The people who use the systems you build deserve the best experience you can give them.

There. That’s it. That’s really all you have to read. If you are wondering how I came to that conclusion or why I’m bringing it up, feel free to continue reading but if you’re content to nod your head and even grudgingly agree with me, well then, off you go.

OK, you stuck around. You know what that means. You’re going to have to read a story.

In 1988, I was in a meeting with my boss, a representative of our underwriting department and one of my better programmers. We were discussing a feature the underwriters wanted in the system we were developing for them. First, a little background (hey, you had your chance to leave):

Nuclear reactors get shut down for stuff like refueling and when they are shut down we charge them less for insurance. The way we do this is by dividing the year into a series of consecutive time intervals, each with its own set of state variables and its own pro-rata premium. Creating a new time interval was a big deal and a difficult process prior to the system we were writing. The designer wanted to make it easy. He wanted the system to show a list of time intervals and let the user highlight one and press the “+” key to insert a new time interval after the highlighted one.

This seemed like a simple request and I agreed to it. The designer wanted more. Since we had never had such an interactive feature in a screen before (this was running under DOS), he wanted us to build a prototype. I told him that wasn’t necessary. I told him that he could see the working element as soon as it was done. He argued that a prototype was necessary because this was a “radical departure from any previous approach.” He also added that he wasn’t sure we could make this. I slammed my hand on the table and said:

If the feature you want can be programmed on a DOS PC, she can build it. We don’t have to prove that to you up front, just let her do her (expletive) job!

After the meeting, the woman came into my office and said:

I appreciate your confidence in me and I like the way you stood up for me, but I don’t actually know how to do that.”

I knew that, but as far as I was concerned, that fact was irrelevant. She could learn. The feature was going to make someone’s job easier and that was worth learning how to do.

Today, as we are in the early days of a new wave of development, I am more convinced than ever that the effort required to build a better user experience is a price worth paying. The math is simple. You build a system once every three to five to seven years but people use that system every single day. Where do you want them to register on the UI-O-Meter?

As an added benefit for those of you who stuck around, I am giving you the answers to a few common problems. Note: I have tested all of these:

We don’t have time to do this” – Give them a choice of waiting a little longer or accepting a second phase to the project.

We can’t do that in SharePoint” – Buy an add-on feature or hire one of those SharePoint whiz-kid consultants who can.

This can’t be done in SharePoint” – Move the process to a different platform.

This would take too many development hours” – Do the math. Development hours vs. hours spent using a crappy system.

If all of those fail, slap your hand on the table and sprinkle in a few bad words.

If you have your own favorite excuse and an alternate way of looking at it, please add your thoughts to the comments.

In Search of Value

Value Hierarchy

Apologies to Maslow

One of the goals that I have maintained throughout my career has been to add value to a process. Long before SharePoint, in fact long before (OK, little before) Microsoft, value was a key requirement in the systems I was building and designing. As a young systems analyst, I remember receiving strange looks from my “customers” when I would ask: “how would that report help you?” I used reports as an example because people always seemed to want more reports than they needed. Once, when I moved a system from one platform to another, I didn’t bother recreating 90% of the reports. I promised to build each one as the need became critical. I only ever recreated about another 5% of the missing reports.

I would get equally strange looks when I would ask my IT colleagues: “how would that add value” or, somewhat more surprising: “how can we build this and be sure we are adding value?

Don’t let me paint too rosy a picture. I’ve built my share of systems that missed the sweet-spot of the target and I’ve left more than a few valuable features laying on the cutting room floor. Systems development has always been affected by drama and budget, in addition to logic.

As I am managing what will likely be my last long-term development effort, I am focusing more than ever on value. I have 3-5 years left to make a start on a new generation of systems, and if I am successful, those systems will be built on a foundation of “adding value to a process.”

I haven’t had much to share on this blog in recent months, but some projects are reaching a point where I can talk about them in generic terms. In most cases, I can’t talk about the work, because I’m not doing it. I can’t talk about the players, because some would rather not be a part of my blog entry. I can’t always talk about the details of the project because legal/accounting/human resources – ‘nuff said. But I can talk about goals and objectives and the way a focus on value has led us to some interesting decisions. Decisions I might not have made back when I started this blog and was bent on using SharePoint whenever possible.

By way of introduction to what I hope is a small series of blog posts (maybe enough to satisfy @Sympmarc’s Saturday addiction) let me share a couple of thoughts on how we got to this point.

Success moves you higher – I am old enough to have participated in systems development projects where the primary goal was to automate transaction processing and save money by eliminating jobs. Oh, we told ourselves that we were improving accuracy and letting people focus on higher-order tasks, but we were also letting them find those tasks at a different company. By the time SharePoint became available, we were way beyond that kind of development and we were looking for ways to use the information we had been gathering. SharePoint offered us a way to move up the hierarchy shown at the top, just a bit.

Failure also moves you higher – The reason I put the “Process Improvement” layer in quotes and in red and with the snarky bit at the end is because it wasn’t always the result. Often, process improvement was a collective bridge too far. Business leaders wanted magical solutions and technical managers and staff couldn’t wait to buy/build/use new toys in pursuit of that magic.

Automating a Business Process

There are times when you can run the table and automate the whole thing. There are also times when that would be a bad idea.

The diagram above illustrates where we sometimes went wrong and how we are correcting those mistakes. Consider the five boxes across the top. Occasionally we have felt that we could automate all of them. In fact, we could. Unfortunately, automated analysis and decisions, by default become arbitrary. A report is on-time, because it is not yet late, or a report is late the moment the time allotted has passed. People on the other hand, understand that a report nearing its due date may be in trouble and people understand that sometimes life gets in the way of an arbitrary due date.

Note: I have been doing this stuff since the ‘70s and yes, I know that systems can be made to be more holistic in nature. However, the effort in building those systems, as well as the effort to maintain those systems is very often too high. Humans are much better at making holistic decisions than machines.

We have recently taken technology out of some steps of a business process that we had previously automated, in order to improve the process. Instead of automating all of the steps, we are focusing on “what information would help humans complete this step easier/faster/with better results?” I put this in the win column because we have the information we need (because we built good solutions in steps one and two). Now, by utilizing SharePoint’s native features, we can provide good information for people to consider in steps three and four. And yes, since nobody wants to do recordkeeping, we will automate that last step.

That’s it for today. I have some stories in mind that build off of this foundation, but those can wait for another day. Maybe not next Saturday, but let’s keep this a Saturday kind of read.

One Stop Shopping Plus Mail Order

imageA few weeks ago, I received an email about an old post about managing a walking contest in SharePoint. Ironically, we are preparing to kick off the 2014 version of that contest in about 2 weeks and once again, we are managing it in SharePoint. I like to use these little side projects to demonstrate what SharePoint can do out-of-the-box. Some might ask “why focus on out-of-the-box? SharePoint can be so much more.

Their question is not quite correct and I am lying just a little bit.

The problem with their question is that “SharePoint can be made to be so much more” but the making can take a lot of time.

The lie that I’ve told is a lie of omission. I didn’t tell you that my box is bigger than Microsoft’s box. My box includes things like HarePoint Workflow Extensions and Nintex Workflows. HarePoint’s extensions add some very cool features to SharePoint Designer workflows and Nintex, well Nintex Workflows are like a slice of SharePoint Heaven here on Earth.

So, truth be told, I like to show people what we can do very quickly in SharePoint with the tools that we have available to us. That’s important for a reason that most IT departments don’t consider often enough.

Sometimes, people don’t ask for things because they think those things will be hard to build or expensive or that they will take too long.

They aren’t trying to save my time or my budget; they’re just trying to avoid being told “no, you can’t have that.

In the 2014 version of our SharePoint-driven walking contest, we have added two new features. Both are aimed at improving the user experience and both came at the request of my new young colleague Stacy. Stacy is not only the architect on this project, she’s the user. She’s managing the walking contest and she’s building the site with some help from me.

For those of you who are unfamiliar with a walking contest, it’s pretty much what you would imagine:

  • Our company is divided into teams.
  • Each person tracks and records their steps each day during the contest.
  • At the end of the contest, the team with the most steps wins a team prize and the person with the overall highest number of steps wins an individual prize.

Stacy wanted to make two improvements to the accounting process for the contest. She wanted to add options for mobile entry and she wanted a dashboard of sorts for reporting progress.

Mobile entry was easy but, again, it uses a few tricks from our bigger box. You can send your entry into a SharePoint Remote Entry library by including the subject line “10-11-2014 8,996” i.e. the date and the number of steps. A SharePoint Designer workflow, aided by HarePoint’s Regular Expression actions parses the subject line and adds the steps to your step count. A second workflow adds your step count to your team’s total.

We could do all the processing in one step, but I like breaking things into small chunks. That is a carryover from my history of coding in Smalltalk, but it’s a good practice for SharePoint. Small workflows are easier to test and they are easier to “debug” since there really isn’t a “debugger” available in SharePoint.

Employees with iPhones can also easily enter their steps via a mobile view of the Steps Entry form. Actually, anybody could do this, but “iPhone” is linked with “easy” because our MaaS360 mobile device management software allows us to push that mobile form through our firewall without the need for a VPN connection (which people hate to make on their phones).

Finally, we needed to build that dashboard, but we decided to make it functional instead of just informative – that’s where the “one stop shopping” comes from. We started with a Web Part Page and we added an Announcement part and an Instructions part in those top-of-the-page whole width zones. Then we added three useful parts. On the left, we have “My Steps” which is a view of the Steps list filtered on the current user. In the center, we added a view of Team Status that shows the current ranking of teams and on the right; we added a simple entry form for steps.


I have to admit, this is the first time I have ever put an entry form on a dashboard. It works. Having the entry form on the page makes this page the only thing people actually have to look at. My Steps, My Team and, as I look at my steps and realize that I forgot to enter yesterday’s value, I can do it without leaving the page.

Stacy’s homework assignment is to add a chart to graphically display some of these statistics and to make the page a little prettier. Mine is to start walking.

Last Weekly Post

imageAfter 5 ½ years of sharing a weekly story, the regular nature of this blog has to come to end. It’s OK, you and I will both benefit from this change.

I could go on about the state of the industry (which I might be able to accurately describe for a moment in time) or the state of SharePoint (sigh) but neither of those issues is driving this decision. This decision is being driven by the state of me. I am neither doing, nor managing enough activity around the subject of this blog to generate meaningful content on a weekly basis. I am still working. I am very busy, but not busy enough in this area. I am returning somewhat to my roots (systems development) and managing a small department as we prepare for the future. My stories are more abstract, more personnel (not a typo) and more nuclear (not a typo). Those combine to build a pile of ideas that are either hard to share or which can’t be shared without permission.

Let’s look at the bright side: I benefit from not having to scurry to find something to say and you benefit by not having to read suspect quality material and my editor (wife) can relax a little on a few Saturdays.

I appreciate the time you have spent reading this blog. I hope that you will stay connected to it so you can swing by for the periodic updates that will be coming. The best compliment I ever received was when Marc D. Anderson said that “SharePoint Stories is a Saturday kind of read.” I will try to keep true to that concept.

I would be silly not to ask you to:

Follow me on Twitter –

Visit my other blog –

This isn’t goodbye, it’s just a change. If we technology folks understand anything, we understand change.

Plan Faster

imageThat’s the Jack Rabbit pictured at the right. It’s a roller coaster in Kennywood Park outside of Pittsburgh and it’s been rolling since 1920. It has changed over time, but it still offers the basic promise of a thrilling ride. It’s still a very important part of the overall joy of spending a day at Kennywood. I’m sorry, this isn’t my vacation blog, and I do have a point. The world of information management is changing very fast, but we can still keep the whole package viable, if we manage change correctly.

About a year ago, we made the decision to use Citrix ShareFile. I started to explain that a while back, and I promised a more detailed explanation, but I’m not going to provide that today. One reason is that the ShareFile we decided to use has changed. It’s changed quite a bit, as has every other file-sharing service. If I explained the features we liked about ShareFile this time last year, you might say: “you can get 10x that amount of file space today for free!” You would be wrong. You can get closer to 50x today for free if you look in the right places.

That isn’t the point, that can’t be the point.

That could never be the point. You could never make business decisions based solely on price, but you clearly can’t do that today when it comes to file sharing and online storage.

The point, my dilemma, the next IT problem, is that the pace of change is exceeding our ability to plan like we used to. Remember Roadmaps? Remember when the industry leading vendors would tell you what they were planning to do over the course of the next 3-5 years? I do. I remember being able to take those roadmaps, with a few grains of salt, and build our 1-3 year plans from them.

Forget that.

You can’t do that anymore.

We selected a product/service (ShareFile) in October 2013. By the time we explained our plans to use that service to a committee representing our customers in April 2014, it had changed significantly. Now, as we are getting ready to roll out the solution, it has changed even more. It’s OK. It still does what we want it to do. And, the changes are mostly good, or the kind that might be good someday. I don’t have this stuff all figured out, but here are a few things I think we have to keep in mind as we try to hang onto this ride:

Maintain control – You can’t run your business if you cede control to vendors who are fighting for their own survival. You might not be able to specify the details of your plan as it extends very far into the future, but you still have to have a plan.

Maintain focus – If you’re saying “how can I plan when technology is changing so fast?” you might be focused on the wrong thing. You might be focused on the tools. My plan is to support the business needs of our company. ShareFile is a tool that I am using to meet those needs.

Be the buffer – If you think your head is swimming in a sea of technological change, think about your non-technical coworkers. You might be able to (I’m dropping the metaphor before I have to talk about someone drowning) deal with the pace of change, but they can’t. They shouldn’t have to. Remember, they have a day job. Even if you are using a cloud-based solution, you can control the pace of change through the solutions you build.

Avoid kit solutions – I buy a lot of tools, but the ones I won’t buy are the 18-piece battery powered every-tool-you-ever-need kits. I don’t buy them because when the batteries die and the new-fangled batteries aren’t being made to fit that kit, I’ve lost 18 tools. SharePoint might be a kit. I’m not saying you shouldn’t buy it, but we have narrowed our plans to use SharePoint to stay closer to what we think are its core capabilities. ShareFile basically does one thing. It’s a thing we need, so we’re good.

Avoid capital expenditures – One side-effect of cloud-based solutions is a move to subscription fees vs. capital expenditures. That’s a good thing. Large capital expenditures have to work over a long enough time to provide the return on the investment that you made to acquire them. The return on investment ends when those 18 inoperable tools have to be carted to the curb.

Communicate – Even though you can’t introduce change to your coworkers as fast as it’s being introduced to you, you have to change things faster than they want you to. Let people know what you’re thinking and where you are heading. Let people know when your plans start to change. Let them know that you’re managing rapid and uncontrollable change on their behalf.

Buckle-up, keeps your hands in the car at all times and enjoy the ride.

Pardon the Abused Analogy

It’s summer and for me that always means DIY home improvement projects. That translates to short work weeks and limited blog fodder. I told myself “if I have nothing, I’ll write nothing,” but sometimes little things crawl into my head and seem important. This week’s DIY project produced just such a moment. Take a quick look at the three photos below.image

These are from three home improvement projects. The little support structure on the right was required to replace a badly worn outside faucet. It should have been replaced years ago, but having to work in the corner of the burner room, tucked uncomfortably between the oil tank and the main water supply, caused me to put it off as long as I could.

All three are photos of “platforms” – used to literally support the worker. In the early days of SharePoint, we were often quick to point out that “SharePoint isn’t a product, it’s a platform!” Yes it is, but just as all platforms are not the same, we are witnessing the fact that all SharePoints are not the same. Platforms, as those three pictures illustrate, need to be well-matched to the activity that they are supporting. image

At the risk of stretching this analogy to the breaking point, consider that the makeshift scaffold that I stood on while removing and rebuilding this complex bit of plumbing was an “on premises” platform. It was fixed, limited in functionality and accessible only by the “privileged” few or one in this case who were in the room with it. The platform on the left invokes a “cloud” mental image and fits that image quite well. It was flexible, scalable and was easily abandoned when no longer required. The middle platform is clearly (OK, not clearly) a hybrid model; perhaps the best of both worlds but suffering the limitations of each.

Just as none of these physical platforms could be used in all three home improvement projects, no one installation of SharePoint will be well suited to all of our business needs. In some cases, no version of SharePoint might be the right version. In fairness, you can substitute any other product name for SharePoint. As platforms evolve or change or de-evolve by shedding features we used to like, their appropriateness needs to be reevaluated. It can’t be as simple as saying “we use SharePoint so we’ll do what we have to do to continue using it.” Microsoft may like that, but I’m sure my boss wouldn’t.