Agile learning with projects
description
Transcript of Agile learning with projects
SESSION 3AGILE LEARNING WITH PROJECTS
AgileDev Tour
Duong Trong [email protected]
Hanoi, December 2010
TurboBoost your development performance
2
Objectives
Requirements for agile adoption and adjustment
Team OrganizationProcessingToolingContinuous improvementProject-based learning and AgileDevBuilding Community of AgileDev in Hanoi
TurboBoost your development performance
3
LET’S GET LOUD!
Recap 1: Agile Manifesto
TurboBoost your development performance
4
Recap 2: Agile Methods
Methods
XP
Scrum
KanbanRAD
YAADM
TurboBoost your development performance
5
Requirements for agile adoption
People believe that Agile methods are for senior developers; Agile methods are for small projects; Agile methods are for small teams.
People (inc. me) also BELIEVE that Junior developers benefit from agile adoptions; Big projects can be efficient with agile methods; Big teams can work as agile teams.
TurboBoost your development performance
6
How can you break the Waterfall model?
TurboBoost your development performance
7
Team Organization
There must be at least one senior developer in the group.
Based on the overall expertise, select the correct methods. Ask: does the decision make sense?
Do good training for at least 2 purposes Technical knowledge and skills Team understanding and communication
Keep in mind the “agile spirit” during setting up your team.
TurboBoost your development performance
8
Process
By answer some questions How frequently can you talk with customer? Can your team mates manage them selves? How do you best fit with meeting and task
assignment? Can all your team do Unit Testing well? Who are senior in your team? Can you do estimation well?
You’ll select a well-defined method from your toolbox;
or build your own from best practices (YAADM)
TurboBoost your development performance
9
Tooling
Agile project management tool (not MS Project!) such as a whiteboard, an online dashboard, ticket management system, issue management system such as Redmine.org , assembla.com, Google Code, JIRA).
Software Configuration Management (SCM) system: SVN, CVS, Git, etc.
Unit Testing framework (xUnit family: JUnit, NUnit, HttpUnit, etc.)
Build Automation: Ant, Maven, MakeContinuous Integration (CI): Hudson, CruiseControl,
MS Team Foundation ServerAgile languages and frameworks
TurboBoost your development performance
10
Kaizen
Think small “How can I now how many code I write a day?”, “how
much time does my team save by using code template?”, “Is there any better way to generate useful JavaDoc automatically?”
Support your idea with “productivity” word in mind.
Measure your action with useful metricsKeep writing to save your “theory”, and share
it.
TurboBoost your development performance
11
Metrics and Measurement
LOC, KLOCKLOCs/DAY, KLOCs/SprintFeatures/Day, Features/SprintBugs Rate, Bugs DensityCohesion Degree, Coupling DegreeCyclomatic complexityProgram Load time, Execution time
TurboBoost your development performance 12
What can you learn from projects
TurboBoost your development performance
13
Project-based learning
Project-based learning, is the use of in-depth and rigorous classroom projects to facilitate learning and assess student competence. Students use technology and inquiry to respond to a complex issue, problem or challenge.
Wikipedia.org
Why do agile methods support PBL?
TurboBoost your development performance 14
QnAThere is no dummy question!
TurboBoost your development performance 15
Hanoi Agile Methods User Group?
Agile Hanoi, It should be appended here: http://www.agilealliance.org/resources/agile-user-groups/
TurboBoost your development performance
16
WITH AGILE METHODS
Looking forward for a new beginning