39

Pp ton sdlcmodels2.0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Pp ton sdlcmodels2.0
Page 2: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

A framework that describes the activities performed at each stage of a software development project.

Page 5: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

Requirements are very well known Technology is understood

Page 8: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

Lowers initial delivery cost Initial product delivery is faster Customers get important functionality

early

Page 10: Pp ton sdlcmodels2.0

Requires good planning and design Total cost of the complete system is not

lower

Page 11: Pp ton sdlcmodels2.0

Need to get basic functionality to the market early

On projects which have lengthy development schedules

Page 12: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

Time Consuming Coastly

Page 15: Pp ton sdlcmodels2.0

All requirements are known up-front Solution and technology are known

Page 16: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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

Developers learn from customers A more accurate end product

Page 18: Pp ton sdlcmodels2.0

Overall maintainability may be overlooked The customer may want the prototype

delivered. Process may continue forever (scope

creep)

Page 19: Pp ton sdlcmodels2.0

Requirements are unstable or have to be clarified

Develop user interfaces Short-lived demonstrations

Page 20: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

Speed up or bypass one or more life cycle phases

Usually less formal and reduced scope Used for time-critical applications

Page 22: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

DePaul web site has links to many Agile references http://se.cs.depaul.edu/ise/agile.htm

Page 24: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0
Page 27: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0
Page 37: Pp ton sdlcmodels2.0

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: Pp ton sdlcmodels2.0

Accelerated development process must give quick responses to the user

Hard to use with legacy systems

Page 39: Pp ton sdlcmodels2.0

User involved throughout the life cycle Project can be time-boxed High performance not required