Teaching Agile Software Development
Martin Kropp, FHNW Andreas Meier, ZHAW ECSS 2013, Amsterdam, Oct. 8.-9., 2013
Teaching Agile Software Development Martin Kropp, FHNW Andreas - - PowerPoint PPT Presentation
Teaching Agile Software Development Martin Kropp, FHNW Andreas Meier, ZHAW ECSS 2013, Amsterdam, Oct. 8.-9., 2013 Agenda Motivation Pyramid of Agile Competences Agile Software Engineering Course Evaluation ECSS '13, Amsterdam
Martin Kropp, FHNW Andreas Meier, ZHAW ECSS 2013, Amsterdam, Oct. 8.-9., 2013
ECSS '13, Amsterdam
2
ECSS '13, Amsterdam
3
Agile 57% Non- Agile 43%
Company Survey
www.swissagilestudy.ch
0% 6% 2% 21% 16% 31% 25% 32% 64% 52% 53% 40% 20% 10% 19% 7% Agile Companies Non-Agile Companies Agile IT-Professionals Non Agile IT-Professionals Unsatisfied Somewhat satisfied Satisfied Very satisfied
ECSS '13, Amsterdam
4
ECSS '13, Amsterdam
5
ECSS '13, Amsterdam
6
19% 9% 25% 25% 17% 29% 53% 45% 46% 39% 58% 51% 23% 44% 23% 28% 22% 13%
Time to market Ability to manage changing priorities Alignment between IT & business objectives Project visibility Development process Requirements management
Much worse Worse Unchanged Improved Significantly improved Don't know
ECSS '13, Amsterdam
7
ECSS '13, Amsterdam
8
33% 45% 55% 52% 42% 47% 35% 23% 22% 42% 15% 16% 12% 7% 9%
Productivity Software quality Software maintainability / extensibility capability Development cost Engineering discipline
Much worse Worse Unchanged Improved Significantly improved Don't know
ECSS '13, Amsterdam
9
ECSS '13, Amsterdam
10
ECSS '13, Amsterdam
11
0% 20% 40% 60% 80% 100%
Behavior Driven Development (BDD) Acceptance Test Driven Development (ATDD) Automated acceptance testing Continuous delivery Collective code ownership Pair programming Test Driven Development (TDD) Refactoring Continuous integration Automated builds Coding standards Unit testing
Agile IT-Professionals Agile Companies
ECSS '13, Amsterdam
12
0% 20% 40% 60% 80% 100%
Kanban Pull System/Limited WIP On-site customer Continuous delivery Open work area Story mapping Burndown charts Retrospective Taskboard Daily standup Iteration planning User stories Release planning
Agile IT-Professionals Agile Companies
ECSS '13, Amsterdam
13
2% 7% 11% 34% 4% 54% 54% 53% 59% 34% 35% 10% 35% 5% 1% 4%
0% 20% 40% 60% 80% 100%
Agile development should be an integral part of the CS curriculum M.Sc. students have sufficient knowledge
B.Sc. students have sufficient knowledge
Agile should not be taught at university, it is better learned on the job
COMPLETELY DISAGREE DISAGREE AGREE COMPLETELY AGREE
ECSS '13, Amsterdam
14
ECSS '13, Amsterdam
15
Agile Values Management Practices Engineering Practices
ECSS '13, Amsterdam
16
Agile Values Management Practices Engineering Practices
ECSS '13, Amsterdam
17
Agile Values Management Practices Engineering Practices
ECSS '13, Amsterdam
18
ECSS '13, Amsterdam
19
Agile Values Management Practices Engineering Practices Agile Values Management Practices Engineering Practices
ECSS '13, Amsterdam
20
ECSS '13, Amsterdam
21
W Lecture Workshop 1 eXtreme Programming Installation IDE and Plug-Ins Coding Assessment 1 2 eXtreme Programming Version Control Coding Assessment 2 Version Control System (SVN) 3 eXtreme Programming Project Automation Build Scripts (Ant) 4 Continuous Integration CI (Jenkins Build Server) 5 Unit Testing JUnit 6 Unit Testing / Mock Objects Clean Code / Code Smells JUnit EasyMock 7 Refactoring Refactoring 8 Introduction to Test-Driven Design / Scrum TDD, The Craftsman articles 9 Scrum Agile Game Development 10 Scrum Agile Game Development 11 Agile Estimating and Planning Agile Game Development Planning Poker 12 Metrics Agile Teams Agile Game Development Metrics (EMMA) 13 User Stories Agile Principles Agile Game Development 14 Demonstration of computer games Agile Game Development
ECSS '13, Amsterdam
22
Agile Values Management Practices Engineering Practices
ECSS '13, Amsterdam
23
ECSS '13, Amsterdam
24
ECSS '13, Amsterdam
25
ECSS '13, Amsterdam
26
Institut für Mobile und Verteilte Systeme Fachhochschule Nordwestschweiz martin.kropp@fhnw.ch
Institut für angewandte Informationstechnologie Zürcher Hochschule für Angewandte Wissenschaften meea@zhaw.ch
ECSS '13, Amsterdam
27