foss and agile software development
DESCRIPTION
Short presentation at Software Freedom Day 2012 at Hanoi University of Sciences, 15-9-2012.TRANSCRIPT
Succeeding with FOSS and Agile
Hanoi, 15-9-2012
Dương Trọng TấnFPT Education & Hanoi Scrum
2
About
● Works for FPT Education
● Develops Hanoi Scrum community
● Agile experience: XP, Scrum, Lean
● FOSS experience: Linux (Desktop & Server), OpenOffice, FireFox, Moodle, SW dev. toolshttp://vn.linkedin.com/in/tandt
/duongtrongtan
3
In this presentation …
● On software development models● Right approach, right process and tools● ASD applied in FOSS● FOSS in ASD● How do we use FOSS in development
4Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986. 4
Development Models
5
Popular Methods
Source: Forrester Research, 2010
6
• Set of methodologies• Follows “Agile
manifesto”• Iterative &
incremental• Adaptive• Embrace changes• Value-oriented
What is Agile Software Development?
Lean SwDevelopment
Agile UP
6
ScrumExtreme
Programming
FDD
Agile Manifesto
See more: http://en.wikipedia.org/wiki/Agile_software_development
7
Agile Manifesto
7
That is, while there is value in the items on the right, we value the items on the left more.AgileAlliance.org
Manifesto debrief: http://msdn.microsoft.com/en-us/library/dd997578.aspx
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
•
8
12 Principles
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors,
developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-
organizing teams. 12. At regular intervals, the team reflects on how to become more effective,
then tunes and adjusts its behavior accordingly.
8
http://agilemanifesto.org
9
Same work, organized differently
10
Right approach, right results
11
Project Values
12
Mark Shuttleworth, Founder of Canonical
Image: http://www.thevarguy.com
Agile+Open Source=Developer Success
See more: http://goo.gl/BEur6
13
Agile and FOSS share …
See more:http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/And http://c2.com/cgi/wiki?OpenSourceAsAgileProcess
• Release early, Release often• Listen to your customers• Test, test and test• Energy levels or enthusiasm of the team members• Delegate everything you can,• Be open to the point of promiscuity• If you have the right attitude, interesting problems will find you.• Throw away code, if you don't feel good about it• Simple Design & minimum-effort path• Debugging is parallelizable• Perfection is achieved not when there is nothing more to add, but rather
when there is nothing more to take away
14
FOSS for ASD
● Platform● Languages● Tools (all phases of SDLC)● API & Frameworks
15
HudsonContinuous Integration
GlassFish
FOSS at ScrumLab
16
Ideas
● Build-in integrity, continuous integration
● Built-in quality every build● Community collaboration● Tracking bugs, features, progress
17
Join Agile Community NOW!
• Monthly Talks, localized materials, training courses, and more…
• Website: http://hanoiscrum.net • Discussion group: HanoiScrum Exchange
(http://www.facebook.com/groups/394651407217065/)• Email: [email protected]
18
Q&A