Sunteți pe pagina 1din 4

CS194 -- Getting Started

Form a group and choose a topic

CS194 Get topic approval: cs194mail@gmail.com

Proposal: due Thursday, April 13

In-class presentation, week of April 18


April 6, 2006
(there will be a handout on this next week)

CS194 -- Getting Started

Use the newsgroup to find partners/topics. Agility is the ability to create and respond to
change in order to profit in a turbulent
Team-in-a-room development works well. business environment.
Manage your risks, and prioritize your features.

Your project is 100% yours.

If someone is not contributing, tell us!

Website + Database ≠ Senior Project

We are part of the team.

Agility is the ability to create and respond to


change in order to profit in a turbulent
business environment. • In the Information Economy, the ability
to create software is key.
Companies that can
• In a world of constant change, traditional
• innovate better and faster rigorous software development methods
are not sufficient for success.
• respond quickly to
-- competitive initiatives
-- new technology
-- customer's requirements

will win.

1
Alan MacCormack (Harvard Business School) asked executives
A study of large-scale enterprise development at a software company to provide examples of "good" and "bad"
(Austin and Nolan, Harvard) found the following software projects that had led to shipping products.
flawed assumptions in large front-end loaded
projects: MacCormack and colleagues rated the products in terms of
market acceptance, expert quality rating, productivity, etc.

• It is possible to plan the project well enough so The "good" products were market failures.
that adhering to the plan produces success.
The "bad" products were a marketplace success.
• It is possible to protect against late changes
to a large systems project.

• It makes sense to lock in big project decisions


early.

The executives considered a good project to be one where


Another study:
• the specification was completed up front
• the design had been frozen MacCormack, A. D. "Product-Development Practices
• the project was executed efficiently That Work: How Internet Companies Build Software."
• the team built what they set out to build
Sloan Management Review 42, no. 2 (winter 2001): 75-84.
The executives felt that the bad projects were ones where
the final results were very different from the original goal. 20 projects from 17 companies were evaluated.

"The most striking result to emerge from the research


"The people who were overseeing projects there assumed that
concerned the importance of getting a low-functionality
the good projects were the ones that delivered to the spec.
version of the product into the customer's hands at the
In fact, good projects are ones that deliver to the market." earliest opportunity. …That one parameter explains more
than one-third of the variation in product quality across
the sample."

MacCormack identified four practices that lead to


The Agile Software Development movement was born
success:
in Feb., 2001 at the Lodge at Snowbird, Utah.
1. An early release of the evolving product to the
17 people got together to talk about newly emerging
customer.
alternatives to document-driven, rigorous software
development.
2. Getting rapid feedback from the customer and
incorporating that feedback into new design
They produced the Agile Manifesto.
experiments.

3. A team structure that will allow the right decisions


to be made on the fly.

4. Choosing a product architecture that allows for


change rather than attempting to get optimal
performance.

2
We are uncovering better ways of developing Principles behind the Agile Manifesto
software by doing it and helping others do it.
We follow these principles:
Through this work we have come to value:
Our highest priority is to satisfy the customer
Individuals and interactions over processes and tools through early and continuous delivery
of valuable software.
Working software over comprehensive documentation
Welcome changing requirements, even late in
Customer collaboration over contract negotiation development. Agile processes harness change for
the customer's competitive advantage.
Responding to change over following a plan
Deliver working software frequently, from a
That is, while there is value in the items on couple of weeks to a couple of months, with a
the right, we value the items on the left more. preference to the shorter timescale.

Business people and developers must work Working software is the primary measure of
together daily throughout the project. progress.

Build projects around motivated individuals. Agile processes promote sustainable development.
Give them the environment and support they need, The sponsors, developers, and users should be able
and trust them to get the job done. to maintain a constant pace indefinitely.

The most efficient and effective method of Continuous attention to technical excellence
conveying information to and within a development and good design enhances agility.
team is face-to-face conversation.

Simplicity--the art of maximizing the amount Do these techniques really work?


of work not done--is essential.
Austin surveyed IT managers and found the following
The best architectures, requirements, and designs characteristics of successful projects:
emerge from self-organizing teams.
• They were all iterative.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts • They all relied on fast cycles and early delivery.
its behavior accordingly.
• They all got functioning software into the hands of
business users early in the process.

•They were preceded by little or no traditional


ROI-style analysis of the project as a whole.

3
Agile Methodoligies Scrum

Scrum

Dynamic Systems Development Method (DSDM)

Crystal Methods

Feature-Driven Development (FDD)

Lean Development (LD)

Extreme Programming (XP)

Adaptive Software Development (ASD)

Scrum

Traditional

S-ar putea să vă placă și