Agile Software Development: Theory and Reality...(Charette, R. N. Why Software Fails. IEEE Spectrum,...
Transcript of Agile Software Development: Theory and Reality...(Charette, R. N. Why Software Fails. IEEE Spectrum,...
1ICT
Agile Software Development:Theory and Reality
EuroSPI 2006 TutorialOctober 11th, 2006, 0900-1300
By Geir K. Hanssen, SINTEF ICT/Norway([email protected])
(This material may be reused – but please put in a reference)
2ICT
About me ☺
Geir Kjetil HanssenIndustrial experience as developer and project leaderResearcher at SINTEF ICT in Trondheim/NorwayStudying agile software development in four companiesPhD student at NTNU, Trondheim
About you ☺Name and work-placeWork tasks/responsibilities/interestsWhy this course?
3ICT
The goal of this tutorial
I would like you to……understand the basic ideas of Agile Software Development…be interested – but skeptical…contribute with your opinions, views and questions
4ICT
Schedule
Introduction and presentation of us (approx. 20 m)
Part 1: Theory (approx. 60 m. including 15 m. break)Explain the idea of agile software development
Task1: Likes and dislikes (approx. 20 m.)
Break 30 m.
Part 2: Reality (approx. 60 m. including 15 m. break)Look into challenges and potential problems
Task 2: Open issues/questions to be resolved (approx. 20 m.)
Directions for future learning (approx. 10 m.)
// Warning: This is just a plan… //
5ICT
Learning “tools”
Input from me to you (lecture)Questions and comments from you to me and the others (corrections and focus)Tasks – to make you think and have an opinionDiscussions
6ICT
Part 1: Theory
Scrum
Extreme Programming
DSDM
Lean
CrystalAgile Modeling
FDD Refactoring
TDD
Pair programming
Evo
7ICT
Part 1: Agenda
The term ”agile”The waterfall modelProcess flavoursSoftware complexity and failuresThe motivation for a changeComparing agile and traditional approachesThe core practices of agile software developmentThe origin of the ideasThe believers, the sceptics and the scientists viewAn example: ScrumTask 1: likes and dislikesSoftware projects trade-offsSoftware project contextWhat do we know?
8ICT
Agile…
In the dictionary: easy, quick, flexible, nimbleA more mature version of “light weight”Agile methods is a group of related software development methodologies
Extreme Programming, Scrum, Crystal, Lean etc…A reaction to heavy, formal, document-driven, bureaucratic processes
Extensive planning early in a project – and often based on too low knowledge and experience (on both sides)Locked to plans and contract – low flexibilityHard to focus on user needs (don’t see what we need until we see it…)No space for creativity (?)
9ICT
The waterfall model…
(By M.C. Escher)
10ICT
The “traditional” approach
Plan-based/driven processesBig Design Up-Front (BDUF)Big Planning Up-FrontThe waterfall-model1
The “idea”All requirements andwork is planned in advanceA project follows the plan100% predictability100% control…
Not according to reality…
1) W. W. Royce. - Proceedings of IEEE WESCON, 1970
11ICT
The plan
12ICT
13ICT
Royce continued…
Royce identifies problems with the sequential approachRisky and invites failureTesting is the first point of feedback on the analysis
The solutionOpportunity to redo steps based on experienceIterative process!
(5-600 citations according to Google Scholar…the majority is probably incorrect…)
14ICT
Alternative development processesStrategy
Waterfall
Incremental
Evolutionary
Define allreq. first?
Yes
Yes
No
Several cycles?
No
Yes
Yes
Distributeincrements?
No
Maybe
Yes
req.design
codetest
deliver
deliver
req.design
codetest
deliver
designcode
test
req.
design code
testdeliver
test
code
req.
design
deliver
req.
Source: Tore Dybå, Torgeir Dingsøyr and Nils Brede Moe, Process Improvement in Practice - A Handbook for IT Companies. Boston: Kluwer, 2004, ISBN 1-4020-7869-2
15ICT
The agile life-cycle
Start-up TerminationEva
luation
Priotitation
Dev./te
st
Release
2-14 days
n * 1-4 weeks
a few days
16ICT
KLOC in Avionics System
A300B
A300FF
A310
A320
A330/340
A3xx
1
10
100
1000
10000
Airplane type
in K
LOC
• A typical cell-phone now contains two million lines of software code; by 2010 it will likely have 10 times as many
• General Motors Corp. estimates that by then, more than 50% of the development costs of their cars will be due to software
(Charette, R. N. Why Software Fails. IEEE Spectrum, Sept., (2005))
• 60% of software projects are completed late and that the average cost overrun is 30-40%
• A substantial proportion of the late and under-budgeted software projects are outright failures(K. Moløkken, M. Jørgensen, S.S. Tanilkan, H. Gallis, A.C. Lien and S.E. Hove (2004) “A Survey on Software Estimation in the Norwegian Industry”, Proc. 10th Int. Software Metrics Symposium (Metrics’2004), Chicago, USA, pp. 208-219)
Software growth
17ICT
ANNUAL PRODUCTIVITY GROWTH 1998 - 2003
Source: http://www.economy.com
18ICT
Motivation
FasterIncreased demand for faster development and delivery?Early release of working software?
BetterBetter understanding of explicit and implicit requirements?Software with fewer errors and higher usability?
CheaperLow documentation costs?Pragmatic administration?Reduced risk of delays?
19ICT
Traditional and agile - compared
Continuous control of requirements, design and solutions. Continuous testing
Heavy planning and strict control. Late, heavy testing
Quality control
Organic (flexible and participative encouraging cooperative social action), aimed at small and medium sized organizations
Mechanistic (bureaucratic with high formalization), aimed at large organizations
Desired organizational form/ structure
The evolutionary-delivery modelLife cycle model (waterfall, spiral or some variation)
Development model
InformalFormalCommunication
TacitExplicitKnowledge management
Leadership-and-collaborationCommand-and-controlManagement style
High-quality adaptive software can be developed by small teams using the principles of continuous design improvement and testing based on rapid feedback and change.
Systems are fully specifiable, predictable, and can be built through meticulous and extensive planning.
Fundamental assumption
Agile developmentTraditional development
Table taken from: Nerur, S., Mahapatra, R. and Mangalaraj, G.., “Challenges of migrating to agile methodologies”, Communications of the ACM, May 2005, pp. 72 – 78.
20ICT
A “reaction” to heavy processes
The agile manifesto (www.agilemanifesto.org) says:Individuals and interactions over processes and tools
Direct, verbal communicationGiving the developers more responsibility and freedomSimplicity
Working software over comprehensive documentationFrequent delivery of working software is the best proof of progressThe customer gets early practical experience
Customer collaboration over contract negotiationThe customer is given a practical role“Inside information”
Responding to change over following a plan Planning is close to impossible(!), optimal handling of change is a better approachChange DO occur – don’t resist, deal with it
21ICT
Core practices investigated (1/3)
- Does the customer have time for this?
- Does this disturb the developers?
- Inside domain information- Dynamic requirements
management- Reduce unclearity
4) Business people and developers must work together daily throughout the project.
- Unhealthy pressure/stress?- No room for extensive
design
- Clearly shows progress- Always have a working
version - Wrong design found early
3) Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- What about the cost of rework?
- When to know when finished?
- Responsive process- Open to new ideas- No need to plan in detail
2) Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- How to deliver so frequent?
- Why? - Is it really interesting?
- Satisfied customer- Clearly shows progress
1) Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Sceptics viewBelievers viewAgile practices from the manifesto
22ICT
Core practices investigated (2/3)
- What about dealing with surprises?
- No stress or overtime- No scamped work
8) Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- What about completeness?- Maximum visibility7) Working software is the primary measure of progress.
- What about tracability?- Large, distributed teams?
- Quick and direct communication
6) The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Can people be trusted?- No management?- Works only with the very
best?
- Fun and motivating- Trusting good people- No need of detailed
management
5) Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Sceptics viewBelievers viewAgile practices from the manifesto
23ICT
Core practices investigated (3/3)
- No sceptic view on this one – this is a good idea!
- Learn and improve from experience
- Obstacles are removed during the project
12) At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
- How come? - Optimal architecture11) The best architectures, requirements, and designs emerge from self-organizing teams.
- What to decide what’s (really) simple?
- Does not invest effort in unnessesary work
10) Simplicity--the art of maximizing the amount of work not done--is essential.
- Easy to say – hard to do?- Technically good solutions
9) Continuous attention to technical excellence and good design enhances agility.
Sceptics viewBelievers viewAgile practices from the manifesto
24ICT
Method “map”
(From Craig Larman)
25ICT
An interesting anecdote
Ivar Jacobson now says*:“the most well-known variant of the Unified Process has grown its knowledge base beyond manageable limits.““The Unified Process became too heavy…”
Promotes a “new” process: Essential Unified ProcessAn agile process…
*) Jacobson, I., Ng, P. W. and Spence, I., The Essential Unified Process – a Fresh New Start. 2006. (download from www.ivarjacobson.com)
26ICT
Methods and focus
From: Abrahamsson, P., Warsta, J., Siponen, M. T. and Ronkainen, J. New Directions on Agile Methods: A Comparative Analysis. In Proceedings of International Conference on Software Engineering (ICSE) 2003).
27ICT
The origin of the ideas
From: Abrahamsson, P., Warsta, J., Siponen, M. T. and Ronkainen, J. New Directions on Agile Methods: A Comparative Analysis. In Proceedings of International Conference on Software Engineering (ICSE) 2003).
28ICT
The terms used…
4 values
12 principles
the agile manifesto
10+/- practices
8+/- methods
pair-prog., TDD, refactoring
Scrum, XP, Crystal, Evo,…
Thousands of projects…
29ICT
The believer’s view
Agile software development is cheaper, faster and better because:
Only what’s needed will be developedMisunderstandings (with late rework) is discovered earlyCommunication is more efficient (internal and external)
Better conditions for creativityChanges can not be controlled – better to emphasize change responseTeams self-organize
30ICT
The skeptic’s view
One customer representative does not have sufficient knowledge of:
Organizational knowledgeDomain knowledgeCoordinating contradicting needs
A customer will not be available 24/7Customers will not accept “no plan – no estimates”Small releases only fit small problems and small projectsDoes not support “good” architectureAgile methods does not fit in traditional project management frameworksHackers excuse
31ICT
The scientist’s view
Trying to be objective…Looking for evidenceComparing with alternatives
All of these are hard to do!
“If something’s hard to do – it’s not worth doing”Homer Simpson, 2000
“We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard […]”
JFK, 1962
32ICT
An example: Scrum
An agile process aimed at controlling and managing software developmentA structure for use of existing techniquesA team-oriented approach for developing software iteratively and incrementally with frequent changesControl chaos by prioritizing based on knowledgeImproves communication and maximizes cooperationHelps to find and remove anything that does not add value to the developmentScalableEstablish comfort
33ICT
Scrum: the origin
“The New New Product Development Game” in Harvard Business Review, 1986.*:
“The… ‘relay race’ approach to product development…may conflict with the goals of maximum speed and flexibility. Instead a holistic or ‘rugby’ approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements.”
Jeff Sutherland (1993), Ken Schwaber (1996) and Mike BeedleThe book in 2001
*) Takeuchi, H. and Nonaka, I. The New New Product Development Game.Harward Buisiness Review, (1986).
34ICT
In rugby football a scrummage or scrum is aof restarting the game, either after a minor infringement […], or when the ball has gononto the ground after a successful tackle [
35ICT
Scrum: Process components
RolesProduct OwnerScrum TeamScrumMaster(Stakeholders)
ArtifactsVisionProduct BacklogSprint BacklogBurndown Chart
ProcessSprint Planning MeetingSprintDaily Scrum MeetingSprint Review MeetingSprint Retrospective
Meeting
36ICT
An example: Scrum
(From www.controlchaos.com)
37ICT
Scrum: The Scrum master
Represents management to the projectTypically filled by a Project Manager or Team LeaderResponsible for enacting Scrum values and practicesMain job is to remove impediments
(From Mountain Goat Software)
38ICT
Scrum: The Scrum team
Typically 5-10 peopleCross-functional
QA, Programmers, UI Designers, etc.
Members should be full-timeMay be exceptions (e.g., System Admin, etc.)
Teams are self-organizingMembership can change only between sprints
(From Mountain Goat Software)
39ICT
Scrum: Sprint
Scrum projects make progress in a series of “sprints”Analogous to XP iterations
Target duration is one month+/- a week or two
But, a constant duration leads to a better rhythm
Product is designed, coded, and tested during the sprint
(From Mountain Goat Software)
40ICT
Each iteration implement the highest-priority requirements
Each new requirement is prioritized and added to the stack
Requirements may be reprioritized at any time
Requirements may be removed at any time
Requirements
HighPriority
LowPriority
Copyright 2004 Scott W. Ambler
Scrum: Requirements management
41ICT
XP in 10 seconds
(More on www.extremeprogramming.org)
42ICT
Task 1:
What do you like about agile software development?
What do you dislike about agile software development?
43ICT
The borders of a software project and its trade-offs
Time (to market)
CostResult
(scope and quality)
faste
r mea
ns h
igher
cost
Less
cost
mea
ns la
ter
more result means more cost
faster means less (quality of) result
more result m
eans more tim
e
less cost means less result
44ICT
Processes can not be copiedIndustry
best-practice?
From Pekka Abrahamssons EuroMicro 2003 Keynote
45ICT
Context-dependent applicabilityPersonnel
Dynamism (% Requirements-change/month)
Culture (% thriving on chaos vs. order)
Size (# of personnel)
Criticality (Loss due to impact of defects)
5030
105
1
90
70
50
30
10
3
10
30
100
300
35
30
25
20
15
Essential Funds Discretionary
Funds Comfort
Single Life
Many Lives
(% Level 1B) (% Level 2&3)
0
10
20
30
40
Agile
Disciplined
Source: Allistair Cockburn, used in Boehm, B. and Turner, R. Balancing Agility and Dicipline - A Guide for the Perplexed. Addison-Wesley, 2004.
Other axes?Domain complexity (simple-complex)Urgency (calm-urgent)Technical complexity(simple-complex)Novelty(plain-experimental)
46ICT
Agile homeground
From: Cockburn, A. Selecting a Project's Methodology. IEEE Software, (2000).
47ICT
Communication effectiveness
No QA
QA
(Adopted from Allistair Cocburn and Scott Ambler)
48ICT
Types of software engineering
ConsultancySales of head-power; individuals, teams or projects
Single-caseOne customer or a groupVery specific requirementsRelated to a specific domain
Product developmentLarge, diverse user massNo direct requirements from customersConstant refinement and new releases
49ICT
What do we know? (1)
Enormous interest in the industry2 large international conferences (XP and Agile)Extensive coverage in professional magazines and many booksA search for ”extreme programming” on www.amazon.com gives 51 results…”agile” gives 354 results…
2 books criticizing XPStephens, M. and Rosenberg, D. Extreme Programming Refactored: The Case Against XP. Apress, 2003McBreen, P. Questioning Extreme Programming. Addison-Wesley, 2003
1 book as balanced and neutralBoehm, B. and Turner, R. Balancing Agility and Discipline - A Guide for the Perplexed. Addison-Wesley, 2004.
Weak documentation on effects, costs and limitations2946 articles addressing the topic found in a search821 abstracts on agile software development380 articles with empirical data39 good research publications
50ICT
What do we know? (2)
51ICT
The hype curve
2006?
2000?
52ICT
What do we know? (3)
Preliminary results from studyMainly focus on XPLow scientific quality on most studiesFew studies over timeFew studies on mature teams
Studies mostly focus onPair-programmingTest-driven developmentCustomer engagement
Conclusion: we have little knowledge on how agile methods affects development!
However – many promising experiences in the industry!
53ICT
Quality criteria's
Screening questions (”no” on 1 or (2 and 3) meant exclude)1. Is this a research paper?2. Is there a clear statement of the aims of the research?3. Is there an adequate description of the context in which the research was
carried out?
Detailed questions:4. Was the research design appropriate to address the aims of the research?5. Was the recruitment strategy appropriate to the aims of the research?6. Was there a control group with which to compare treatments? 7. Was the data collected in a way that addressed the research issue? 8. Was the data analysis sufficiently rigorous? 9. Has the relationship between researcher and participants been adequately
considered? 10. Is there a clear statement of findings? 11. Is the study of value for research or practice?
(Applied on 821 papers)
54ICT
Announcement!
EuroSPI Keynote, Friday:Prof. Pekka Abrahamsson:
The concrete business impact of agile solutions -
3 times faster and 50 times better!
55ICT
BREAK(coffee and discussions)
56ICT
Part 2: Reality
Customers…
Programmers…
Project manager…
Money…
Time…
Quality…
Users…
Management…
Requirements…
57ICT
Part 2: Agenda
Conditions for agilityResearch summaryResearch insights: pair programmingResearch insights: test-driven developmentResearch insights: customer engagementSupporting toolsTask 2: Questions and open issuesThe futureFinal advicePointers to further learning
58ICT
Conditions for agility (1)
Customer on-siteIs the customer willing to spend the time to be available?Can anyone represent an organization or other users?
How should the representative interact with his/hers organization?Has the customer good enough understanding of the requirements?Has the customer good enough domain knowledge?Is the customer able to respond to increments?
59ICT
Conditions for agility (2)
Team co-locationHow to deal with geographically spread organizations?How to deal with team-members that work on multiple projects?Are the offices suited for teamwork?
Skilled individuals and teamsWill the team be able to self-organize?Does the team contain the skills needed?Is everybody in favor of working in a team?
60ICT
Conditions for agility (3)
Customer acceptance of an agile contractWill the customer trust you?What should you do if the project fails?How to make the customers budget?Will the most important features be covered?What about documentation?What about future development?What about ISO9000, CMM etc.?
61ICT
Conditions for agility (4)
Technical excellence (infrastructure)How to release each iteration?How to enable the customer to test and reply?
62ICT
Research summary
Just a few principles and practices are investigated thoroughly, e.g.:
Pair programmingArisholm et al. 2006
Test-driven developmentErdogmous et al. 2005
Active customer engagementHanssen and Fægri 2006
Missing evidence for e.g.:Self-organizing teamsAgile architectureRefactoringCreativityTrade-offSuggestions?
63ICT
Pair programming – evidence*
*) E. Arisholm, H. E. Gallis, T. Dybå and D. Sjøberg. Evaluating Pair Programming among Professional Java Developers, Submitted to IEEE Transactions on Software Engineering, 2006.
64ICT
Test-driven development: evidence*
*) Erdogmus, H. and Morisio, M. On the Effectiveness of the Test-First Approach to Programming. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 31 (2005), 3.
(Test coverage) Test-First programmers write more tests per unit of programming effort(Productivity) A higher number of programmer tests lead to proportionally higher levels of productivity(Quality) Test-First programmers did not achieve better quality on average
(although they achieved more consistent quality results)
65ICT
Customer engagement: evidencePrerequisites
Only motivated (by benefit) customers will engage Customer engagement needs proactive managementLack of continuity has significant bad effects on the performance Selecting the right (expertise) stakeholders are essentialFrequent iterations leaves little room for unrestrained activityAn effective technical framework is essential
BenefitsClose customer cooperation has a highly motivating effect on thedevelopers Customer’s prioritizing of goals has increased developers confidenceThe process visibility can be beneficial for the rest of the organization
CostsExtra overhead in actually running the process and the human resources requiredThe technical infrastructure, being a prerequisite, is costly Short iterations with insufficient attention to management and process compliance increase fragility Reduced capability to capture the needs of other, non-appointed customers
66ICT
Supporting tools
Even an agile process may benefit from the right tools:Continuous integrationProcess monitoring and controlRequirements managementEstimation and prioritizingTestingRapid deployment and feedback management
Some examples follow:
67ICT
Tools: Requirements management (1)
Product backlog
68ICT
Tools: Requirements management (2)
Sprint backlog
69ICT
Tools: Requirements management (3)
70ICT
Tools: Progress monitoring
Burn-down charts
Backlog items burndown
05
101520253035
week 1
week 2
week 3
week 4
week 5
week 6
week 7
week 8
week 9
week 1
0wee
k 11
week 1
2wee
k 13
week 1
4wee
k 15
week 1
6wee
k 17
week 1
8wee
k 19
week 2
0
Time/iterations
rem
aini
ng b
ackl
og it
ems
Estimated work (hours) burndown
0
500
1000
1500
2000
2500
3000
week 1
week 2
week 3
week 4
week 5
week 6
week 7
week 8
week 9
week 10
week 11
week 12
week 13
week 14
week 15
week 16
week 17
week 18
week 19
week 20
71ICT
Tools: Test coverage
0
20
40
60
80
100
120
140
160
wee
k 1
wee
k 2
wee
k 3
wee
k 4
wee
k 5
wee
k 6
wee
k 7
wee
k 8
wee
k 9
wee
k 10
wee
k 11
wee
k 12
wee
k 13
wee
k 14
wee
k 15
wee
k 16
wee
k 17
wee
k 18
wee
k 19
wee
k 20
# tests definedaccumulated# tests passed accumulated
72ICT
Tools: Continous integration
From Trond Johansen, FIRM as, Norway
(Borland)
(Open-source)
(Open-source)
(Open-source)
(Microsoft)
Check out:http://www.martinfowler.com/articles/continuousIntegration.html
73ICT
Even more tools…XP StoryStudio (a project-management portal - free)TargetProcess (agile project management and bug tracking software - licenced)VersionOne (agile project management – licenced)Xradar (system analysis report tool for Java - free)Jira (bug tracking, issue tracking, & project management - licenced)Extremeplanner (agile project planning and tracking - licenced)Fitnesse (acceptance testing framework - licenced)Ant/Nant (build tool – free)Maven (software project management and comprehension tool – free)CruiseControl (build support – free)FXCop (code analysis tool – free?)StartTeam (source code control – licenced)Wiki (information sharing – free)Clover/Nclover (test coverage tool – free?)JUnit/NUnit/NUnitASP (unit testing framework – free)Cobertura 1.6: (Java test coverage tool – free)EasyMock 1.2 RC2 (Mock Object for Java interfaces – free)Exactor 1.1.4: (framework for automated acceptance tests – free)Jakarta Cactus 1.7.1: (Unit-testing server-side Java – free)JasperReports 1.0.2: (Java reporting tool – free)Jameleon 3.0.3: (Java tool for automated acceptance testing – free)log4j 1.2.12: (Java logging tool – free)and many many more…
Do you remember the first agile “value”?
“Individuals and interactions over processes and tools
74ICT
Task 2: Questions and open issues
What are the most important questions still to be answered?
Use your background (academic/industry)
75ICT
Future
Fundamentalism is (as always) not the best approach!Hopefully, the number of “methods” will converge into a few
Tailored for domains, technologies etc.Easier to find the right one
More validation by researchThe solution will be a balance between agility and discipline
76ICT
Maturing ideas
From “Crossing the Chasm” by Geoffrey A. Moore
77ICT
Boehm and Turnes conclusions*
1. Neither agile nor plan-driven methods provide a silver bullet
2. Agile and plan-driven methods have home grounds where one clearly dominates the other
3. Future trends are toward applications developments that need both agility and discipline
4. Some balanced methods are emerging5. It is better to build your method up than to tailor it down6. Methods are important, but potential silver bullets are
more likely to be found in areas dealing with people, values, communication and expectations management.
Boehm, B. and Turner, R. Balancing Agility and Dicipline - A Guide for the Perplexed. Addison-Wesley, 2004.
78ICT
Final advice*
A lot of “experts” selling silver bullets – however:1. Read and understand yourself! Be interested but sceptical!2. Check recent research results! (learn from other’s experience)3. Try and evaluate! (learn from your own experience)4. Discuss with someone with practical experience5. Don’t be fanatic – be creative 6. Involve “everybody” – the SE process is everybody's concern
*) Applicable for any hype (WebServices, MDD, Agile, SOA…)!
79ICT
Appraising published studies
From:Dybå, T., Kitchenham, B. and Jørgensen, M., Evidence-Based Software Engineering for Practitioners, in IEEE Software. 2005. p. 58-65.
80ICT
Pointers to further learning www.agilealliance.org
Fresh info from the community
www.agilemanifesto.orgSimple documentation of the basic concepts
www.extremeprogramming.org
A good overview of XP basics
www.controlchaos.comScrum overview (some marketing)
www.wikipedia.orgDefinitionsLinks
Agile Software Development with SCRUM by Ken Schwaber and Mike Beedle
Balancing Agility and Discipline: A Guide for the Perplexed by Barry Boehm and Richard Turner
• Takeuchi, H. and Nonaka, I. The New New Product Development Game. Harward Buisiness Review, (1986)
• Boehm, B., Get Ready for Agile Methods, with Care, in IEEE Computer. 2002. p. 64-69.
• Abrahamsson, P., Salo, O., Ronkainen, J. and Warsta, J. Agile software development methods - Review and analysis. VTT Publications 478, VTT Electronics, 2002.
• Cohen, D., Lindvall, M. and Costa, P. Agile Software DevelopmentA DACS State-of-the-Art Report. Fraunhofer Center for Experimental Software Engineering Maryland and The University ofMaryland, 2003.