KEMBAR78
SFD2012Hanoi - Duong Trong Tan - Agile and FOSS | PDF
Succeeding with FOSS and Agile
                        Dương Trọng Tấn
                    FPT Education & Hanoi Scrum


                             Hanoi, 15-9-2012
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
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
Development Models




Source: “The New New Product Development Game” by Takeuchi and       4
Nonaka. Harvard Business Review, January 1986.                   4
Popular Methods




                                              5
           Source: Forrester Research, 2010
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
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
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
Same work, organized differently




                               9
Right approach, right results




                                10
Project Values




                 11
Agile+Open Source=Developer Success




                      Mark Shuttleworth, Founder of Canonical

                                                                                   12
See more: http://goo.gl/BEur6
                                                      Image: http://www.thevarguy.com
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
FOSS for ASD

●
    Platform
●
    Languages
●
    Tools (all phases of SDLC)
●
    API & Frameworks



                                 14
FOSS at ScrumLab




               GlassFish




             Hudson
             Continuous Integration




                                      15
Ideas

●
    Build-in integrity, continuous
    integration
●
    Built-in quality every build
●
    Community collaboration
●
    Tracking bugs, features, progress


                                        16
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: hanoiscrum@gmail.com



                                                                    17
Q&A




      18

SFD2012Hanoi - Duong Trong Tan - Agile and FOSS

  • 1.
    Succeeding with FOSSand 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: “TheNew New Product Development Game” by Takeuchi and 4 Nonaka. Harvard Business Review, January 1986. 4
  • 5.
    Popular Methods 5 Source: Forrester Research, 2010
  • 6.
    What is AgileSoftware 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 highestpriority 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
  • 9.
    Same work, organizeddifferently 9
  • 10.
  • 11.
  • 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 FOSSshare … • 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
  • 15.
    FOSS at ScrumLab GlassFish Hudson Continuous Integration 15
  • 16.
    Ideas ● Build-in integrity, continuous integration ● Built-in quality every build ● Community collaboration ● Tracking bugs, features, progress 16
  • 17.
    Join Agile CommunityNOW! • Monthly Talks, localized materials, training courses, and more… • Website: http://hanoiscrum.net • Discussion group: HanoiScrum Exchange (http://www.facebook.com/groups/394651407217065/) • Email: hanoiscrum@gmail.com 17
  • 18.
    Q&A 18