306 belmont ssp08agileit

28
How One Publisher Changed Its Approach to Online Development in 45 Days ADVENTURES IN AGILITY Larry M. Belmont Manager, Online Development labelmo at aip dot org Society for Scholarly Publishing 30 th Annual Meeting, Boston, MA May 30, 2008
  • date post

    19-Oct-2014
  • Category

    Documents

  • view

    148
  • download

    4

description

 

Transcript of 306 belmont ssp08agileit

How One Publisher Changed Its Approachto Online Development in 45 Days

ADVENTURESIN AGILITY

Larry M. BelmontManager, Online Developmentlabelmo at aip dot org

Society for Scholarly Publishing30th Annual Meeting, Boston, MAMay 30, 2008

About AIP• Founded in 1931 as a service organization …

– Charter: to diffuse and advance the knowledge of physics and its application to human welfare

– Service mission: to supply economy-of-scale publishing services to Member Societies

– Currently has 10 member societies, 23 affiliated societies, and several other organizations under its umbrella (most have a publishing program)

• A publisher in its own right …– 10 journals, conference proceedings, database products

• Scitation …– AIP’s online hosting platform; on the web since 1996– Aggregation of 180 publications for 25 publishing partners

About me• 27 years in publishing, all at AIP …

– 9 years in print journal production (most as a technical copy-editor)

– 3 years in desktop publication production– 15 years in electronic/online products (8 as a

manager)

• Currently an online product development manager in a business unit

• Not a programmer; more of a technical projects manager/product manager

Our goals

• Increase development speed in order to meet customer and customer constituency demands, as well as our own needs to evolve our services more regularly

• Position ourselves to innovate or deploy new features quickly in response to unpredictable “market conditions,” major paradigm shifts (like Web 2.0), or good ole competitive one-upsmanship

The enemy is us• Project (micro)management• “Perfect-plan-ism”• Fear of failure (culture of “that won’t work”)• Distributed decision-making• Monolithic release mentality• Design by committee• Disconnect from users and customers at all

but latest stages• Compartmentalization, thick-walled bizunit-

bizunit and bizunit-IT silos

From many schools of agility …• Observe – Orient – Decide – Act (Boyd’s “OODA

Loop”)• Observe – Model – Test – Reflect (Kolb’s “Learning

Model”)• Plan – Do – Check – Act (Shewhart’s “QC Cycle”)

… we stewed an “agile approach”

Agility demands the right roles• The Agile “X Organization”

– The Leader, a/k/a “Big X”– The Stakeholder– The Timekeeper– The User Advocate– The Visualizer– The Architect– The Coder– The Bulletproofer– The Tester– The Gatekeeper

What was our “Big X” like?• Did not act like a certified project manager;

more of an engager-resonator-cultivator-harmonizer

• Articulated clear intent/goal (co-signed “the contract of leadership” with the team)

• Asked the team to accomplish the goal, but did not tell them how to do it

Team attributes• Highly motivated, highly skilled• Zen-like, intuitive understanding (“feeling it”)• Mix of experienced hands, fresh POVs• Rank did not dictate leadership role(s)• Business-technology blend• Self-mobilizing at all levels• Cross-pollinating• Credibility, mutual respect, passion, trust• Subjugation of personal agendas

Team behaviors

• Highly verbal• No blame, no fear• No assumptions, projections, conceits• Dialogue over monologue• Sublimation of egos, but wide berth given to

passionate POVs• Devil’s advocacy tempers evangelism• Belief in user input and test-driven

development as primary design driver

A little inspiration• Korean War jet pilot John Boyd believed the perfect

fighter plane’s key characteristic was agility – the ability to change its energy state rapidly to move from patrol to attack mode, and for a pilot to do the same mentally to gain advantage once engaged in a dog-fight– Pilot advantage hinged on highly intuitive Observe-Orient-

Decide-Act (OODA) looping– The more agile pilot was the one who could change the

situation more quickly than his opponent could update his orientation to it (“getting inside” the enemy’s OODA loop)

– OODA grants us the ability to balance continuity and change (a pretty good definition of agility)

What do aerial warfare and projects have in common?• Shared “adversaries”

– Rapid, unanticipated changes that lead to disorientation

– An uncertain environment– Constant threats to any initiative gained– Time itself

• OODA helps in dog-fights and projects– Allows us to control the environment (esp. change)– Can help identify threats faster– Is iterative by design

OODA, cheap DC comics version

OODA, expensive O’Reilly book version

Our 1st OODA loopOODA Component What We Did

Observe Noted that 46% of Scitation user sessions started on the abstract view; began cultivating a vision that our platform was made up of 2 million article homepages where the users engaged us and one another, and where we engaged them

Orient Studied the competition, to see what they had on the abstract page that we didn’t, and what we could add quickly; ID’d customer and user wants and needs; increased Web 2.0 savvy; assigned values to deliverables

Decide Installed an agile “framework” (people, process, tools); planned a 1st iteration and an agile user testing/feedback loop

Act Implemented the 1st iteration

Thank you, sir, may I have another …

What We Did How Long We Took

Assemble the team; retool approach, applications, and presentation framework (GUI) to facilitate

“working agile”; plan version 1.537 business days

Implement version 1.5 8 business days

Plan and implement Version 1.6 20 business days

Plan and implement Version 1.7 14 business days

Plan and implement Version 1.8 10 business days

Plan and implement Version 1.9 12 business days

So, where did that speed come from?What We Do Now What We Used to Do

Prototype on paper (easy to change) Produce exhaustive Visio wireframes and workflows

Practice user-centered design Practice designer-centered design

Quick-cook requirements in social environments (wiki, basecamp)

Slow-cook requirements via multiple meetings, mockup reviews, documentation reviews

Run the project on the web and reference a 1-2-page “roadmap” and document it on virtual writeboards

Run the project via meetings, e-mail, and reference a 50-page “plan” and document it on the LAN

Test end-user functionality modularly as it’s built – and course-correct as we go

Wait until everything is hard-wired together before alpha testing

Engage key internal stakeholders and customers/users at every stage

Wait until everything is changed and re-wired together before beta testing

Never consider work really complete; continue evaluating feedback and surveying users to drive

followup iterations

Declare work done and move onto next thing without reassessing value or need to modify/optimize behavior

Our obligatory process diagram

Keys to speed: paper

• Went “retro” for planning, design, and visualization– Used index card bleachers to organize the high-level project

components– User stories were literally story-boarded– Used presentation boards and Post-Its in multiple colors like

Colorforms to arrange GUI elements – and wire-framed the results

– Used dozens of 3x5 index cards and Post-Its to map the deeper logic underlying screen flows

– Captured certain visualizations with a digital camera on the spot and posted them to the project Basecamp as a point of reference for the team

Keys to speed: new “environments”• Ergonomics, creature comforts

– Dual monitors

• Development framework– AJAX– Apache Tiles– Spry– XML

• Management framework (still playing with these)– Basecamp, JIRA (web-based project collaboration)– Jabber (IM-like messaging and conferencing)– Pbwiki, Confluence, Drupal (online documentation)– surveymonkey (online user feedback collector-analyzer)

Keys to speed: the “war room”

• Leveraged the social-ness inherent in teams• Provides an extremely high signal-to-noise ratio

Keys to speed: optimized meetings

• Daily meetings of the action team (team leaders, developers, designers)– 15 minutes or less

• Twice-weekly meetings of the entire team.– 30 minutes or less

• All other communication handled on the teamlet level, via short-burst online chat/IM or face-to-face

Keys to speed: “eating the elephant”• To build is human; to iterate, divine• Build first out of necessity, and then iterate

aggressively to grant user flexibility, comfort, and – if desired – luxury:– Dirt track single-lane cobblestone road two-

lane asphalt road Autobahn

• Start with one “story,” and then …– Rewrite it– Rewrite it again (embrace “change”)– And (possibly) again

Our agile “mythology” scorecard

“Agile Myths” We Confirmed “Agile Myths” We Debunked

People first, then methodology, then tools – the best route from fragile to agile for us

Agility is just for programmers

OODA worked (though no one explictly knew it was OODA)

Agility is a silver bullet

“Fail fast” or “fail early and often” is a speed-enhancing attribute; “gotta build it to break it” (best to break it sooner)

Agility requires no discipline

User stories and personae were critical to getting at REAL functionality with VALUE

Agility means “perpetual beta”

How we plan to stay agile

• “A good plan … executed now is better than a perfect plan executed next week”

It’s alive!• Project your agility – allow the public/users/potential

partners to look behind the curtain at select products way before even “soft” launches:– Allow them into your “Labs”/“Skunkworks” – virtual

sandboxes for new, experimental, or evolving features– Introduce the proposed alongside the old, and let the

users compare

Thanks!

AIPAgility in Practice

Learn more at http://www.aip.org

The director’s cut of this presentation is availableat http://www.slideshare.net/secret/1hFBfq9FGEZEAj

CREDIT WHERE IT’S DUERedrawn version of John Boyd's OODA Loop by Patrick E. Moran. Agile Lifecycle and other diagrams, courtesy Scott W. Ambler, Javapolis.A lifetime of project-management inspiration via http://www.lessons-from-history.com/Other images and sound bytes from the Great Internet Hard Drive.