From Cobbled To Agile: Re-Engineering Library IT Joan A. Smith,
PhD Emory University
Slide 2
Why we did it Library IT Division Cobbled Together Created
piecemeal over 15+ years Technology dumping ground ILS + Desktop
Support + Grant Projects + Webs + System Administration + Anything
Involving a Computer Mixed Staffing Situation Regular Staff +
Faculty + Contract Staff + Undergrad Students + Grad Students
Capacity questions Project costs, capacity, impact unknown &
unmeasured Few staff + lots of projects = prioritization crisis
10/03/20102Emory University
Slide 3
Back Then... 10/03/2010 A Multitude of Projects HodgePodge
Group A Variety of Staff & Skills If its computing, it belongs
in IT!.......No Capacity Planning.......
Slide 4
What was needed Comprehensive Operational Vision Professional
Staffing Plan Capacity and Cost Measurements Performance Metrics In
other words: A Business Model 10/03/20104Emory University
Slide 5
Comprehensive Operational Vision Clear mission statement why
were in business who we serve Defined tech stack primary tools for
doing our job skill levels expected University-IT role vs.
Library-IT role Service redundancy = wasted money Focus on
appropriate market share Utilize economies of scale 10/03/2010Emory
University5
Slide 6
Professional Staffing Plan Classic, industry-based model
Technical Project Managers Software Developers System
Administrators Sustainable project staffing Post-grant maintenance
& updates Common tech stack Professional development &
mentoring Junior, intermediate, senior levels of expertise
Code/Project/System Reviews for coaching Training materials,
conferences, info-forums 10/03/2010Emory University6
Slide 7
Capacity and Cost Measurements How long to get X done? Will it
be on time (% probability)? How many people to get X delivered?
What is complexity level of project X? How soon can we start on new
project Z? 10/03/2010Emory University7
Slide 8
Performance Metrics Measure Planned Effort Time:
Planning/Development/Deployment Cost:
Planning/Development/Deployment Support Costs (software, security
patches, e.g.) Measure Actual Times/Costs & Compare Refine the
Estimating Process Play It Again, Sam Keep Track of Grant &
Matching Funding Dont exceed matching unnecessarily Track accuracy
of plan against real expenses incurred 10/03/2010Emory
University8
Slide 9
PlanExecute Measure Rinse & Repeat* How we do it
10/03/20109Emory University *Continuous improvement!
Slide 10
Plan List Product Requirements Divide Into Tasks Estimate Time
to Complete Each Task Estimate Resource Needs Organize Tasks Into
Iterations 10/03/201010Emory University
Slide 11
Execute Start End Task 1 Start End Task 2 Start End Task 3
10/03/201011Emory University Begin: Iteration #1 End: Iteration
#1
Slide 12
Measure Estimate Velocity Adjust for incomplete tasks Add in
any unforeseen tasking Calculate time per staff member per task Add
up hours on all tasks 10/03/201012Emory University
Slide 13
Rinse & Repeat Compare Actual vs. Planned Adjust Next
Iteration Task Plans 10/03/201013Emory University
Slide 14
Timeline: 2 Years & Counting Practice Planning Begin
Metrics Collection Organize Teams Planning Tools Measurement Tools
Refine Tools Project Process Estimation Methods Refine Process
10/03/201014Emory University 8 months12 months20 months
Slide 15
Light-Weight Tools For Agile Teams Project Planning Tools
Web-Based Proposal Form Dashboard Process Tools Scrums (Cork Board
+ Index Cards) Iteration Planning Meetings Web-Enabled Process
Management Task Tracking Tools TRAC (http://trac.edgewall.org/
)http://trac.edgewall.org/ Time-Tracking Tools ActiTime
(http://www.actitime.com/ )http://www.actitime.com/ Measurement
Tools dWrangler Velocity Estimating Evaluation Tools RAP Sheets
Iteration Reports 10/03/2010Emory University15 Home-Grown &
Open-Source Note: Screenshots on next slides for reference during
live tools demo
Slide 16
Project Planning Tools (1) 10/03/2010Emory University16 All
projects require a proposal Simple Fast (mostly)
Slide 17
Project Planning Tools (2) Web-Based Consistent Quick Status
10/03/2010Emory University17
Slide 18
Project Planning Tools (3) 10/03/2010Emory University18
Dashboard tracks all projects and status phase
Slide 19
Process Tools (1) Several tools involved Coordination via
Dashboard: 10/03/2010Emory University19
Slide 20
Process Tools (2) 10/03/2010Emory University20 Yes, it is
analog on purpose
Slide 21
Process Tools (3) Web-Enabled Process Management
10/03/2010Emory University21 Everyone contributes
Slide 22
Task-Tracking Tools (1) Staff use TRAC to manage tasks Note
wiki comment option SVN data noted, too This is a single task
ticket Change history clarifies Attachments optional
10/03/2010Emory University22
Slide 23
Task-Tracking Tools (2) Project-oriented view of tasks Note
break-down of User Stories into individual tasks Also note
Milestone headline 10/03/2010Emory University23
Slide 24
Task-Tracking Tools (3) Timeline for a project one of many
views 10/03/2010Emory University24
Slide 25
Task-Tracking Tools (4) 10/03/2010Emory University25 And there
is the usual SVN repository
Slide 26
Time-Tracking Tools (1) Staff enter project time daily (well,
they try) 10/03/2010Emory University26
Slide 27
Time-Tracking Tools (2) Example Report: Total time for each of
our projects 10/03/2010Emory University27
Slide 28
Time-Tracking Tools (3) Custom reports available
10/03/2010Emory University28
Slide 29
Measurement Tools (1) TRAC & ActiTime hooked into our
metric tools dWrangler is a home-grown product built with Django
10/03/2010Emory University29
Slide 30
Measurement Tools (2) 10/03/2010Emory University30 Velocity
estimates enable capacity planning Points Open tracked for each
project Points Completed tracked for each project Velocity = Points
Completed Per Iteration
Slide 31
Evaluation Tools (1) 10/03/2010Emory University31 Monthly RAP
Sheets (Report on Resources, Activities, Plans) BRIEF summary of
project Discussion points for managers
Slide 32
Evaluation Tools (2) 10/03/2010Emory University32 Iteration
Meetings & In-Meeting Report Written while in the meeting Focus
on continuous improvement
Slide 33
Lessons Learned One step at a time Organize the teams Conduct
trial-runs for ~ 3 months Set a go live date Training, training,
training All members need to understand the Process No blame, just
gain: incremental improvements Requires (mostly) disciplined
behavior by all team members Measure, predict, measure again Refine
the estimates with actual performance data Teams improve; measure
again 10/03/201033Emory University
Slide 34
Agile Manifesto (http://agilemanifesto.org/
)http://agilemanifesto.org/ We are uncovering better ways of
developing software by doing it and helping others do it. Through
this work we have come to value: Individuals and interactions over
processes and tools Working software over comprehensive
documentation Customer collaboration over contract negotiation
Responding to change over following a plan That is, while there is
value in the items on the right, we value the items on the left
more. 10/03/2010Emory University34
Slide 35
From Cobbled To Agile Agile is a journey, not a destination
Still refining our tools, teams, processes Some projects need more
planning than usual for Agile projects Too frequent changes can
affect hard deadlines User stories dont work for System
Administration tasks Some projects are more about configuration and
deployment than software development Agile doesnt work for all
projects, all roles, across all teams Underlying concepts are sound
for estimating team capacity Keep what works, refine/replace/remove
what does not 10/03/201035Emory University -ish
Slide 36
Questions? Feedback and Comments are welcome Thanks for
attending Contact me: [email protected] 10/03/201036Emory
University