Agile Methods About Last Lecture Clarification on process - - PowerPoint PPT Presentation

agile methods about last lecture
SMART_READER_LITE
LIVE PREVIEW

Agile Methods About Last Lecture Clarification on process - - PowerPoint PPT Presentation

CPSC 310 Software Engineering Lecture 3 Agile Methods About Last Lecture Clarification on process selection: People (so developer) are reluctant to change. Introducing a new process into a company is expensive and time consuming.


slide-1
SLIDE 1

CPSC 310 – Software Engineering

Lecture 3

Agile Methods

slide-2
SLIDE 2

About Last Lecture

Clarification on process selection:

  • People (so developer) are reluctant to change.
  • Introducing a new process into a company is

expensive and time consuming.

  • Finally it's all about context
slide-3
SLIDE 3

3

Where It All “Began”

Agile Man anifesto to (2001)

http://agilemanifesto.org/

slide-4
SLIDE 4

4

Individuals and in interactions

  • ver processes and tools
slide-5
SLIDE 5

5

Working software

  • ver comprehensive documentation
slide-6
SLIDE 6

6

Customer coll llaboratio ion

  • ver contract negotiation
slide-7
SLIDE 7

7

Respondin ing to change

  • ver following a plan
slide-8
SLIDE 8

8

Class Activity: Agile Methods

Advantages ? Disadvantages ?

slide-9
SLIDE 9

9

Agile Software Development Advantages

  • Lower risk
  • Close customer involvement
  • Better visibility
  • Compliant with changes
slide-10
SLIDE 10

10

Agile Software Development Disadvantages

  • Harder to enforce with inexperienced programmers
  • Close customer involvement (again!)
  • Hard to estimate completion schedule
  • Increases the risk of feature creep
  • Can be inefficient
slide-11
SLIDE 11

11

The Agile Landscape

More Prescriptive More Adaptive

RUP (120+) XP (13) SCRUM (9) KANBAN (3) NONE (0)

slide-12
SLIDE 12

12

Do not develop an attachment to any one weapon or any

  • ne school of

fighting.

Miyamoto Musashi

17th century Samurai

slide-13
SLIDE 13

13

Extreme programming (XP)

Kent Beck mid 90s

Whole Team Planning Game Customer Tests Small Releases Coding Standard Sustainable Pace Continuous Integration Collective Ownership Metaphor TDD Simple Design Refactoring Pair Programming http://www.extremeprogramming.org/rules.html

slide-14
SLIDE 14

14

T est-Driven Development (TDD)

  • T

est cases are written first

– Cover new functionality or improvement

  • Then the necessary function is

implemented

  • Code is “complete” when all tests pass
  • Refactor before adding feature if design

could be better

slide-15
SLIDE 15

15

Class Activity: TDD

Advantages ? Disadvantages ?

slide-16
SLIDE 16

16

Next Lecture

We will talk about SCRUM Please watch this video (one or many times) before next time to familiarize yourself with the terminology:

http://youtu.be/XU0llRltyFM