ppt

39

Upload: online-it-training

Post on 22-Jan-2015

37 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: ppt
Page 2: ppt

A bench-mark for measuring the maturity

of an organization’s software process

CMM defines 5 levels of process maturity

based on certain Key Process Areas

(KPA)

Page 3: ppt

Level 5 – Optimizing (< 1%)-- process change management

-- technology change management

-- defect prevention

Level 4 – Managed (< 5%)-- software quality management

-- quantitative process management

Level 3 – Defined (< 10%)-- peer reviews

-- intergroup coordination

-- software product engineering

-- integrated software management

-- training program

-- organization process definition

-- organization process focus

Level 2 – Repeatable (~ 15%)-- software configuration management

-- software quality assurance

-- software project tracking and oversight

-- software project planning

-- requirements management

Level 1 – Initial (~ 70%)

Page 4: ppt

A framework that describes the activities

performed at each stage of a software

development project.

Page 5: ppt

Requirements – defines needed information, function, behavior, performance and interfaces.

Design – data structures, software architecture, interface representations, algorithmic details.

Implementation – source code, database, user documentation, testing.

Page 6: ppt

All requirements must be known upfront

Does not reflect problem-solving nature of software development – iterations of phases

Little opportunity for customer to preview the system (until it may be too late)

Page 7: ppt

Requirements are very well known

Technology is understood

Page 8: ppt

Construct a partial implementation of a total system

Then slowly add increased functionality

Each subsequent release of the system adds function to the previous release, until all designed functionality has been implemented.

Page 9: ppt

Lowers initial delivery cost

Initial product delivery is faster

Customers get important functionality early

Page 10: ppt

Requires good planning and design

Total cost of the complete system is not lower

Page 11: ppt

Need to get basic functionality to the market early

On projects which have lengthy development schedules

Page 12: ppt

A variant of the

Waterfall that

emphasizes the

verification and

validation of the

product.

Testing of the product

is planned in parallel

with a corresponding

phase of development

Page 13: ppt

Emphasize planning for verification and

validation of the product in early stages

of product development

Each deliverable must be testable

Project management can track progress

by milestones

Easy to use

Page 14: ppt

Time Consuming

Coastly

Page 15: ppt

All requirements are known up-front

Solution and technology are known

Page 16: ppt

Developers build a prototype during the

requirements phase

Prototype is evaluated by end users

Users give corrective feedback

Developers further refine the prototype

When the user is satisfied, the prototype

code is brought up to the standards

needed for a final product.

Page 17: ppt

Customers can “see” the system requirements as they are being gathered

Developers learn from customers

A more accurate end product

Page 18: ppt

Overall maintainability may be overlooked

The customer may want the prototype

delivered.

Process may continue forever (scope creep)

Page 19: ppt

Requirements are unstable or have to be clarified

Develop user interfaces

Short-lived demonstrations

Page 20: ppt

Agile methodology is an approach to

project management, typically used in

software development. It helps teams

respond to the unpredictability of

building software through incremental,

iterative work cadences, known as

sprints.

Page 21: ppt

Speed up or bypass one or more life

cycle phases

Usually less formal and reduced scope

Used for time-critical applications

Page 22: ppt

Adaptive Software Development (ASD)

Feature Driven Development (FDD)

Crystal Clear

Dynamic Software Development Method (DSDM)

Rapid Application Development (RAD)

Scrum

Extreme Programming (XP)

Rational Unify Process (RUP)

Page 23: ppt

DePaul web site has links to many Agile references

http://se.cs.depaul.edu/ise/agile.htm

Page 24: ppt

As a brief introduction, Scrum is an agile process for

software development. With Scrum, projects

progress via a series of iterations called sprints.

Each sprint is typically 2-4 weeks long. While an

agile approach can be used for managing any

project, Scrum is ideally suited for projects with

rapidly changing or highly emergent requirements

such as we find in software development.

Page 25: ppt

Scrum is an agile approach to software development. Rather than a full process or methodology, it is a framework. So instead of providing complete, detailed descriptions of how everything is to be done on the project, much is left up to the software development team.

Page 26: ppt
Page 27: ppt

This is why, for example, a sprint planning meeting is described in terms of the desired outcome (a commitment to set of features to be developed in the next sprint) instead of a set of Entry criteria, Task definitions, Validation criteria, and Exit criteria (ETVX) as would be provided in most methodologies.

Page 28: ppt

Scrum team, typically made up of between five and nine people, but Scrum projects can easily scale into the hundreds. The team does not include any of the traditional software engineering roles such as programmer, designer, tester, or architect. Everyone on the project works together to complete the set of work they have collectively committed to complete within a sprint. Scrum teams develop a deep form of camaraderie and a feeling that “we’re all in this together.”

Page 29: ppt

Product owner;- The product owner is the project’s key stakeholder and represents users, customers and others in the process. The product owner is often someone from product management or marketing, a key stakeholder or a key user.

Page 30: ppt

Scrum Master:- The Scrum Master is responsible for making sure the team is as productive as possible. The Scrum Master does this by helping the team use the Scrum process, by removing impediments to progress, by protecting the team from outside, and so on.

Page 31: ppt

Scrum Master:- The Scrum Master is responsible for making sure the team is as productive as possible. The Scrum Master does this by helping the team use the Scrum process, by removing impediments to progress, by protecting the team from outside, and so on.

The product backlog is a prioritized features list containing every desired feature or change to the product.

Page 32: ppt

Sprint planning meeting :At the start of each sprint, a sprint planning meeting is held during which the product owner prioritizes the product backlog, and the scrum team selects the work they can complete during the coming sprint.

That work is then moved from the product backlog to the, sprint backlog which is the list of tasks needed to complete the product backlog items the team has committed to complete in the sprint.

Page 33: ppt

Daily scrum Calls : Each day during the sprint, a brief meeting called the daily scrum is conducted. This meeting helps set the context for each day’s work and helps the team stay on track. All team members are required to attend the daily scrum.

Page 34: ppt

At the end of each sprint, the team demonstrates the completed functionality at a sprint review meeting, during which, the team shows what they accomplished during the sprint. Typically, this takes the form of a demonstration of the new features, but in an informal way; for example, PowerPoint slides are not allowed. The meeting must not become a task in itself nor a distraction from the process.

Page 35: ppt

Requirements planning phase (a workshop utilizing structured discussion of business problems)

User description phase – automated tools capture information from users

Construction phase – productivity tools, such as code generators, screen generators, etc. inside a time-box. (“Do until done”)

Cutover phase -- installation of the system, user acceptance testing and user training

Page 36: ppt
Page 37: ppt

Customer involved throughout the complete cycle minimizes risk of not achieving customer satisfaction and business needs

Focus moves from documentation to code WYSIWYG. (What-You-See-Is-What-You-Get)

Page 38: ppt

Accelerated development process must give quick responses to the user

Hard to use with legacy systems

Page 39: ppt

User involved throughout the life cycle

Project can be time-boxed

High performance not required