Software Project Challenges
Software Development != Coding
Although programming (coding) of software is
an important part of any software effort, it is
usually less than one quarter (1/4) of the total
effort. On large projects it is less than o
1. In the reading assignment this week Poppendieck and Cusumano point out that some of the
principles of the lean philosophy have been practiced by software developers in the past, before
agile methods like XP and Scrum were invented. Describe one of thes
1. Describe each of the 6 different roles mentioned by FDD. For each role describe:
a. What skills and/or knowledge is needed to fulfill the role. Justify your answer by
referring to the tasks and responsibilities they have.
i. Project Manager Funds and m
Peer Programming versus Individual Programming
Pair programming is an approach to developing software in which two programmers work
together on the same problem, algorithm, task, or design. They sit side by side at a computer
where one types and the other
a. 07 Feb to 19 Feb 2002
07 Aug to 19 Aug 2015
b. Signatories listed at the bottom of the page.
c. To summarize, each person agrees with the agile manifesto and agrees with its simplicity
2. Many of the signers are developers and managers th
1. What is a plan-driven software development process?
A plan-driven software development process is an approach to focus on quality, discipline,
development strategies, and process improvement. It assigns tasks and responsibilities and has the goal
For each different color of the Crystal family of methods there are different assumptions about the
project and different expectations of the project team. In general the process becomes more formal as
the risks of the project increase.
1. Describe how pr
The Scaled Agile Framework (SAFe) describes goals and plans at several levels of abstraction:
Describe examples of each of these for a company like MyHeritage that produces software and services
1. What is the difference between defined and empirical processes?
a. Defined Plan based, system may be described by equations that predict response,
variables with influence are well understood, management control/measures variables
b. Empirical agile, s
1. How are user stories similar to use cases?
a. User stories and use cases are both approaches for capturing requirements. They each
show the observable/end results.
2. How are user stories different from use cases?
a. User stories are the agile approach
Prototyping plays a major role in DSDM. One of its main purposes is to replace documentation describing
the final product with a working version of the product. That is, DSDM emphasizes the creation of
software artifacts rather than documents in order to
Assume that your company has formed a team to develop some new features for the Canvas iPhone app.
Initial planning has determined that the work can be done in about 5 sprints of 2 weeks each by a team
consisting of 4 Developers, 1 Scrum Master and 1 Prod
CS 555 (SSW 555) Agile Methods for Software Development Syllabus
The syllabus below describes a recent offering of the course, but it may not be completely up to
date. For current details about this course, please contact the course coordinator. Course co
Use Cases and User Stories
Use Cases plan-based approach for
User Stories agile approach for capturing
Developed by Ivar Jacobson in 1980s for OO
Part of UML (and RUP)
Origin of Scrum
Practices of Scrum
Origin of Scrum
Plan-based methods assumed that the
development process was predictable.
Some projects required more adaptation than
Defined Processes (Plan-based)
Overview of testing
Test-First (or Test-Driven) Development
Evolution from Test-Driven to BehaviorDriven
FitNesse tool for creating acceptance
Overview of Testing
Unit testing (for developer)
Pair Programming Illuminated by Laurie
Williams and Robert Kessler, AddisonWesley 2003.
Overview of pair programming
Myths of pair programming
Overview of Pair Programm
The agile practices used at Spotify have been adapted to their companys product, market and staff. That
is, they work well for a company that provides a new kind of music service using changing technology.
FDD was developed for a different type of project