2. Stephanie Troeth
co-founder/CTO, Book Oven
Previously:
✦ UX consultant and mercenary
product manager for startups
✦ Director of Interactive Technology
at an agency
What I don’t get paid for:
✦ Web Standards Project (WaSP)
member since 2002
✦ WaSP InterAct
✦ Open Web Education Alliance
15. It is easy to think that quality
results from a process.
16. It is easy to think that quality
results from a process.
people
17. “The best teams didn’t have a methodology
or dogma they followed.
The struggling teams often tried following
a methodology, without success. [...]
The best teams all focused on increasing
the techniques and tricks for each team
member.”
— Jared Spool & User Interface Engineering
http://www.slideshare.net/jmspool/journey-to-the-center-of-design
18. “But if Quality and excellence is
seen as the ultimate reality then
it becomes possible for more
than one set of truths to exist.”
— “Lila”, Robert M. Pirsig.
21. Apply this to a team scenario:
what a designer deems as quality !=
what a developer deems as quality !=
what a project manager deems as quality ...
etc.
22. So how does a team define
quality, if we all have different
and often contradictory ideas of
“what is good”?
23. 1. The Stealth Method:
Foster a strong team culture that thirsts
for quality.
29. Empower members in your team.
Enable them to decide what is the
right thing to do.
30. A quality vision definition:
✦ generic enough so that it can be
interpreted in each context
✦ specific enough so it contains a
clear vision
31. An example of a quality
vision
90% of sites we produce should be
✦ accessible ✦ robust
✦ aesthetic ✦ secure
✦ usable ✦ cost-effective
✦ measurable ✦ scalable
✦ findable ✦ refactorable
✦ interoperable ✦ valuable
✦ relevant
32. An example of a quality
vision
We want our product to be usable,
easy and delightful to use for our
target audience.
33. Use a quality vision to decide:
✦ what level of training all team members need
✦ what level of work is globally expected from them
✦ enable them to decide the right thing to do.
36. Use user stories
As a user I would like
to see the history of a
page so I can work out
who did what.
37. A user story with
acceptance test cases:
“A user can pay for access with a credit card.”
✦ Test with Visa, MasterCard and American Express.
✦ Test with Diner’s Club.
✦ Test with good, bad and missing card ID numbers
✦ Test with expired cards.
✦ Test with different purchase amounts (including
one over the card’s limit).
— “User Stories Applied”, Mike Cohn
38. User stories:
✦ provide a user-oriented approach to defining
requirements
✦ break the task of building into estimable chunks
✦ facilitate a discussion about what we’re building
✦ make it easy to prioritize what’s important to
build
39. User stories:
✦ allow team members to interpret requirements
✦ allow team individuals to take ownership of the
solution
✦ are testable
✦ means no more 200+ pages of specifications!
47. Evaluate: are we too optimistic
or too pessimistic?
Rinse & repeat.
48. Design & User Experience
— “12 emerging best practices for adding UX to agile development”, Jeff Patton
http://agileproductdesign.com/blog/emerging_best_agile_ux_practice.html
* survey of the room - who knows what agile is? anyone using agile now? who is wanting to be using agile methods? who likes/hates it? who doesn’t know what agile is?
So, there&#x2019;s a reason and inspiration for this talk. Last year at <head> in London , I did a &#x201C;conversation&#x201D; with Ann McMeekin on practical ways to implement accessibility in a development process. And Gavin Bell from Nature Publishing Group asked me (not these exact words) &#x201C;how do you ensure quality in a development process? how do you make sure things like copy is correct, and things behave according to spec?&#x201D;
I gave some kind of answer about managing quality assurance (QA), but I wasn&#x2019;t confident. It&#x2019;s a fascinating question. It&#x2019;s taken me the whole year to think about it.
And I thought I&#x2019;d share my ideas with you today, here at Paris Web.
This is a fascinating question: is the problem with the process, or the team? Is it something else?
* survey of the room - who knows what agile is? anyone using agile now? who is wanting to be using agile methods? who likes/hates it? who doesn&#x2019;t know what agile is?
So, there&#x2019;s a reason and inspiration for this talk. Last year at <head> in London , I did a &#x201C;conversation&#x201D; with Ann McMeekin on practical ways to implement accessibility in a development process. And Gavin Bell from Nature Publishing Group asked me (not these exact words) &#x201C;how do you ensure quality in a development process? how do you make sure things like copy is correct, and things behave according to spec?&#x201D;
I gave some kind of answer about managing quality assurance (QA), but I wasn&#x2019;t confident. It&#x2019;s a fascinating question. It&#x2019;s taken me the whole year to think about it.
And I thought I&#x2019;d share my ideas with you today, here at Paris Web.
This is a fascinating question: is the problem with the process, or the team? Is it something else?
two foundations for our discussion today: agile & quality
looking for a meeting point between quality and agility
I&#x2019;m going to start with talking about agile, then we move on to quality, then we mash up the two and see where we end up.
Even if you&#x2019;re not doing agile -- I think you will benefit from this discussion, as many things I say about quality apply in many circumstances.
agile: used a lot by big companies + startups, very little in between.
Mike Cohn builds upon the four principles of the Agile manifesto, and gives us 5 ways that agile teams work together.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Everyone collaborates. No throwing over the wall at one another. no hot potato games.
product owner, customer roles, developer, project manager.
No grand delineation of phases
all work happens concurrently.
Iterations are timeboxed.
During the iteration, they transform one or more imprecise requirements statements into coded, tested, potentially shippable software. Iterations are not releases- a release may be one or two iterations.
deliver features according to biz priority
focus on user-valued features rather than completing isolated tasks.
Not all projects are suited to agile.
Yesterday Florent & Benjamin talked about quality in web application design.
Problem is, design leads to implementation. It&#x2019;s interesting to speak about quality in a more general sense -- because a design alone doesn&#x2019;t necessarily get implemented to spec the moment it leaves your photoshop file.
Then one doesn&#x2019;t seek the absolute &#x201C;Truth&#x201D;. One seeks instead the highest quality intellectual explanation of things with the knowledge that if the past is any guide to the future, this explanation must be taken provisionally, as useful until something better comes along.
when you think about it like this, you can realise, it&#x2019;s not just about the process.
the process is what supports the vision.
the quality vision must exist.
How do we bring a team to agree on what is good?
how to do this as a team lead
how to do this as a team player
understand the motivation of your team members
look at how each of them need to succeed
people who do the best job are the ones who take pride in their work.
how do you give them pride?
by giving them room to creatively solve the problems they are experts in.
but making sure they have what they need to get their job done.
how do you define quality for everyone in your team?
you want your team to know what is the right thing do before they have to truly think about it.
you want your team to know what is the right thing do before they have to truly think about it. For example, there are communication issues. Typically communication issues come from not knowing who is the right person to communicate to, what and why.
Provide realistic goals, maybe even goals in stages for your team.
Provide realistic goals, maybe even goals in stages for your team.
* the idea is to let them decide themselves, when they are faced with a question, without coming to ask you.
I can&#x2019;t emphasise this enough. Building a team is like building a house. you want to build with strong materials to strengthen the team, not to weaken it.
Yesterday we spoke about how hard it is to find people with skills.
But we tend to hire on skills, not aptitude. Skills can be acquired, personality -- not likely changed.
Trick: line up 2 seniors with one junior, train up the juniors. Hire them for their enthusiasm, energy, and their love of learning. Skills are easy - skills they can learn.
use these as requirements that feed into everything.
allow flexible interpretations, provided the requirement is met.
document all decisions/changes.
use these as requirements that feed into everything.
allow flexible interpretations, provided the requirement is met.
document all decisions/changes.
use these as requirements that feed into everything.
allow flexible interpretations, provided the requirement is met.
document all decisions/changes.
use these as requirements that feed into everything.
allow flexible interpretations, provided the requirement is met.
document all decisions/changes.
use these as requirements that feed into everything.
allow flexible interpretations, provided the requirement is met.
document all decisions/changes.
estimating the age of the universe
Make time for everyone to care about the quality of their work (and make it their responsibility).