Agile Software Engineering Frank Maurer Agile Software Engineering Lab, University of Calgary ...

14
Agile Software Engineering Frank Maurer Agile Software Engineering Lab, University of Calgary http://ase.cpsc.ucalgary.ca/Frank.Maurer [email protected]

Transcript of Agile Software Engineering Frank Maurer Agile Software Engineering Lab, University of Calgary ...

Agile Software Engineering

Frank MaurerAgile Software Engineering Lab, University of Calgaryhttp://ase.cpsc.ucalgary.ca/[email protected]

What is software development?

2Agile Methods Overview

Understand

ConstructEvaluate

3Agile Methods Overview

Iterative and incremental development

Product Vision

Final System

Applicationfeatures

Hardware

Data access

Business layer

UI layer

Fe

atu

re 1

Fe

atu

re 5

6

Fe

atu

re 4

5a

Fe

atu

re 4

5b

4

Adaptive project management

Customer Communication• Project planning meetings,

on-site customer reps …

Design & Implement• TDD, develop feature

code, vertical slices

Constant Feedback• Demos, pairing with

customer, iteration reviews

Agile Methods Overview

Whole team

o “Individuals and interactions”

o Customer representatives & developers & testers

o Planning meetings

o Retrospectives

5Agile Methods Overview

eXtreme Developer

Quality Assurance

Interaction Design

Software Security

Software Architecture

Domain-driven Design

Requirements Engineering

Development Team

Customer Team+ Testers

PairProgramming

Ux Designers

Adapted from Rick Mugridge. Advanced FIT Tutorial

Story Test Driven Development – Agile Approach to Quality

6Agile Methods Overview

Agile Project Management

Agile Project Planning

o Project vision the really big picture

o Release planning strategic pictureo Chooses a few months worth of user stories/featureso Date and scopeo Can be changedo Creates product backlog

o Iteration planning tactical pictureo Few weekso Set of stories prioritized by customero Creates sprint backlogo Define set of tasks for each storyo Task granularity: 1-3 work days estimation accuracy

7

8Agile Software Engineering

Iteration Zero

o Demonstrate tool competency as a team by implementing a few features of the assignment project

o Create a release plan and low fidelity prototypes

o Start reporting process metrics

o Form a team out of a group of people

Agile Software EngineeringProject Visioning

Frank MaurerAgile Software Engineering Lab, University of Calgaryhttp://ase.cpsc.ucalgary.ca/[email protected]

10

What is software development?

Understand

ConstructEvaluate

Project Visioning

Project Vision – First step towards understanding

o Develop general goal for project

o Market research, champion, past experience

Innovation games

o The toughest part of innovation:Accurately predicting what customerswant, need, and will pay for.

o 12 games for answering this question

12Project Visioning

Product box

13Project Visioning

Vision Box – Jim Highsmith

o Who – Clarify the target customer and use language intended for that audience

o What – Describe what the product is

o When – Discuss stakeholders’ time expectations

o Where – Will the new product be used by everyone in the organization, or only in parts

o Why – Why would the users and stakeholders change their existing habits and migrate to this new product?

sell box to audience14Project Visioning