Agile Software Development Process Practice in Thai Culture
-
Upload
weerasak -
Category
Technology
-
view
2.055 -
download
0
description
Transcript of Agile Software Development Process Practice in Thai Culture
![Page 1: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/1.jpg)
Agile Software Development Process Practice in Thai Culture
Weerasak Witthawaskul, Ph.D.ThoughtWorks Inc., USA
![Page 2: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/2.jpg)
IntroductionAgile
พริ้วฉบัไว
คล่อง
![Page 3: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/3.jpg)
Objective
a presenter,
make audiences excited about Agile methods,
you will consider applying agile concepts inyour projects.
![Page 4: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/4.jpg)
Daily Stand-up Meeting
![Page 5: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/5.jpg)
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)
![Page 6: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/6.jpg)
Daily Standup - Thai Cutural Impact
Traffic
Shyness to speak in front of crowds
Not sure what to update
Afraid to mention problems
![Page 7: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/7.jpg)
Release 1 - Iteration PlanningIteration 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
![Page 8: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/8.jpg)
Iteration 0
Project Deadline
Scope Increase
Codebase Complexity
Defects
Staff Turnover
Transparency & Accountability
Project Nightmare
![Page 9: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/9.jpg)
Knowledge Sources
Where are Thai books?
![Page 10: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/10.jpg)
Knowledge Sources
Do we have to wait for Thai books?
![Page 11: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/11.jpg)
Introducing Agile
”After I moved to Agile, I don't want to go back to work in non-Agile projects again”
- Client Developer
![Page 12: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/12.jpg)
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
![Page 13: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/13.jpg)
Agile Values
Individuals and interactions overprocesses and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
http://agilemanifesto.org/
![Page 14: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/14.jpg)
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
![Page 15: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/15.jpg)
Agile Organization
Group teams across functional areas
Business● Sponsor● Product Owner – Users / Customer Laisons
IT Development● PM / BA / Dev / QA
Engineering● Deployment / Operations Support
![Page 16: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/16.jpg)
Iteration 1
Common Agile Practices
Scrum as a project management practice
XP as an engineering practice
![Page 17: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/17.jpg)
Iteration 1
Scrum as a project management practice
![Page 18: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/18.jpg)
User Stories
![Page 19: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/19.jpg)
Iteration / Sprint
Release Plan
Next Iteration
Bugs
IterationPlanning
Development LatestVersion
New User StoryProject Velocity
Copyright 200 J. D. Wells
User Stories
ProjectVelocity
Failed AcceptanceTests
Unfinished Tasks
IterationPlan
Learn andCommunicate
New Functionality
Bug Fixes
Day by Day
![Page 20: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/20.jpg)
Burn-up chart
![Page 21: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/21.jpg)
Burn Down Charts
![Page 22: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/22.jpg)
Retrospective
Feedback meeting at the end of each iteration
Team feeback
Vote and Action Items
![Page 23: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/23.jpg)
Common Agile Methods
XP as an engineering practice
![Page 24: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/24.jpg)
eXtreme Programming
Next TaskOr FailedAcceptanceTest
Createa UnitTest
PairProgramming
CRCCards
Move PeopleAround
ContinuousIntegration
100%Unit
TestsPassed
AcceptanceTest
Passed
RefactorMercilessly
Copyright 200 J. D. Wells
SimpleDesign Complex
ProblemFailedUnitTest
PassedUnit
ChangePair
WeNeedHelp
New UnitTests
NewFunctionality
Run All UnitTests
SimpleCode
ComplexCode
RunFailedAcceptanceTest
![Page 25: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/25.jpg)
Pair Programming
Proverb: สองหัวดีกวา่หัวเดียวOne types (driver), one thinks (navigator)
Watch out for:
Chitchatting
Dominator
Ping-pong programming
![Page 26: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/26.jpg)
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
![Page 27: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/27.jpg)
Demo
Story 1Title: Customer withdraws cashAs a customer,I want to withdraw cash from an ATM,so that I don’t have to wait in line at the bank.
![Page 28: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/28.jpg)
Demo – ATM WithdrawalScenario 1: Account is in credit
Given the account is in credit
And the card is valid
And the dispenser contains cash
When the customer requests cash
Then ensure the account is debited
And ensure cash is dispensed
And ensure the card is returned
Scenario 2: Account is overdrawn past the overdraft limit
Given the account is overdrawn
And the card is valid
When the customer requests cash
Then ensure a rejection message is displayed
And ensure cash is not dispensed
And ensure the card is returned
![Page 29: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/29.jpg)
Spec-first Design – User/BA pairing
![Page 30: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/30.jpg)
BA / Dev Pairing
Dev Pairing
![Page 31: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/31.jpg)
Test / Code / Test Cycle
Dev done when we see all dots
With nested option, test result becomes documentation
![Page 32: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/32.jpg)
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
![Page 33: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/33.jpg)
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
![Page 34: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/34.jpg)
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
![Page 35: Agile Software Development Process Practice in Thai Culture](https://reader033.fdocuments.net/reader033/viewer/2022051818/54b79aac4a795969608b465e/html5/thumbnails/35.jpg)
Q & A
Please provide feedback at http://tinyurl.com/agilefeedback