1. The presentation discussed using free and open source software (FOSS) for agile software development. FOSS platforms, languages, and tools can be used throughout the entire software development lifecycle.
2. Agile software development and FOSS share principles like releasing early and often, listening to customers, extensive testing, and simple designs. FOSS allows for built-in integration, quality, community collaboration, and bug/feature tracking.
3. The presenter encouraged the audience to join their local agile development community to participate in monthly talks, training courses, and discussion groups to learn more about using agile and open source methods for software projects.
1. Succeeding with FOSS and Agile
Dương Trọng Tấn
FPT Education & Hanoi Scrum
Hanoi, 15-9-2012
2. About
● Works for FPT Education
● Develops Hanoi Scrum
community
● Agile experience: XP, Scrum,
Lean
● FOSS experience: Linux
(Desktop & Server),
/duongtrongtan
OpenOffice, FireFox, Moodle,
http://vn.linkedin.com/in/tandt SW dev. tools
2
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
3
4. Development Models
Source: “The New New Product Development Game” by Takeuchi and 4
Nonaka. Harvard Business Review, January 1986. 4
6. What is Agile Software Development?
• Set of methodologies
Scrum
• Follows “Agile Extreme
Programming
manifesto”
• Iterative & Agile
incremental Manifesto Agile UP
Lean Sw
• Adaptive Development
• Embrace changes
• Value-oriented FDD
6
6
See more: http://en.wikipedia.org/wiki/Agile_software_development
7. Agile Manifesto
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.
AgileAlliance.org
7
7
Manifesto debrief: http://msdn.microsoft.com/en-us/library/dd997578.aspx
8. 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
12
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.
Principles 7. Working software is the primary measure of progress.
http://agilemanifesto.org 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
8
12. Agile+Open Source=Developer Success
Mark Shuttleworth, Founder of Canonical
12
See more: http://goo.gl/BEur6
Image: http://www.thevarguy.com
13. Agile and FOSS share …
• 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
See more:
http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
And http://c2.com/cgi/wiki?OpenSourceAsAgileProcess 13
14. FOSS for ASD
●
Platform
●
Languages
●
Tools (all phases of SDLC)
●
API & Frameworks
14