Agile
Education
Reflection from a higher education institution
About
• Higher Diploma in Software
 Engineering
• ISO + Lean practices
• Agile in Software
 Development & Academic
 Activities
EduCrisis
            Image: TuoiTre & LaoDong
Our Problems
• Old-fashion teaching &
  learning
• School-Industry Gap
• Low Employability
• Low Readiness
• Diversity of students
How      Values




Agile                 Curriculum


Help?
                            Teaching




                   Management




        Measurement
Agile Values - Recap
• 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.

                                                                         AgileManifesto.org


                                                                                           7
We value




 Ability of self-directed learning
 over measurement and certification;




                                                Agile
That is, while there is value in the items     Education
on the right, we value the items on the left
more.
Time for New Curriculum

“Agility in software development has
implications for organizational agility. The
shift to agile methods and models signals a
larger transformation in the workplace and
the organization of the 21st century”
                     Linda Levine, Software Engineering Institute
1. was evolved and is applied in the
                                  industry
10                            2. educates for teamwork
Reasons                       3. deals with human aspects
for                           4. encourages diversity

Agile
                              5. supports learning processes
                              6. improves habits of mind
                              7. emphasizes management skills
 Curriculum
                              8. enhances ethical norms
                              9. highlights a comprehensive image
                                  of software engineering
                              10. provides a single teachable
Hazzan & Dubinsky,
Why Software Engineering          framework
Programs Should Teach Agile
Software Development
Agile Curriculum
• Embedding agile practices to existing courses
   –   Pair Programming
   –   TDD
   –   Simple DesignAgile Modeling
   –   Refactoring
   –   Continuous Integration
   –   User story
   –   Scrum …
• New full-featured courses: agile developers,
  agile software constructiondevelopment, Scrum
  foundation, agile coaching, ...
Several empirical researches reported that agile practices foster the learning process
of software development, and results in positive learning outcomes.
Teaching Shift
NO Meaningless Learning
Enrich Learning Experience

Scrum Team & Scrum tool




Meeting Professionals                           Coding Dojo




Active Learning                              Building Software
Agile Instruction
• “Individuals and interactions” focused
• Maximizing communication
• Just-in-time
   – Light-weight adaptive planning (in Scrum way) &
     implementation
   – Continuous & diversified evaluation
• Short feedback cycles
• Continuous improvement (kaizen)
Adaptation




                  Scrum
Transparency                              Inspection




   Scrum provides an extremely useful framework for



  MANAGEMENT
Daily Meeting & TaskBoard
These practices help in transparency, team collaboration and efficiency
Empower the Team




Functional Hierarchical Teams   Cross-functional Self-organizing Team

Command-Control                 Remove Command-Control culture
Measurement
 • “Ability of self-directed
   learning”
 • Rapid and short feedback
   lifecycle
 • Built-in integrity
 • Test-first*
• Daily Standup
                              Really
                              Good
• Retrospectives
• Backlogs and JIT planning
• ScrumBoard
 (taskboardKanban)
                              Stuffs
• Short Feedback Cycle




                               :-)
• Value-based
 Implementation
“Agile development is no silver bullet, but it is useful.

Organizationally, agile delivers value and reduces costs;

technically, it highlights excellence and minimal bugs;

personally, many find it their preferred way to work.”


                                           James Shore
                        “The Art of Agile Development”


To conclude..
BACK UP SLIDES
7
1. Encourages Student-Faculty
     Contact
2. Encourages Cooperation
     among students
3. Encourages Active Learning     Principles
4. Gives Prompt Feedback
5. Emphasizes Time on Task
                                      for
6. Communicates High                 Best
     Expectations                 Practices
7. Respects Diverse Talents and
     Ways of Learning              Agile supports these principles
[Chickering and Gamson]
• Basic Skills: Reading, Writing, and
  Mathematics
• Foundation Skills: Knowing How to Learn
• Communication Skills: Listening and Oral


                                                             What
  Communication
• Adaptability: Problem Solving and Creative
  Thinking
• Group Effectiveness: Interpersonal Skills,
  Negotiation, and Teamwork
                                                             Employers

                                                             Want
• Influence: Organizational Effectiveness and
  Leadership
• Personal Management: Self-Esteem and
  Motivation/Goal Setting
• Attitude: Cognitive Style
• Applied Skills: Occupational and
  Professional Competencies
                               [ETS, “Standard for what?”]
References
1.    Chickering, A. W. and Gamson, Z. F. (1989), Seven principles for good practice in undergraduate education.
      Biochemical Education, 17: 140–141. doi: 10.1016/0307-4412(89)90094-0
2.    Educational Testing Services (2003), Standards for What?, The Economic Roots of K-16 Reform
      (http://www.learndoearn.org/For-Educators/Standards-for-What.pdf )
3.    Hazzan O. and Dubinsky Y. (2007), Why Software Engineering Programs Should Teach Agile Software
      Development, SIGSOFT Softw. Eng. Notes, Vol. 32, No. 2. (March 2007), pp. 1-3,
4.    Johnston, A.J. & Johnson, C.S. (2010), 'Extreme Programming in the University', Annual International Conference
      on Computer Science Education: Innovation and Technology, Phuket, Thailand, December 2010 in Proceedings of
      Annual International Conference on Computer Science Education: Innovation and Technology (CSEIT 2010), ed
      Anton Ravindran, Global Science and Technology Forum, Singapore, pp. 3-8.
5.    Linda Levine (2005), Reflection on Software Agility and Agile Methods: challenges, dilemmas, & the way ahead,
      (http://www.sei.cmu.edu/library/assets/reflections.pdf )
6.    Lu, B, and DeClue T. (2011), Teaching agile methodology in a software engineering capstone course, Journal of
      Computing Sciences in Colleges, Volume 26 Issue 5, May 2011, Pages 293-299
7.    Maamar, Z. , Issa, G. , Daoud, D. , Turani, A. & Zaroor, M.I. (2011), Incorporating innovative practices in software
      engineering education, Global Engineering Education Conference (EDUCON), 2011 IEEE
8.    Melnik G. and Maurer F. (2003), Introducing Agile Methods in Learning Environments: Lessons Learned , Lecture
      Notes in Computer Science, 2003, Volume 2753/2003, 172-184, DOI: 10.1007/978-3-540-45122-8_20
9.    Rico D. F. and Sayani H. H. (2009), Use of agile methods in software engineering education, Agile Conference
      2009.
10.   Soria A., Campo M. R. and Rodriguez G. (2012) ,Improving Software Engineering Teaching by Introducing Agile
      Management , 41 JAIIO - ASSE 2012 - ISSN: 1850-2792 - Page 215
11.   Steve Peha(2011), Agile Schools: How Technology Saves Education (Just Not the Way We Thought it Would),
      InfoQ (http://www.infoq.com/articles/agile-schools-education)
Stay Tuned..
      Monthly Gathering:
      • www.hanoiscrum.net
      • www.agilevietnam.org

      Online Discussion (En &Vi):
      • https://www.facebook.com/groups/hanoiscrum



      Dương Trọng Tấn
      • tandt@fpt.edu.vn
      • https://www.facebook.com/duongtrongtan
      • http://vn.linkedin.com/in/tandt

Agile Education

  • 1.
    Agile Education Reflection from ahigher education institution
  • 2.
    About • Higher Diplomain Software Engineering • ISO + Lean practices • Agile in Software Development & Academic Activities
  • 3.
    EduCrisis Image: TuoiTre & LaoDong
  • 4.
    Our Problems • Old-fashionteaching & learning • School-Industry Gap • Low Employability • Low Readiness • Diversity of students
  • 6.
    How Values Agile Curriculum Help? Teaching Management Measurement
  • 7.
    Agile Values -Recap • 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. AgileManifesto.org 7
  • 8.
    We value Abilityof self-directed learning over measurement and certification; Agile That is, while there is value in the items Education on the right, we value the items on the left more.
  • 9.
    Time for NewCurriculum “Agility in software development has implications for organizational agility. The shift to agile methods and models signals a larger transformation in the workplace and the organization of the 21st century” Linda Levine, Software Engineering Institute
  • 10.
    1. was evolvedand is applied in the industry 10 2. educates for teamwork Reasons 3. deals with human aspects for 4. encourages diversity Agile 5. supports learning processes 6. improves habits of mind 7. emphasizes management skills Curriculum 8. enhances ethical norms 9. highlights a comprehensive image of software engineering 10. provides a single teachable Hazzan & Dubinsky, Why Software Engineering framework Programs Should Teach Agile Software Development
  • 11.
    Agile Curriculum • Embeddingagile practices to existing courses – Pair Programming – TDD – Simple DesignAgile Modeling – Refactoring – Continuous Integration – User story – Scrum … • New full-featured courses: agile developers, agile software constructiondevelopment, Scrum foundation, agile coaching, ... Several empirical researches reported that agile practices foster the learning process of software development, and results in positive learning outcomes.
  • 12.
  • 13.
  • 14.
    Enrich Learning Experience ScrumTeam & Scrum tool Meeting Professionals Coding Dojo Active Learning Building Software
  • 15.
    Agile Instruction • “Individualsand interactions” focused • Maximizing communication • Just-in-time – Light-weight adaptive planning (in Scrum way) & implementation – Continuous & diversified evaluation • Short feedback cycles • Continuous improvement (kaizen)
  • 16.
    Adaptation Scrum Transparency Inspection Scrum provides an extremely useful framework for MANAGEMENT
  • 17.
    Daily Meeting &TaskBoard These practices help in transparency, team collaboration and efficiency
  • 18.
    Empower the Team FunctionalHierarchical Teams Cross-functional Self-organizing Team Command-Control Remove Command-Control culture
  • 19.
    Measurement • “Abilityof self-directed learning” • Rapid and short feedback lifecycle • Built-in integrity • Test-first*
  • 20.
    • Daily Standup Really Good • Retrospectives • Backlogs and JIT planning • ScrumBoard (taskboardKanban) Stuffs • Short Feedback Cycle :-) • Value-based Implementation
  • 21.
    “Agile development isno silver bullet, but it is useful. Organizationally, agile delivers value and reduces costs; technically, it highlights excellence and minimal bugs; personally, many find it their preferred way to work.” James Shore “The Art of Agile Development” To conclude..
  • 23.
  • 24.
    7 1. Encourages Student-Faculty Contact 2. Encourages Cooperation among students 3. Encourages Active Learning Principles 4. Gives Prompt Feedback 5. Emphasizes Time on Task for 6. Communicates High Best Expectations Practices 7. Respects Diverse Talents and Ways of Learning Agile supports these principles [Chickering and Gamson]
  • 25.
    • Basic Skills:Reading, Writing, and Mathematics • Foundation Skills: Knowing How to Learn • Communication Skills: Listening and Oral What Communication • Adaptability: Problem Solving and Creative Thinking • Group Effectiveness: Interpersonal Skills, Negotiation, and Teamwork Employers Want • Influence: Organizational Effectiveness and Leadership • Personal Management: Self-Esteem and Motivation/Goal Setting • Attitude: Cognitive Style • Applied Skills: Occupational and Professional Competencies [ETS, “Standard for what?”]
  • 26.
    References 1. Chickering, A. W. and Gamson, Z. F. (1989), Seven principles for good practice in undergraduate education. Biochemical Education, 17: 140–141. doi: 10.1016/0307-4412(89)90094-0 2. Educational Testing Services (2003), Standards for What?, The Economic Roots of K-16 Reform (http://www.learndoearn.org/For-Educators/Standards-for-What.pdf ) 3. Hazzan O. and Dubinsky Y. (2007), Why Software Engineering Programs Should Teach Agile Software Development, SIGSOFT Softw. Eng. Notes, Vol. 32, No. 2. (March 2007), pp. 1-3, 4. Johnston, A.J. & Johnson, C.S. (2010), 'Extreme Programming in the University', Annual International Conference on Computer Science Education: Innovation and Technology, Phuket, Thailand, December 2010 in Proceedings of Annual International Conference on Computer Science Education: Innovation and Technology (CSEIT 2010), ed Anton Ravindran, Global Science and Technology Forum, Singapore, pp. 3-8. 5. Linda Levine (2005), Reflection on Software Agility and Agile Methods: challenges, dilemmas, & the way ahead, (http://www.sei.cmu.edu/library/assets/reflections.pdf ) 6. Lu, B, and DeClue T. (2011), Teaching agile methodology in a software engineering capstone course, Journal of Computing Sciences in Colleges, Volume 26 Issue 5, May 2011, Pages 293-299 7. Maamar, Z. , Issa, G. , Daoud, D. , Turani, A. & Zaroor, M.I. (2011), Incorporating innovative practices in software engineering education, Global Engineering Education Conference (EDUCON), 2011 IEEE 8. Melnik G. and Maurer F. (2003), Introducing Agile Methods in Learning Environments: Lessons Learned , Lecture Notes in Computer Science, 2003, Volume 2753/2003, 172-184, DOI: 10.1007/978-3-540-45122-8_20 9. Rico D. F. and Sayani H. H. (2009), Use of agile methods in software engineering education, Agile Conference 2009. 10. Soria A., Campo M. R. and Rodriguez G. (2012) ,Improving Software Engineering Teaching by Introducing Agile Management , 41 JAIIO - ASSE 2012 - ISSN: 1850-2792 - Page 215 11. Steve Peha(2011), Agile Schools: How Technology Saves Education (Just Not the Way We Thought it Would), InfoQ (http://www.infoq.com/articles/agile-schools-education)
  • 27.
    Stay Tuned.. Monthly Gathering: • www.hanoiscrum.net • www.agilevietnam.org Online Discussion (En &Vi): • https://www.facebook.com/groups/hanoiscrum Dương Trọng Tấn • tandt@fpt.edu.vn • https://www.facebook.com/duongtrongtan • http://vn.linkedin.com/in/tandt