Tuesday, August 20, 2013

System replacements are not about replacing the system...

... they are about replacing (or improving) the ability for people to engage in activities needed to achieve their goals.

What triggers a system replacement?

  • Consolidation to reduce the number  of technologies in play.  This is usually associated with cleaning up after acquisitions or mergers.
  • License and/or operating costs. The existing system has been judged to be too expensive to operate in comparison to alternatives.
  • Unacceptable performance. The existing system doesn't actually perform the job well enough.
  • Address maintenance risk of current system due to loss of source code and/or the only developer(s) that understand it
(Thanks to Thomas for pointing out the last trigger in the comments)

The naive approach to system replacement

  1. List all the features the current system does
  2. (Package) Compare with features in the new package; customise new package to match old package
  3. (Custom) Build all features in the new system
This is how you waste time and money to build something that people will hate.

A better approach to system replacement

  1. Understand the job that the users are doing.  What are their goals? What are the activities they are doing to achieve those goals? How does the existing system support those activities?
  2. Design the new system to support the user's goals.  NOTE: This may have very little overlap with how the old system worked AND, I can almost guarantee, will consist of a lot less features.
But won't people be annoyed with the changes unless you match the old system?

People are annoyed if they can't achieve their goals.  This can be because they can't understand the new system model.  If you really understand what they are trying to do and why AND you involve them in the design AND you spend the time to teach people what assumptions have changed, if the new system is actually superior, people won't be annoyed.

Summary

  • People are interested in achieving goals, not in using systems
  • The existing system is unlikely to be perfectly supporting people in achieving their goals
  • Most of the existing system is probably not relevant to people achieving goals
  • Understand the user goals, not the existing system features, to design the replacement system

No comments:

Post a Comment