Your SlideShare is downloading. ×
0
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Agile for digital library projects
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Agile for digital library projects

532

Published on

Some Agile Practices In Use for Library OSS and Stanford projects. A lively discussion ensued.

Some Agile Practices In Use for Library OSS and Stanford projects. A lively discussion ensued.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
532
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Agile
Methodology,

 
 
Innovation,
and
Quality
 Naomi
Dushay


(on
behalf
of
Bess
Sadler)
 
 Tom
Cramer
 Jessie
Keck
 
 Stanford
University

  • 2. (Some
of
our)
Goals
 Sustainability
/
Supportability
 Adaptability
to
local
needs
 InnovaDon
and
rapid
development


  • 3. Problem:




$$$
to
grow
your
own
Developing
Local
SoGware
is
Expensive:
•  Elapsed
Time
•  Developer
Cycles
•  Sustainability
 •  Single
point
of
failure?
Buying
from
Vendor
also
$$$

  • 4. Solution:





open
source
software
•  start
with
exisDng
funcDonality
•  benefit
from
others’
 •  conDnuing
work
 •  ideas
•  spread
risk
across
mulDple
insDtuDons,
 mulDple
developers

  • 5. Problem:









local
idiosyncrasies
 Available:
 Want:

  • 6. Solution:


















localize
OSS
 OSS
 Localized

  • 7. Problem:






upgrading
local
code
 OSS
Code
 Version
1
 Version
2
 Version
3
 ???
 ???
 Site
1
 Site
2
 Site
3

  • 8. Solution:

















local
overrides
 Version
1
 Version
2
 Version
3
 Site1
 Site2
 Site3

  • 9. Problem:



integrating
new
functionality
 Date
Range
Limit
 Advanced
Search

  • 10. Solution:






plugin
architecture
 Advanced

 Range

 Search
 Limit

  • 11. Problem:



distributed
developers

  • 12. Solution:












realtime
contact
 Weekly
check‐ins
 As
need
arises
Face‐to‐Face
!!!

  • 13. Problem:









developer
distrust
 Their
stuff
is
 I
hate
his
 always
buggy
 code
 I
could
do
 If
I
had
 this
faster
 Dme
…
 myself

  • 14. Solution:

good
development
practice
 Automat(able/ed)
tests
 ConDnuous
IntegraDon
   AutomaDc
NoDficaDons
 Code
Coverage
Data
 Transparency
 DocumentaDon
Coverage
Data

  • 15. Solution:





no
code
without
tests

  • 16. Solution:


test
coverage
transparency

  • 17. Solution:







automated
test
runs

  • 18. Solution:






test
result
transparency

  • 19. Solution:


auto
change
notification

  • 20. Solution:






change
transparency

  • 21. Solution:









public
shared
code

  • 22. Solution:












doc
transparency

  • 23. Problem:







endless
discussion
 I
think
you
 Is
this
 should
do
it
 approach
okay
 this
way

 w
folks?
 No,
this
 other
 way

  • 24. Solution:







working
code
wins
 I’m
going
to
 SuggesDon
 do
this
 SuggesDon

  • 25. Quote
by
??
 “When
I
see
you

 working
together,

 it’s
like
you’re
all

 on
the
same
team.”

  • 26. Problem:








too
many
meetings

  • 27. Solution:





developer
happy
hours

  • 28. Solution:





dead
week

  • 29. Problem:










competing
priorities

  • 30. Solution:








iteration
planning
Backlog
 Now

  • 31. Solution:


















SMART
goals
 •  Specific
 •  Measurable
 •  Achievable
 •  RealisDc
 •  Timely

  • 32. Problem:


















lack
of
focus
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature

  • 33. Solution:








focused
iterations
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
 Feature
Feature
 Feature
 Feature
 Backlog
 Now

  • 34. Solution:

max
2
projects/developer
Who
 Project
1
 Project
2
Naomi
Dushay
 SearchWorks
‐
MHLD
 HypaDa
‐
Demo
Jessie
Keck
 HypaDa
‐
Demo
 SearchWorks
‐
 MHLD
Jon
Lavigne
 Heritrix
Web
crawl
 Page
Req
Forms
Willy
Mene
 DOR
 Lyberservices
Michael
Klein
 Argo
‐
x
 (Shark
Dirigible)

  • 35. Problem:





lack
of
visible
progress



  • 36. Solution:









short
iterations
 1
week

or
 Short
is:
 2
weeks

or
 1
month


or
…

  • 37. Solution:





good
communication
•  Regular
meeDngs
•  Email
list
•  Wikis
•  Tracking
system
(e.g.
JIRA)

  • 38. Solution:







planned
work
is
public

  • 39. Solution:















progress
is
public

  • 40. Problem:
sharing
knowledge
locally
 I
wonder
if
 someone
 Eh,
I’ll
just
 can
help
 figure
it
out

  • 41. Solution:












open
sight
lines
 Hey
Willy:
 Have
a
sec?
 Jessie,
can
 you
look
at
 this?

  • 42. Solution:











non‐developers,
too
 Lynn,
is
this
 what
you
 meant?
 Jennifer,
your
 design
is
tough
to
 program,
can
we
 modify
it?

  • 43. Problem:




unhappy
“customers”
 But
I
 This
isn’t
 implemented
 what
I
asked
 the
spec
 for
 I
didn’t
realize
it
 would
look
like
this

  • 44. Solution:










collaborative
design

  • 45. Solution:










Behavior
Driven
Dev
When
I
am
on
the
search
results
page
Then
id
867
should
be
before
567
And
if
I
select
“Dtle”
from
the
search
pulldown
Then
id
567
should
be
before
867
It
should
…

  • 46. Problem:





need
stable
test
data
 Tests
keep
failing
 because
the
data
 keeps
changing

  • 47. Solution:

mocks,
stubs,
fixtures
Fixtures:


data
for
tests

Mocks:

I
don’t
need
an
actual
object,
just
a

placeholder
with
a
lijle
bit
of
the
informaDon

Stubs:


I
know
I’m
gonna
call
a
method
with
certain
arguments,
and
I
know
what
it
returns
and
it
isn’t
the
method
I’m
tesDng
right
now

  • 48. Problem:


















no
local
TDD
 I’ve
been
 meaning
to
 do
it…

  • 49. Solution:




requirement
of
OSS
 No
Code
Without
 Passing
Tests!
 OK

  • 50. Problem:






scrum
unrealistic
 We
have
too
many
 simultaneous
 projects
 I
can’t
dedicate
5
 developers
to
a
 single
project,
even
 short
term

  • 51. Solution:





take
pieces
of
Agile
•  Short
iteraDons
of
narrow
focus
•  No
code
without
tests
•  ConDnuous
IntegraDon
•  AutomaDc
noDficaDons
•  Issue
Tracking
System
•  RealDme
CommunicaDon
across
roles
and
locaDons
•  …


×