SlideShare a Scribd company logo
1 of 35
Download to read offline
Agile Software
Development
Process Practice
in Thai Culture
               Weerasak Witthawaskul, Ph.D.
                   ThoughtWorks Inc., USA
Agile                  คล่อง
        Introduction




 ฉบไว
  ั                    พริ้ว
Objective



  a presenter,

    make audiences excited about Agile
 methods,

you will consider applying agile concepts in
your projects.
Daily Stand-up Meeting
Who is this presenter?

Agile Software Consultant from
Software Architecture Group member at the
University of Illinois at Urbana-Champaign
Pattern Languages of Programs (PLoP)
conference chair 2002
”นายข้าวโพดหวาน”,Voluntary Consultant at
              since 2003 (Mr SweetCorn)
Daily Standup - Thai Cutural Impact
 Traffic
 Shyness to speak in front of crowds
 Not sure what to update
 Afraid to mention problems
Release 1 - Iteration Planning
Iteration 0
      Problems with software projects
      How Agile methods help
      Agile principles
Iteration 1
      Scrum / XP / TDD
Iteration 2
      Introducing Agile methods to your organization
      More Information
Iteration 0
Project Nightmare   Project Deadline
                    Scope Increase
                    Codebase Complexity
                    Defects
                    Staff Turnover
                    Transparency &
                    Accountability
Knowledge Sources




         Where are Thai books?
Knowledge Sources




         Do we have to wait
         for Thai books?
Introducing Agile




”After I moved to Agile, I don't want to go back
to work in non-Agile projects again”


                      - Client Developer
Introducing Agile
Agile methodology is an umbrella of software
development methods that are based on shared
values and principles
It focuses on
      delivering frequent releases of high-quality
        working software
      self-organizing teamwork and accountability
           ●   Self-discipline is very important
It embraces changes in a flexible, controlled way
Agile Values
Individuals and interactions over
                 processes and tools
Working software over
              comprehensive documentation
Customer collaboration over
               contract negotiation
Responding to change over
               following a plan
                                   http://agilemanifesto.org/
Thai Cultural Impacts
Afraid of / Reluctant to / Resist to change
Uncomfortable to work closely with senior
management / other departments?
'Yes, boss' attitude
Afraid to show problems until last minutes
This is not my code / problem / work
Agile Organization
Group teams across functional areas
     Business
          ●   Sponsor
          ●   Product Owner – Users / Customer Laisons
     IT Development
          ●   PM / BA / Dev / QA
     Engineering
          ●   Deployment / Operations Support
Iteration 1
Common Agile Practices
     Scrum as a project management practice



     XP as an engineering practice
Iteration 1
Scrum as a project management practice
User Stories
Iteration / Sprint
                                               New User Story
                                               Project Velocity
Release                                                    Learn and
Plan             User Stories
                                Unfinished Tasks           Communicate

            Project                                               New Functionality
Next        Velocity        Iteration                                            Latest
Iteration                                           Development
                            Planning    Iteration                 Bug Fixes      Version
                                          Plan

Bugs           Failed
               Acceptance
               Tests                                              Day by Day




Copyright 200 J. D. Wells
Burn-up chart
Burn Down Charts
Retrospective

Feedback meeting at the end of each
iteration
     Team feeback
     Vote and Action Items
Common Agile Methods

XP as an engineering practice
eXtreme Programming
                                      Move People                                   100%
               CRC                      Around
               Cards                                                                 Unit
                                      Change    We                                  Tests
    Simple                             Pair    Need
                                               Help                                Passed
    Design
               Complex
               Problem                                              Run All Unit
                             Failed                                   Tests
                              Unit                    New Unit
Next Task           Create    Test        Pair         Tests                        Run
Or Failed                             Programming              Continuous           Failed
                    a Unit                                     Integration          Acceptance
Acceptance          Test     Passed                    New                          Test
Test                          Unit                  Functionality
                                      Simple   Complex
                                      Code      Code
                                       Refactor                              Acceptance
                                      Mercilessly                               Test
                                                                               Passed
Copyright 200 J. D. Wells
Pair Programming

          Proverb: สองหัวดีกว่าหัว
          เดียว

          One types (driver), one
          thinks (navigator)
          Watch out for:
          Chitchatting
          Dominator
          Ping-pong programming
Test Driven Development (TDD)
Little Design Up Front (LDUF)
Test, test, test mentality
      Write tests first before implementing new features
      Write tests first before fixing bugs
Tests become
      Specification
      Executable, live documents
      Guards
Demo




Story 1
Title: Customer withdraws cash
As a customer,
I want to withdraw cash from an ATM,
so that I don’t have to wait in line at the bank.
Demo – ATM Withdrawal
Scenario 1: Account is in credit     Scenario 2: Account is overdrawn past
                                     the overdraft limit
Given the account is in credit
                                     Given the account is overdrawn
And the card is valid                And the card is valid
And the dispenser contains cash      When the customer requests cash
                                     Then ensure a rejection message is
When the customer requests cash      displayed
Then ensure the account is debited   And ensure cash is not dispensed
                                     And ensure the card is returned
And ensure cash is dispensed

And ensure the card is returned
Spec-first Design – User/BA pairing
BA / Dev Pairing



                   Dev Pairing
Test / Code / Test Cycle
Dev done when we see all dots



                    With nested option, test result
                      becomes documentation
Iteration 2
Introduce Agile into your organization
      Get executive buy-in
      Start with a pilot project
      Gradually apply agile techniques
           ●   Daily Stand-up
           ●   Demo every 2 weeks
           ●   Refactoring
           ●   TDD/Test coverage
           ●   Core pair progamming hours
           ●   Retrospective meeting
Practical Advice
Use face-to-face communication
        Walk & talk instead of emails
        Use whiteboard to show progress, discuss designs
        Quick huddle when issues involve more than a
         pair
Early release, active feedback
Learn from mistakes as well as try new things
Trust
Where is Release 2?
Narisa Tech Talk 7 – Sat Aug 29, 2009
http://tinyurl.com/narisa7
Focusing on technical aspects
      TDD / BDD (Test / Behavior Driven Designs)
          ●   3 rules of TDD
          ●   Functional tests/ Unit tests / External tests
          ●   How to write maintainable tests
      Refactoring Techniques
      Tools
          ●   Automated Build / Tests
Q&A
Please provide feedback at
http://tinyurl.com/agilefeedback

More Related Content

What's hot

Automate your way to agility
Automate your way to agilityAutomate your way to agility
Automate your way to agilityYuval Yeret
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex EnvironmentsDr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex EnvironmentsAgileSparks
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asAgileSparks
 
Shirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesShirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesAgileSparks
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile MaintenanceNaresh Jain
 
Test driven development
Test driven developmentTest driven development
Test driven developmentShalabh Saxena
 
Facilitating Release Planning Event
Facilitating Release Planning EventFacilitating Release Planning Event
Facilitating Release Planning EventRavi Tadwalkar
 
BDD presentation
BDD presentationBDD presentation
BDD presentationtemebele
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should knowRichard Cheng
 
Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overviewSerhiy Yevtushenko
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboNaveen Kumar Singh
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Teamwork and agile methodologies
Teamwork and agile methodologiesTeamwork and agile methodologies
Teamwork and agile methodologiesStefano Paluello
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectAgileSparks
 

What's hot (20)

Automate your way to agility
Automate your way to agilityAutomate your way to agility
Automate your way to agility
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Bdd Introduction
Bdd IntroductionBdd Introduction
Bdd Introduction
 
Creating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda LankalapalliCreating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda Lankalapalli
 
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex EnvironmentsDr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
 
Shirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesShirly Ronen - User story testing activities
Shirly Ronen - User story testing activities
 
Cobol agile
Cobol agileCobol agile
Cobol agile
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Facilitating Release Planning Event
Facilitating Release Planning EventFacilitating Release Planning Event
Facilitating Release Planning Event
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know
 
Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overview
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - Colombo
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Teamwork and agile methodologies
Teamwork and agile methodologiesTeamwork and agile methodologies
Teamwork and agile methodologies
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defect
 

Similar to Agile Software Development Process Practice in Thai Culture

Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionSteven Mak
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approachMichael Kopp
 
你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?Jen-Chieh Ko
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
Agile Testing, Uncertainty, Risk, and Why It All Works
Agile Testing, Uncertainty, Risk, and Why It All WorksAgile Testing, Uncertainty, Risk, and Why It All Works
Agile Testing, Uncertainty, Risk, and Why It All WorksElisabeth Hendrickson
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern MethodologyEthan Jewett
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by ExampleNalin Goonawardana
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBayDominik Dary
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriverMikalai Alimenkou
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1Jorge Boria
 
Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices A B M Moniruzzaman
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 

Similar to Agile Software Development Process Practice in Thai Culture (20)

Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Agile Testing, Uncertainty, Risk, and Why It All Works
Agile Testing, Uncertainty, Risk, and Why It All WorksAgile Testing, Uncertainty, Risk, and Why It All Works
Agile Testing, Uncertainty, Risk, and Why It All Works
 
Agile Testing Overview
Agile Testing OverviewAgile Testing Overview
Agile Testing Overview
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern Methodology
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Eswaranand Attuluri CV
Eswaranand Attuluri CVEswaranand Attuluri CV
Eswaranand Attuluri CV
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
test
testtest
test
 
test
testtest
test
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriver
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1
 
Agile testing
Agile testingAgile testing
Agile testing
 
Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices
 
Answer powerpoint template
Answer powerpoint templateAnswer powerpoint template
Answer powerpoint template
 
Manual testing1
Manual testing1Manual testing1
Manual testing1
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 

Recently uploaded

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

Agile Software Development Process Practice in Thai Culture

  • 1. Agile Software Development Process Practice in Thai Culture Weerasak Witthawaskul, Ph.D. ThoughtWorks Inc., USA
  • 2. Agile คล่อง Introduction ฉบไว ั พริ้ว
  • 3. Objective a presenter, make audiences excited about Agile methods, you will consider applying agile concepts in your projects.
  • 5. Who is this presenter? Agile Software Consultant from Software Architecture Group member at the University of Illinois at Urbana-Champaign Pattern Languages of Programs (PLoP) conference chair 2002 ”นายข้าวโพดหวาน”,Voluntary Consultant at since 2003 (Mr SweetCorn)
  • 6. Daily Standup - Thai Cutural Impact Traffic Shyness to speak in front of crowds Not sure what to update Afraid to mention problems
  • 7. Release 1 - Iteration Planning Iteration 0 Problems with software projects How Agile methods help Agile principles Iteration 1 Scrum / XP / TDD Iteration 2 Introducing Agile methods to your organization More Information
  • 8. Iteration 0 Project Nightmare Project Deadline Scope Increase Codebase Complexity Defects Staff Turnover Transparency & Accountability
  • 9. Knowledge Sources Where are Thai books?
  • 10. Knowledge Sources Do we have to wait for Thai books?
  • 11. Introducing Agile ”After I moved to Agile, I don't want to go back to work in non-Agile projects again” - Client Developer
  • 12. Introducing Agile Agile methodology is an umbrella of software development methods that are based on shared values and principles It focuses on delivering frequent releases of high-quality working software self-organizing teamwork and accountability ● Self-discipline is very important It embraces changes in a flexible, controlled way
  • 13. Agile Values Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://agilemanifesto.org/
  • 14. Thai Cultural Impacts Afraid of / Reluctant to / Resist to change Uncomfortable to work closely with senior management / other departments? 'Yes, boss' attitude Afraid to show problems until last minutes This is not my code / problem / work
  • 15. Agile Organization Group teams across functional areas Business ● Sponsor ● Product Owner – Users / Customer Laisons IT Development ● PM / BA / Dev / QA Engineering ● Deployment / Operations Support
  • 16. Iteration 1 Common Agile Practices Scrum as a project management practice XP as an engineering practice
  • 17. Iteration 1 Scrum as a project management practice
  • 19. Iteration / Sprint New User Story Project Velocity Release Learn and Plan User Stories Unfinished Tasks Communicate Project New Functionality Next Velocity Iteration Latest Iteration Development Planning Iteration Bug Fixes Version Plan Bugs Failed Acceptance Tests Day by Day Copyright 200 J. D. Wells
  • 22. Retrospective Feedback meeting at the end of each iteration Team feeback Vote and Action Items
  • 23. Common Agile Methods XP as an engineering practice
  • 24. eXtreme Programming Move People 100% CRC Around Cards Unit Change We Tests Simple Pair Need Help Passed Design Complex Problem Run All Unit Failed Tests Unit New Unit Next Task Create Test Pair Tests Run Or Failed Programming Continuous Failed a Unit Integration Acceptance Acceptance Test Passed New Test Test Unit Functionality Simple Complex Code Code Refactor Acceptance Mercilessly Test Passed Copyright 200 J. D. Wells
  • 25. Pair Programming Proverb: สองหัวดีกว่าหัว เดียว One types (driver), one thinks (navigator) Watch out for: Chitchatting Dominator Ping-pong programming
  • 26. Test Driven Development (TDD) Little Design Up Front (LDUF) Test, test, test mentality Write tests first before implementing new features Write tests first before fixing bugs Tests become Specification Executable, live documents Guards
  • 27. Demo Story 1 Title: Customer withdraws cash As a customer, I want to withdraw cash from an ATM, so that I don’t have to wait in line at the bank.
  • 28. Demo – ATM Withdrawal Scenario 1: Account is in credit Scenario 2: Account is overdrawn past the overdraft limit Given the account is in credit Given the account is overdrawn And the card is valid And the card is valid And the dispenser contains cash When the customer requests cash Then ensure a rejection message is When the customer requests cash displayed Then ensure the account is debited And ensure cash is not dispensed And ensure the card is returned And ensure cash is dispensed And ensure the card is returned
  • 29. Spec-first Design – User/BA pairing
  • 30. BA / Dev Pairing Dev Pairing
  • 31. Test / Code / Test Cycle Dev done when we see all dots With nested option, test result becomes documentation
  • 32. Iteration 2 Introduce Agile into your organization Get executive buy-in Start with a pilot project Gradually apply agile techniques ● Daily Stand-up ● Demo every 2 weeks ● Refactoring ● TDD/Test coverage ● Core pair progamming hours ● Retrospective meeting
  • 33. Practical Advice Use face-to-face communication Walk & talk instead of emails Use whiteboard to show progress, discuss designs Quick huddle when issues involve more than a pair Early release, active feedback Learn from mistakes as well as try new things Trust
  • 34. Where is Release 2? Narisa Tech Talk 7 – Sat Aug 29, 2009 http://tinyurl.com/narisa7 Focusing on technical aspects TDD / BDD (Test / Behavior Driven Designs) ● 3 rules of TDD ● Functional tests/ Unit tests / External tests ● How to write maintainable tests Refactoring Techniques Tools ● Automated Build / Tests
  • 35. Q&A Please provide feedback at http://tinyurl.com/agilefeedback