Title: 1. What does agile mean?
1(No Transcript)
2Obstacles to Agility
- 1. What does agile mean?
- 2. What keeps us from being agile?
- 3. What can we do about this?
- Total of 25 slides
3What does agile mean?
- Per the Agile Manifesto, 2001
- Software is developed in short time-boxes
(iterations). - Each iteration results in functioning build.
- The team values real time communication over
documentation. - The team--including programmers and subject
matter experts--is collocated. - Progress is measured in working software.
4What does agile look like?
- Your development plan/task list is in short,
1-to-4 week iterations. A project is made up of
many iterations. - At the end of each one, you generate a
functioning build, creating prototypes whenever
possible. - Also at the end of each iteration, you identify
what can be done in the next cycle. - Your team includes a subject matter expert.
- You work closely with your teammates, holding
brief, stand-up meetings often. - You measure progress with complete iterations.
5Why bother?
- Short answer
- To solve problems for your usersmore quickly and
more frequently. - Its also an exciting way to work
6Is this important?
- Our users expect simplicity and immediate reward
and Amazon, Google, and iTunes are the standards
against which we are judged. - University of California Libraries Bibliographic
Services Task Force, Dec. 2005 - Academic libraries might just have a window of
opportunity to leap into a future where we add
value to our institutions in ways we've never
imagined before or are only beginning to
envision. But that window may already be in the
process of slamming shut. - Roy Tennant, Library Journal, Dec. 2006
7Sowhat keeps us from agility?
- Academic culture our dear customers themselves!
- Project management practices
- Institutional hiring processes
- Our own work practices
8Academic culture
- Academic culture a non-participatory democracy
- Individuals do not want to be involved but do
want veto power. - Individuals do not want to be represented by
anyone else. They want a voice. Or not.
9Academic culture
- What this means
- It can be difficultif not impossibleto identify
a small number of subject matter experts who can
represent the customer base at large. - Project teams end up working with large
committees of users. Committees of committees
10What keeps us from agility?
- Aspects of academic culture
- Project management practices how we run things!
- Institutional hiring processes
- Our own work practices
11Project management practices
- Projects typically do not have a single
individual or committee that takes ownership
responsibility for the projects outcome. - Major project decisions often require input from
a very diffuse decision-making structure. - Projects are allowed to drag on for years,
sucking life from all surrounding beings.
12Project management practices
- What this means
- Because no single entity can adjudicate conflicts
over requirements, schedule, or funding, many
players must be consulted. Time passes. Then,
more time passes. - Individual team members have the life sucked out
of them. - By the time it is delivered, the solution is out
of date.
13What keeps us from agility?
- Aspects of academic culture
- Project management practices
- Hiring processesat the beloved institutions
where we work! - Our own work practices
14Hiring processes
- Hiring processes and systems built for the
academic job market are a bad fit for the
technology market. - Many months elapse between the identification of
a staffing need and the start date of a new
employee. - Some shops dont even have administrative control
over their own openings. - Grant-funded staff members cant be moved around
as project work might require.
15Hiring processes
- What this means
- Project teams are not able to get help when and
where they need it. - Projects are slowed schedules are warped to
less-than-optimal configurations.
16What keeps us from agility?
- Aspects of academic culture
- Project management practices
- Institutional hiring processes
- Work practices time to look in the mirror
17Work practices
- We value space and privacy over team collocation.
- We dont want to share work in progress.
- We arent practiced in estimating how long it
will take to accomplish project tasks. - We measure progress, well how do we measure
progress? Do we measure progress?
18Work practices
- What this means
- We lose time communicating/coordinating with
people in other locations. - We aim for perfection before getting feedback.
- We cant reliably predict what we can get done in
the next time block. - We may not be working on what our customers
want/expect.
19What can we do about this?
- 1. Start small
- 2. with a new project
- 3. and introduce it as a pilot.
20What can we do about Academic culture
- Create a project Steering Committee/Advisory
Council, with representatives from the
stakeholding committees. Establish the group
expectation of decision-making. - Identify a subject matter expert to serve as a
user representative on the team. Give this person
a meaningful role. - Use the Pilot Project label to encourage
adoption of the new approach.
21What can we do about Project management
- Identify a time-to-market goal, and review
progress toward this goal at the close of each
iteration. - Implement first versions (with 80 of
functionality) quicklyin a few weeks or months. - Automate well-understood processes first.
- Empower user representative as decision-makers.
- Aim for functionality, not perfection.
22What can we do about Hiring Staffing
- No quick fix, so adopt a work-around strategy
- Look for trade possibilities with other tech
shops in your university system (salary
transfer) - Establish standing relationships with contracting
agencies - Use independent contractors.
- Assign temporary workers to production support
activities, freeing up employees to do the cool
(agile) work.
23What can we do about Work practices
- Learn about and practice
- agile programming techniques.
Graphic from www.plunge.in
24A few resources
- The Agile Alliance http//www.agilealliance.org/
- Extreme Programming http//www.extremeprogramming
.org - Scrum http//www.controlchaos.com
- Dynamic Systems Development Model
http//www.dsdm.org
25Questions?