so… tell me what you want, what you really really want · •sometimes because we just let the...

28
So… Tell me what you want, what you really really want Designing solutions for users

Upload: others

Post on 05-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

So… Tell me what you want, what you really really want

Designing solutions for users

Page 2: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

My name is…

• Axiell/KE software employee for 10 years.• Our clients are often heavily involved in the project design

process.• How do we work together to do this better?• NOT here to talk about formal Business Analysis practices• AM here to talk about some things I’ve learned through

many years of implementing projects

Page 3: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Virtual Insanity• A typical day in support:• You get a support ticket about a functionality unique to a

client.• Once you start digging, you start finding all sorts of crazy

things…• There’s an also search hard-coded in the client code; • There’s backend validation hidden in multiple Texpress

fields that have to run in the correct order;• There’s a developer comment that says “I don’t know why

they’re doing this!”

Page 4: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

I want it that way…

• Sometimes it’s just easier to give the users exactly what they’ve asked for, even if it doesn’t really make sense.

A recent data mapping example: • Legacy system had two tables

• Overdue• SoonOverdue

• If a permits record had a date that was past due, some information would be copied into the Overdue table.

• Dates in the coming week would be copied to the SoonOverdue table.

Page 5: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

You oughta know!

• But we should know better…• These tables were part of a workaround that allowed them to pull

reports on those permits.• What they really needed was a way to search the dates in the

permits table.• All they needed was an Adlib access point!

Page 6: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

You are not alone

• Clients give Axiell the starting designs for our projects.

Clients

• Axiell Sales staff have to do analysis before recommending a solution.

Sales

• Project implementation staff should be on the lookout for bad designs before they build them!

Project Implementation

• Support staff are the front line for hearing about client issues and need to decide how to solve them.

Support

Page 7: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

This is how we do it…

The Way• Things to ask

before the design.

I don’t wannamiss a thing• Making sure the

design will work.

Hold on• These might be

red flags.

Page 8: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

The way

Why do you want to do this?

•Overdues table

Who is going to use this?

•"Emu Lite"

Where are the users located?

•Exhibits IMu

Does it already exist?

• Inventory tool

Page 9: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

The way: Why do you want to do this?

• Get an idea of what the real-world workflow will look like.• Sanity check• A complicated workflow might have started out as a workaround.• Eg. Overdues table

Page 10: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

The way: Who is going to use this?

• Super users are going to have very different needs from interns.• For a heavy database user, we can get away with more powerful but

more complicated tools.• Eg. Scheduled Imports

• A casual user might only need a read-only interface, but likely doesn’t have time to go through a full EMu training course.

• “EMu lite” web interface

Page 11: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

The way: Where are the users located?

• Remote vs. local users• Web solution• Remote desktop or Citrix

• Exhibits project• Contracted off-site exhibit designers• Required building out an IMu interface

Page 12: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

The way: Does it already exist?

• It might exist in terms of technical structure or in topic.• Or both…

• Inventory tool• Requirements almost exactly mirrored a project done by a museum

in the UK.

Page 13: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

I don’t wanna miss a thing

•Video circulation tableDoes it “flow”?

•Newspapers websiteIs it scalable?

•Requests moduleIs it searchable?

•Licensing moduleIs it reportable?

Page 14: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

I don’t wanna miss a thing: Does it flow?

• Consider how the users will be using the system.• If you’re always entering data off a standard paper form, you don’t

want to be jumping between tabs to do it.

• Video circulation table, with fields like “borrower” and “date”, suggesting a loans table.

• But the workflow suggested Axiell Move instead.

Page 15: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

I don’t wanna miss a thing: Is it scalable?

• Sometimes things that work on a few records don’t work so well at full scale.

• This is a common problem, and one that we often don’t catch until very late in a project.

• Newspapers website was tested on 200 records and worked great.• In production with the full 500k records, it fell apart spectacularly.

Page 16: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

I don’t wanna miss a thing: Is it searchable?

• What searches need to be done can influence a design.• Some data structures are more difficult to get relevant data out of.• In Adlib, having the right access points will reduce confusion.

• Default EMu Tasks fields are not searchable by person.• Wanted: Daily tasks list from EMu.• We put it in a new module.

Page 17: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

I don’t wanna miss a thing: Is it reportable?

• Similarly, sometimes fields aren’t easily reportable.• It’s difficult to report on fields embedded in tables or nested tables.

• Licensing module• Early design: sources and objects table fields attached to a single

license request record.• Separate “layer” of records divided by source to make this easier.

Page 18: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Hold on

Nested tables

Saving data in a different

module

Heavy fifo/audit

use

Large embedded

tablesMany

records Hierarchies

Page 19: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Hold on: Nested tables

• EMu nested tables are a lot of work• In addition, they can’t be used easily in reports• They also have issues in Sapphire.

Page 20: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Hold on: Saving data in a different module

• Normal attachment fields are fine• It’s possible to save fields from a client module to a different

backend table.• But, it usually requires a fair amount of code to pull this off,

something we want to avoid if possible.• Mo code, mo problems.

Page 21: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Hold on: Heavy fifo or audit use

• The fifo and audit processes allow us to run significant code at save time.

• But existing processes depend on these jobs finishing quickly.• Small tasks are okay.• More involved code should be triggered from a new load or run as a

time job in cron.

Page 22: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Hold on: Large embedded tables

• A large embedded table can be a sign that the data should be pulled out into a separate module.

• Difficult to search/report on

Page 23: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Hold on: Many records

• Original assumption: 15 - 20 attached records.• Actual use case: 5000 attached records.• Other problems.• Result: new project to fix the last one.

Page 24: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Hold on: Hierarchies

• Are often big and slow.• Difficult to avoid, especially in archives.

• Some solutions:• Only load data as needed• Break up hierarchies

Page 25: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Baby got back

• If it isn’t working out, go back and try again.

• Implementation is the shortest part of a product lifecycle.

• It’s worth it to do it right.

0 5 10 15 20

Project

Time spent in:

Concept Implementation Use

Page 26: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Baby, one more time• We should pay more attention to building things that make sense.My Name Is…• Because things that don’t make sense happen all the time.Virtual Insanity• Sometimes because we just let the client do whatever they want.I Want It That Way• Even though we know better.You Oughta Know• Don’t worry, we all do it. And we can all make it better.You Are Not Alone• Here are some things we should be paying attention to:This Is How We Do It• How a product will be fundamentally used,The Way• Other considerations that could affect the design,I Don’t Wanna Miss a Thing• And some things that should make you stop and think.Hold On• Finally, don’t be afraid to revisit something if it’s not working out.Baby Got Back

Page 27: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Semi-charmed life

Less rework

Increase maintainability

Better results for clients

Page 28: So… Tell me what you want, what you really really want · •Sometimes because we just let the client do whatever they want. You Oughta Know •Even though we know better. You Are

Discussion

• Tell us about something that we should consider when designing a project.

• Tell us about a project design that had to be changed later in the project. Why? Could you have foreseen it?

• Tell us about a time that you changed a design from what the users wanted. Why did you do it, and how did it work out?