The Business Controls Caddy

Permalink Understanding COBIT: User-Machine/Graphical User Interfaces as A Control Objective




Have you ever seen one of the people who will be users of your current project?
Jakob Nielsen in "Usability Engineering"

A week or so ago, Scott Good of Teamwork Solutions mused that one of the reasons that people do not like Lotus Notes is that many of the applications they use have a amateurish or poor user interface. As a result, they think the application as a whole, as well as the software used to run it, is lousy or inadequate. What happens here in cases like this is that user acceptance of the application is low to nonexistent, introducing risk that the business objectives that the application was designed to meet will not be met. How then does user-machine interface fit into an information systems controls framework such as "Control Objectives for Information and related Technologies" (COBIT)?

Well believe it or not, the user-machine interface is covered explicitly under COBIT. If you remember back to my posting entitled "Understanding COBIT Part I: What is COBIT and Why Does It Matter?", COBIT contains generally accepted information technology control objectives as recognized by information systems auditors around the world. Under the "Acquisition and Implementation" domain, there is high level control objective AI2, Acquire and Maintain Application Software.

For those of you that attended my Lotusphere 2005 session, you may remember that I talked about the high-level control objectives and the fact that each of these had a number of detailed control objectives. AI2 is intended as to enable "control over the IT process of acquiring and maintaining application software that satisfies the business requirement to provide automated functions which effectively support the business process" (Source: IT Governance Institute).

It Is All About the Users

Here is where we get to the heart of tying Scott's thoughts to control frameworks, specifically COBIT. Under Detailed Control Objective 2.9 - User-Machine Interface, the "organization's system development life cycle should provide for the development of an interface between the user and machine which is easy to use and self documenting (by means of online help functions" (Source: IT Governance Institute). In plain English, this means that the interface between the user and the application needs to be intuitive, non-distracting, and easy to use. This also means it needs to look good and function according to the needs of the user, not the developer(s). Let me repeat, it is all about the users, not the developer(s).

Who is Scarier When It Comes To GUI Design?

This is an important question. As Scott pointed out in his posting, "it is exceedingly rare that we go into a project and find an application anybody else has built that looks worth a damn". But whose fault was the poor interface? Did the developer(s) try to build a decent interface, but ran headfirst into a customer who really wanted the flashing red graphics or the putrid green color pallette? Did the developers ignore the customers request and decide what kind of interface to give the end users? Or in the end, did the project plan and the organization's system development life cycle not even address the issue? In all of these questions, the presence of controls that address this issue would help tremendously to mitigate the risk. As the developer of project manager, you may have to work extra hard to convince the customer of the importance of user interface work as part of the project, but it can be done.

"We Did Not Realize the Importance of a Graphic Artist In The Project Plan"

A few years ago when working for Lotus Professional Services, I was called to join a project that was failing because of user-interface (UI) issues. My task was to review the UI, recommend changes, and when approved, implement the changes. It was like Scott said, you know good design when you see it, and this interface was in need of serious work. When the project ended and my evaluation was being prepared, the Project Manager noted that by assigning a dedicated resource (me) to this task, the customer then realized how important it was to address UI issues and assign dedicated resources to this task in the initial project plan. Because it was not addressed initially, the customer had to spend additional money to get the UI overhauled.

Recognize Your Teams' Limitations and Get The Right Resources

If the graphics/UI skillsets of your development team does not extend beyond MS Paint, then make sure you have resources that can address UI issues. It is a waste of coding resources to work on UI issues instead of functionality. If the company does not have a system development life cycle that includes user-machine interface design, then you have to sell it to them. Why? Because of the application fails because of lack of user acceptance, guess who is going to be blamed? And if your contract is poorly formed, you might end up having to fix problems on your own nickel.

You Are Never Going To Make Everyone Happy, But Push Back When Needed

Everybody has their own view of what looks good and no two people will agree 100%. Because of this, it is important that you build consensus with a good cross-section of users. It may require compromise on the part of everybody, but it may mean just saying "no" when you have to. Back in the late 1980's, I was designing on air graphics for a television show called "Food Business Today". You have not lived until you have designed graphics for corn futures prices:-). One evening, I had a young, inexperienced associate producer working with me and she said "Why don't you make the (full-page) graphic with a nice bright yellow background?". The one word answer was "No". I had to push back because I knew that you could not use yellow like this in an on-air graphic, or at least I would not do it if my name was going on the credit roll at the end of the show. She was upset, but the producer backed me up and life moved on.

Yes There Are Compliance Issues

User-Interface issues are not limited to customer acceptance of an application. There may also be legal or regulatory requirements that need to be met. The first one the jumps to my mind is 508(c)(3) accessibility requirements from the United States Government. How real is this impact? Consider that I have had potential customers say no to Lotus Notes/Domino because web sites generated would not be 508(c)(3) compliant with extra customization.

In the end it goes beyond Scott's concern that selling or developing poor application interfaces makes us all look bad, it is just bad practice in general and can be addressed through the implementation of control frameworks such as COBIT.

Related Links


Related Books From Amazon



Comments
05/09/2005 09:09:15 AM

Comment posted by Scott Good05/09/2005 09:02:16 AM
Homepage: http://www.scottgood.com


Nicely said, Chris. I couldn't agree more. As to your question regarding whose fault poor design is, I don't think there's a whole lot of question. With very few exceptions, the blame lies at the feet of the developer.

I have had many clients say, "we need to save money, so don't worry about how it looks." I, however, am not wired that way. If I don't like the way it looks, I don't like working on it. Even if they don't understand the importance of the UI, I do, so they get a good one anyway.

In the end, clients are never unsatisfied with an application that looks and works better than what they would have settled for otherwise.


Add Your Comments



Email addresses provided are not made available on this site.





You can use UUB Code in your posts.

[b]bold[/b]  [i]italic[/i]  [u]underline[/u]  [s]strikethrough[/s]

URL's will be automatically converted to Links


:angry: :-( :-p :lips: :laugh: :-o :rolleyes: :huh: :-D :grin: :cool: :cry: :-) :-\ ;-) :-x :emb:






Remember me    

Add Manual Trackback
Please enter the details of the trackback post. Your trackback will not appear on the site until it has been verified. This may take up to 10 minutes.

Site Name

Permanent URL of TrackBack Post

Title of Post ( If Any )

Excerpt of Post ( Max 250 Chars )



free html hit counter