You are on page 1of 8

Charteris White Paper

Users - the cornerstone of


system design
Version 1.0
Shaun Taylor
3 December 2003

2003 Charteris plc


CONTENTS
CONTENTS 2
1. INTRODUCTION 3
2. THE ROLE OF USER EXPERIENCE 4
3. RAPID PROTOTYPING 5
4. THE BENEFITS OF RAPID PROTOTYPING 6
4.1 Wireframes save rework 6
4.2 Consistent design improves quality 6
4.3 Rapid Prototyping reduces change requests 6
4.4 Facilitates business sign off of interim milestones 6
4.5 Promotes buy-in from key stakeholders 6
4.6 Improves the likelihood of user acceptance 6
4.7 Accessibility issues are addressed 6
5. CONCLUSIONS 8

3 December 2003 Users - the cornerstone of system design Page 2 of 8


Version 1.0 Charteris White Paper
1. INTRODUCTION
The success of a software development project depends on many things such as strong project
sponsorship, proper governance, sound project management, the effective management of scope and
proactive benefits realisation management.
However, a software solution’s success is also dependent on the functionality offered by it and its
usability. Delivering a highly functional solution that cannot be easily used the system will not be
adopted fully by the business and the project will fail. On the other hand delivering a solution that is
easy to use but does not give the business the functionality it needs to carry out its day to day
operations means that the project will deliver no value to the business and will also fail. Ensuring that
the solution does what the business needs as well as being easy to use, maximises the probability of
success.
So why do the needs of the user often get ignored or sidelined in system design? Why does
functionality often take precedence over usability (how easy it is to use that functionality) instead of
going hand in hand with it?
Perhaps the disconnect we often see between business and technology is the reason why the needs of
the user often get addressed after the design of the core system. Ensuring that the business is engaged
continually throughout system design is critical to the success of the overall solution. However, when
the business does not drive a software development project, it is often the technology practitioners
themselves that try and ensure that the end business remains engaged. As such the divide between the
business and IT can grow as the technology practitioners focus on the core elements of the solution
such as the messaging protocols within the business services layer or the data base design. As a result,
the user interface is often designed at a later stage of the project within the constraints by then already
imposed by the underlying system.
Perhaps another reason why tight integration of the front end design into the overall system design
process does not occur is that user interface design is viewed by technology practitioners as easy. The
user interface is often seen by developers as “icing on the cake”, less technically challenging and
consequently is not as attractive other tiers of the solution to design and develop. As such the front
end is sometimes seen by technology practitioners as just another interface point to the system along
with any number of interfaces to dependent systems or legacy databases.
The simple fact is that by tightly integrating the design of the front end into the overall system design
process costs are reduced, risks are minimised and the time required to deliver the solution is reduced.

3 December 2003 Users - the cornerstone of system design Page 3 of 8


Version 1.0 Charteris White Paper
2. THE ROLE OF USER EXPERIENCE
In the Microsoft Solutions Framework (MSF) and the Charteris Solutions Development Framework
(CSDF), the User Experience Role is an embedded discipline in the overall system design process. The
MSF is a deliberate and disciplined approach to technology projects based on a defined set of
principles, models, disciplines, concepts, guidelines, and proven practices from Microsoft. The CSDF
is the Charteris approach to technology delivery loosely based on the MSF but integrated into a wider
Charteris Quality Framework.
The User Experience Role is critical to the MSF and the CSDF as it ensures that the needs of the user
are advocated from the start to the finish of any software development project - right the way through
the design, implementation and testing phases of the project. The User Experience Role is responsible
for visiting end users, gathering user requirements, analysing user behaviour, designing any user
interface, ensuring legal accessibility requirements are addressed, communicating progress of the
solution delivery to the end users, and the management of any training requirements.
Before the design process begins the User Experience Role identifies the specific groups of users that
will be using the system and creates user profiles or persona definitions for the user groups. User
profiles or persona definitions describe the behaviours, responsibilities and day to day activities of a
group of users. These user profiles or persona definitions are used to test the design of the user
interface against the needs of the particular groups of users and are often a key input to the design of
any security model. User research is also performed up front by the User Experience Role to
investigate user behaviours such as how they perform a particular task, the business process
underpinning the user activity and manual work arounds employed.
Once the context within which the system will be used has been ascertained, the User Experience Role
will begin designing the user interface.

3 December 2003 Users - the cornerstone of system design Page 4 of 8


Version 1.0 Charteris White Paper
3. RAPID PROTOTYPING
A technique called Rapid Prototyping is used often by the User Experience discipline to design the
front end of a system. Rapid Prototyping entails the development of a set of “wireframes” as the
design documentation. These wireframes are the specification that is referred to by the developers
when coding the user interface. Wireframes provide a very effective tool for playing the current design
of a user interface back to the business to elicit feedback and are essentially a statement of scope for
the user interface in the same way that a functional specification is the statement of scope for the
entire solution.
Wireframes define the content of the screens within a user interface and the behaviour of the objects
within the screens. However, the wireframes do not specify the layout or aesthetic design of the user
interface. For example, the wireframes will define the areas requiring user input, drop down boxes and
radio buttons but not the positioning of these objects or the font type, colour schemes or use of icons
in the user interface.
The navigation paths across the screens are captured in “navigation maps” or “site maps”. The
navigation maps are used hand in hand with the wireframes whilst developing the user interface to
ensure the correct flow across the screens.
The aesthetic design of the user interface should be created by applying a Style Guide, typically a
standard for the organisation, to the wireframe designs The Style Guide is often re-used across any
number of projects within the organisation to enforce a consistent brand, marketing messages and
familiar design principles. This reduces the need for training in each incremental software
development project as well as enforcing a consistent style.
Wireframes and navigation maps can be easily created in tools such as Microsoft Visio™ or Adobe
Publisher™ and as such are easy to distribute through out the business and project team.
When wireframes are used in the context of the MSF or the CSDF they are often updated on a regular
basis (until they are baselined and placed under change control) during the iterative design cycle that is
a fundamental characteristic of these frameworks.
It is important that the needs of the user and the subsequent user interface design are considered at all
times during the design complete system as this ensures that consistency is enforced across the tiers of
the solution – from the front to the middle and the back end of the system. For example, if during the
design of the APIs in the business service layer performance issues are not considered, the ultimate
experience of the end user with a dial-up connection may be significantly impaired when clicking a
button that makes a call to those APIs. Similarly, when performing a search via a user interface for a
piece of information that has a large maximum character length in the underlying database the user
interface should be designed in such a way as to not present all of the information at once to the user.
These types of issues can be easily addressed when the user interface is considered at all stages of the
system design but when the user interface is designed after the underlying solution design is complete,
this is much more difficult to achieve as the user interface will be constrained, for example, by the
operations that can be called from the middle tier or the data available to drive the objects in it.

3 December 2003 Users - the cornerstone of system design Page 5 of 8


Version 1.0 Charteris White Paper
4. THE BENEFITS OF RAPID PROTOTYPING
It is widely recognised that visitors to a web site will not come back if it is not easy for them to access
the content they need. Most sales and marketing executives embrace the fact that usability is a key
driver of sales conversion via a web store, reduction of customer churn or increased site traffic.
However, what is less well known are the cost savings that can be achieved by an organisation when
implementing a solution with close consideration being paid to the needs of the users.
Rapid Prototyping and the use of wireframes during iterative design is a valuable technique for
embedding the needs of the user into the heart of the design process for any software development
project and has numerous benefits.
4.1 Wireframes save rework
Where a solution is designed from the perspective of the middle or back end tiers, rework may be
required in the business services or data services layer at a later date where a fundamental user
requirement has been missed but needs to be addressed for the successful User Acceptance of the
solution. By ensuring the needs of the user are addressed from the very start of the iterative wireframe
design process this unnecessary rework is avoided saving both elapsed project time and development
resource. It also reduces the risk of destabilising the code base where changes are made during the
latter stages of the project when missed user requirements are identified during user acceptance testing.
4.2 Consistent design improves quality
Using wireframes reduces the number of bugs by ensuring that an end-to-end design approach across
the tiers is adopted. The iterative nature of the wireframe design continually informs the technical
design of the business service layer APIs and the logical data model underpinning the database design.
By doing this, a “silo mentality” in system design is avoided and the number of bugs resulting from
inconsistencies across the tiers of the solution is reduced, saving both elapsed project time and
development resource and hence cost.
4.3 Rapid Prototyping reduces change requests
Wireframes help to ensure that feedback from the end users is elicited early during the design phases
of a software development project and so reduce the risk that change requests will be raised at a later
stage in the project.
4.4 Facilitates business sign off of interim milestones
Wireframes offer a visualisation of the solution that can be easily understood by the business. As such
their use can enable the business users to see progress at regular stages, understand the impact of the
planned solution on their business practices, inform the decision making process regarding the trade-
offs that inevitably have to be made between the scope of the solution and the costs.
4.5 Promotes buy-in from key stakeholders
Visibility of a solution within the business promotes increased business sponsorship which is essential
to a project’s success. The use of wireframes increases the visibility of a solution as they depict what
the front end will contain and makes a planned system seem real to the business by setting their
expectations.
4.6 Improves the likelihood of user acceptance
Where users have been involved throughout the software development process and have informed the
user interface design by participating in user behaviour research, wireframe design reviews and focus
groups the user acceptance testing of the final solution is much more likely to be successful.
4.7 Accessibility issues are addressed
The use of wireframes can ensure that accessibility issues are addressed as early as possible in the
design process. This helps to ensure compliance with World Wide Web Consortium (W3C)
recommendations, government regulations such as e-GIF and the Disability Discrimination Act.

3 December 2003 Users - the cornerstone of system design Page 6 of 8


Version 1.0 Charteris White Paper
Addressing accessibility issues reduces the likelihood of litigation at a later date which can result in
expensive legal costs, solution redevelopment and loss of reputation.

3 December 2003 Users - the cornerstone of system design Page 7 of 8


Version 1.0 Charteris White Paper
5. CONCLUSIONS
It is easy to forget about the needs of the user and fall into the trap of technology-driven software
development. However, when delivering any software solution, ensuring that the user is championed at
all times during the design process can deliver huge benefits such as the reduction of development and
testing costs through avoiding rework, mitigation of the risk of project overruns and improving the
likelihood of the business acceptance of the solution.
The use of wireframes during an iterative design process ensures that both the functionality and the
usability of the solution are considered hand in hand, increasing the chances of success for any
software development project.

3 December 2003 Users - the cornerstone of system design Page 8 of 8


Version 1.0 Charteris White Paper

You might also like