Being Agile, Being Good Stephanie Troeth Paris Web, 2009
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 ✦
Meeting point: agile & quality
“Agile” is not a single solution, but is a group of software development methodologies that share the same core principles.
An Agile Approach — “Agile Estimating & Planning”, Mike Cohn
Work as a team.
Work in short iterations.
Deliver something each iteration.
Focus on business priorities.
Inspect & adapt.
Compared to the familiar waterfall: less documentation less “fixed” process less (long term) planning = perceived chaos
The philosophy behind agile is that you never start with a perfect plan.
It is a method for dealing with the unknown, and to use new knowledge to guide ongoing work.
Quality: what is it?
It is easy to think that quality results from a process.
It is easy to think that quality results from a process. people
“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
“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.
Quality is relative.
what is valuable to me != what is valuable to you.
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.
So how does a team define quality, if we all have different and often contradictory ideas of “what is good”?
1. The Stealth Method: Foster a strong team culture that thirsts for quality.
Understand what each other needs to succeed...
... so each of us can take pride in what we do.
Pride is a big motivator.
2) The Measurable Method: Instill a quality vision as a belief system.
A belief system is stronger than any process.
Empower members in your team. Enable them to decide what is the right thing to do.
A quality vision definition: ✦ generic enough so that it can be interpreted in each context ✦ specific enough so it contains a clear vision
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
An example of a quality vision We want our product to be usable, easy and delightful to use for our target audience.
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.
Hire wisely.
Tips, tricks & (some) techniques
Use user stories As a user I would like to see the history of a page so I can work out who did what.
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
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
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!
Trick: Document only as needed, especially decisions.
Estimation & planning
Method #1: Relative story points
Assign relative points to each story. As time progresses, you get a better idea of your burn rate based on your team’s velocity.
Assign relative points to each story. As time progresses, you get a better idea of your burn rate based on your team’s velocity.
Method #2: The 4-hour bucket model.
Split your stories so that they fit in an approximate half-day slot. Some will be bigger, some smaller, but eventually they balance out.
Trick: Let your team own the task of estimating.
Evaluate: are we too optimistic or too pessimistic? Rinse & repeat.
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
Agile methodology states: everything happens in the same iteration.
But as a designer or a UX specialist, what do you need to succeed?
Designers need time to research, and to synthesise product and visual design.
Trick: “Work ahead & follow behind” — #4, “12 emerging best practices for adding UX to agile development”, Jeff Patton
Quality Assurance
There’s no magic: Make time to care.
Employ test-driven design and development.
Method #1: Hire a QA person or team.
Method #2: Set aside QA and refactoring days.
Trick: Keep, reuse and add to a comprehensive list of all use cases or user stories that must pass before each release.
Quality doesn’t need to be assured, it needs to be cultivated.
Why do we insist on quantifying quality?
Good work comes from good habits.
A vision that allow your team members to judge critically is more powerful than any process.
Identify accountability.
Identify what each other need in order to succeed.
The agile approach encourages good habits but it’s up to your team to decide what you collectively want to be.
Empower your team.
Give each other a sense of pride.
What do monkeys, a banana, and a web team have in common?
Quality should be the way that it has always been done.
Thank you! Questions? Stephanie Troeth stephanietroeth.com hello@stephanietroeth.com http://www.slideshare.net/stephtroeth/presentations bookoven.com
With thanks http://www.flickr.com/photos/dariuszka/264054626/ http://www.flickr.com/photos/johncarleton/16083172/ http://www.flickr.com/photos/32912172@N00/3369828460/ http://www.flickr.com/photos/cryztalvisions/343309195/ http://www.flickr.com/photos/mostudio/2384804297/ http://www.flickr.com/photos/mknott/3642179597/ http://www.flickr.com/photos/66164549@N00/2789668253/ http://www.flickr.com/photos/boojee/29777131/ http://www.flickr.com/photos/72213316@N00/3570803663/ http://www.flickr.com/photos/telstar/3174467026/ http://www.flickr.com/photos/76283671@N00/184612846/ http://www.flickr.com/photos/psd/3731275681/ http://www.flickr.com/photos/totalaldo/ http://www.flickr.com/photos/sfllaw/302647234/
Recommend
More recommend