A gile A gile way to Nguyễn Văn Hiển 2013
Content
Software
Development
MethodologiesAgile and Agile processes
XPScrum
Lean & Lean Startup
Agile NOW!
Mindset
Techniques
Collaboration
Tools
Someone wants a software
to meet his needs
investigates and
assigns some people to create one with required
features, that’s called
REQUIREMENTS
After that, other execute the software to make sure
it meets the requirements, that’s called
TESTING
Hopefully, a SOFTWARE will be released with full related documents,
CONTRACT will be paid,CUSTOMER will be over-‐satisfied
Wonderful ending…
But, wait. The fact is…
Source: The CHAOS Manifesto, The Standish Group, 2012.
14%
57%
29%
Thành côngThử tháchThất bại
SuccessfulChallenged Failed
Customers are so disappointed…
What customers needWhat we promise
What customers pay
What customers receive
Images: http://natishalom.typepad.com/nati_shaloms_blog/2008/04/one-‐requirment.html
Someone wants a software
to meet his needs, investigates and assigns some people to
create one with required features, that’s called
REQUIREMENTS
Software creation work is assigned to
Development teamThis team work together and do
PlanningWhat will be done in next
month/weekto have (some) completed feature(s)
to release at end of next month/week
Result of planning meeting
is a
Plan
that includes goals
followed by
work that needs to completed
in this month/week
Work is disseminated to each team member.
Members will work with
close collaboration
The team has daily meeting L
15 minutes/day
to update, check the working
progress, and fix rising issues.
Not done yet, development team should have a reflection meeting
HOW did team WORK? Could team work BETTER?Try to find out some points that should be IMPROVED in next month/week
Scrum concentrates on:Collaboration over documentCustomer problem solving over contract signing
Scrum quickly respond to changes!
Customers can receive software right after one month, or one week
eXtreme Programming
Read more: http://www.hanoiscrum.net/hnscrum/learning/167
Principles• Rapid Feedback
• Assume Simplicity
• Incremental Change
• Embracing Change
• Quality WorkValue• Communication• Simplicity• Feedback• Respect• Courage
Develop software with highest quality, lowest cost, fewest bugs, hyper productivity and maximize ROI
eXtreme Programming
Source: http://testing.agilebuddha.com/wp-‐content/uploads/2012/12/PairProgrammingInAction.jpghttp://1.bp.blogspot.com/_9kQQgQD35rY/SYyl7X3pcII/AAAAAAAAAhY/8EWmpZzyIow/s400/pairProgramming.jpg
Pair Programming
Lean Software Development
Apply Lean thinking in software development
7 WASTES
1. Extra Features2. Handovers3. Task Switching4. Work in Progress 5. Failure Demand 6. Delays7. Defects
Read more: http://www.hanoiscrum.net/hnscrum/learning/168-‐agilemethod3-‐lean-‐software-‐development
7 principles1. Eliminate Waste
2. Create Knowledge
3. Defer Commitment
4. Deliver Fast
5. Respect People
6. Build Quality In
7. Optimize The Whole
Agile ManifestoWe are uncovering better ways of developing software by doing it and helping others to 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.
Source: AgileManifesto.org
Agile now
Each team has 2 people:-‐ 1 controls with commands: GO, STOP, TURN LEFT, TURN RIGHT-‐ 1 follows another’s commands
è Goal: In 30 seconds, make highest number of “high quality steps”.
Why Agile?
As in US law
100%
projects of Ministry of Defence must
use Agile!
42%
49%
9%
Successful projects
Thành công Thử thách Thất bạiSuccessful Challenged Failed
Why Agile?
-‐ Significant experience in usage of modern PHP frameworks (Yii, Zend ...)-‐ Professional knowledge of JavaScript / Jquery/Ajax, CSS, XML, HTML, CMS.-‐ Magento, Drupal, Zoomla experience is preferred.-‐ Experience of web development. UI and usability understanding.-‐ HTML5 is a plus-‐ SEO experience is preferred
Source: http://www.vietnamworks.com/senior-‐php-‐software-‐engineer-‐based-‐hcmc-‐401465-‐jv
Source: http://www.vietnamworks.com/php-‐developers-‐with-‐good-‐front-‐end-‐skills-‐html-‐css-‐js-‐400081-‐jv
-‐ Read and understand requirement specification-‐ Create Detail Design independently -‐ Create System Design with instruction from Team Leader/ Senior Team Leader-‐ Do coding and unit test-‐ Do reviewing source code & design documents
Minimum Viable Product
Product has minimumfeature, fast release• No extra features• Optimize from feedback data
Build
Resources
• HanoiScrum.net
• AgileAtlas.org
• ScrumAlliance.org
• AgileAlliance.org
• Các hội thảo Agile Tour, ScrumDay…• Tool Vendors (MSDN, IBM, VersionOne…)
Communities
http://hanoiscrum.net
http://www.facebook.com/groups/cocodojo
http://scrumday.vn
http://tapchilaptrinh.wordpress.com