Development at University Level: Values, Management, and - - PowerPoint PPT Presentation

development at university level
SMART_READER_LITE
LIVE PREVIEW

Development at University Level: Values, Management, and - - PowerPoint PPT Presentation

Teaching Agile Software Development at University Level: Values, Management, and Craftsmanship Martin Kropp, FHNW Andreas Meier, ZHAW CSEE&T 2013, San Francisco, May 20, 2013 Agenda Motivation Pyramid of Agile Competences


slide-1
SLIDE 1

Teaching Agile Software Development at University Level: Values, Management, and Craftsmanship

Martin Kropp, FHNW Andreas Meier, ZHAW CSEE&T 2013, San Francisco, May 20, 2013

slide-2
SLIDE 2

Agenda

  • Motivation
  • Pyramid of Agile Competences
  • Agile Software Engineering Course
  • Evaluation

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

2

slide-3
SLIDE 3

Motivation

  • Swiss Agile Study 2012 (SAS)

– 140 IT companies – 194 IT Professionals

  • Results?

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

3

Agile 57% Non- Agile 43%

Company Survey

www.swissagilestudy.ch

slide-4
SLIDE 4

SAS Results: Satisfaction

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

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

4

How satisfied are you with your current methodology?

slide-5
SLIDE 5

Motivation

SAS shows very promising results:

  • much higher satisfaction with agile methodologies

than with plan-driven ones

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

5

slide-6
SLIDE 6

SAS Results: Agile Influence

How has agile software development influenced the following aspects?

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

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

slide-7
SLIDE 7

Motivation

SAS shows very promising results:

  • significant improvement in the ability to manage

changing priorities

  • improvement of the development process in general
  • much faster time-to-market

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

7

slide-8
SLIDE 8

SAS Results: Agile Influence

How has agile software development influenced the following aspects?

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

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

slide-9
SLIDE 9

Motivation

SAS shows very promising results at first view, there are also disappointing findings

  • Development cost
  • Software quality
  • Software maintainability

have not really improved as much as expected

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

9

slide-10
SLIDE 10

Motivation

Pros:

  • Major improvements in project management

aspects Cons:

  • Minor or no improvements in financial,

technical or quality aspects Reasons?

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

10

slide-11
SLIDE 11

How Agile is Applied

  • Engineering Practices

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

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

slide-12
SLIDE 12

How Agile is Applied

  • Managing Practices

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

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

slide-13
SLIDE 13

and Agile Education …

  • What does this mean for teaching agile

software development?

  • Which skills and competences do the students

need?

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

13

slide-14
SLIDE 14

Pyramid of Agile Competences

  • Technical skills or engineering

practices, i.e. unit testing, clean code, test-driven development, collective code ownership etc.

  • Engineering practices are

mostly competences that refer to the single individual

  • Software Craftsmanship
  • builds the foundation of the

pyramid

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

14

Agile Values Management Practices Engineering Practices

slide-15
SLIDE 15

Pyramid of Agile Competences

  • Agile management practices

define how agile projects are

  • rganized and run
  • I.e. iterative planning, short

release cycles, small releases, strong customer involvement and highly interactive teams

  • Management practices are

typically team aspects, which require appropriate social competences

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

15

Agile Values Management Practices Engineering Practices

slide-16
SLIDE 16

Pyramid of Agile Competences

  • On top of these competences

come the agile values, which are articulated in the Agile Manifesto

  • i.e. are characteristics like

mutual respect, openness, and courage

  • The most difficult to teach

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

16

Agile Values Management Practices Engineering Practices

slide-17
SLIDE 17

Agile Education Concept

  • All three levels should be considered
  • Bachelor and Master level
  • Appropriate teaching methods should be

applied

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

17

slide-18
SLIDE 18

Agile Software Engineering Course

  • 16-week semester class in the last year of the

undergraduate level (B.Sc.)

  • The students completed one Java programming

project in an agile team of six to eight members during the course of the semester

  • Per week there were a 2 hours lecture with the

whole class and a 2 hours programming workshop with half the class

  • 27 students were enrolled

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

18

slide-19
SLIDE 19

Agile Software Engineering Course

  • Distribution of lectures, workshops and self-

study:

Lectures 32 h Workshops 32 h Self-study 56 h Total 120 h

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

19

slide-20
SLIDE 20

Agile Software Engineering Lecture

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

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

20

Agile Values Management Practices Engineering Practices

slide-21
SLIDE 21

Agile Game Development

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

21

slide-22
SLIDE 22

Course Evaluation

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

22

slide-23
SLIDE 23

Course Evaluation

What did you like best about the course?

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

23

slide-24
SLIDE 24

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

24

?

slide-25
SLIDE 25

Kontakt

  • Martin Kropp

Institut für Mobile und Verteilte Systeme Fachhochschule Nordwestschweiz martin.kropp@fhnw.ch

  • Andreas Meier

Institut für angewandte Informationstechnologie Zürcher Hochschule für Angewandte Wissenschaften meea@zhaw.ch

CSEE&T '13, San Francisco

  • M. Kropp / A. Meier

25