NJIT CS 602 - Iterative, Evolutionary, and Agile

Unformatted text preview:

PowerPoint PresentationIterative, Evolutionary, and AgileGrady Booch speaksThe Unified ProcessThe Most Important ConceptWhat is Rational Unified Process (RUP)?Phases in RUPSlide 8Slide 9The Agile ManifestoUnified Process best practicesInceptionInception - Entry criteriaInception - ActivitiesInception - Exit criteriaElaborationElaboration - Entry criteriaElaboration - ActivitiesElaboration - Exit criteriaConstructionConstruction - Entry criteriaConstruction - ActivitiesConstruction - Exit CriteriaTransitionTransition - Entry criteriaTransition - ActivitiesTransition - Exit criteriaModeling Disciplines of RUPSlide 29Slide 30Slide 31Slide 32Slide 33PracticesSlide 35Life-Cycle ArtifactsSlide 37Roles and ResponsibilitiesExamples of RUPSlide 41Slide 42RUP for a small commercial software productSlide 44Advantages of RUPDrawbacks of RUPReferencesAppendixSlide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide 56George BlankUniversity LecturerIterative, Evolutionary, and AgileIntroduction to the Rational Unified ProcessGrady Booch speaks•“People are more important than any process.•Good people with a good process will outperform good people with no process any time.”The Unified Process•The Unified Process has emerged as a popular and effective software development process.•In particular, the Rational Unified Process, as modified at Rational Software, is widely practiced and adopted by industry.The Most Important Concept•The critical idea in the Rational Unified Process is Iterative Development.•Iterative Development is successively enlarging and refining a system through multiple iterations, using feedback and adaptation.•Each iteration will include requirements, analysis, design, and implementation.•Iterations are timeboxed.What is Rational Unified Process (RUP)?RUP is a complete software-development process framework , developed by Rational Corporation. It’s an iterative development methodology based upon six industry-proven best practices.Processes derived from RUP vary from lightweight—addressing the needs of small projects —to more comprehensive processes addressing the needs of large, possibly distributed project teams.Phases in RUP RUP is divided into four phases, named:InceptionElaboration ConstructionTransitionEEach phase has iterations, each having the purpose of producing a demonstrable piece of software. The duration of iteration may vary from two weeks or less up to six months.Inception Elaboration Construction TransitionIterations Iterations IterationsIterationsThe iterations and the phases fig 1IterationsThe iterations and the phases fig 2Resource HistogramThe Agile Manifesto•Individuals and interactions–Over processes and tools•Working software–Over comprehensive documentation•Customer collaboration–Over contract negotiation•Responding to change–Over following a planUnified Process best practices•Get high risk and high value first•Constant user feedback and engagement•Early cohesive core architecture•Test early, often, and realistically•Apply use cases where needed•Do some visual modeling with UML•Manage requirements and scope creep•Manage change requests and configurationInception•The life-cycle objectives of the project are stated, so that the needs of every stakeholder are considered. Scope and boundary conditions, acceptance criteria and some requirements are established.Inception - Entry criteria•The expression of a need, which can take any of the following forms:an original visiona legacy systeman RFP (request for proposal)the previous generation and a list of enhancementssome assets (software, know-how, financial assets)a conceptual prototype, or a mock-upInception - ActivitiesFormulate the scope of the project.Needs of every stakeholder, scope, boundary conditions and acceptance criteria established.Plan and prepare the business case. Define risk mitigation strategy, develop an initial project plan and identify known cost, schedule, and profitability trade-offs.Synthesize candidate architecture. Candidate architecture is picked from various potential architecturesPrepare the project environment.Inception - Exit criteriaAn initial business case containing at least a clear formulation of the product vision - the core requirements - in terms of functionality, scope, performance, capacity, technology base.Success criteria (example: revenue projection).An initial risk assessment.An estimate of the resources required to complete the elaboration phase.Elaboration•An analysis is done to determine the risks, stability of vision of what the product is to become, stability of architecture and expenditure of resources.Elaboration - Entry criteriaThe products and artifacts described in the exit criteria of the previous phase.The plan approved by the project management, and funding authority, and the resources required for the elaboration phase have been allocated.Elaboration - ActivitiesDefine the architecture.Project plan is defined. The process, infrastructure and development environment are described.Validate the architecture.Baseline the architecture.To provide a stable basis for the bulk of the design and implementation effort in the construction phase.Elaboration - Exit criteria A detailed software development plan, with an updated risk assessment, a management plan, a staffing plan, a phase plan showing the number and contents of the iteration , an iteration plan, and a test planThe development environment and other tools A baseline vision, in the form of a set of evaluation criteria for the final product  A domain analysis model, sufficient to be able to call the corresponding architecture ‘complete’.An executable architecture baseline.Construction•The Construction phase is a manufacturing process. It emphasizes managing resources and controlling operations to optimize costs, schedules and quality. This phase is broken into several iterations.Construction - Entry criteriaThe product and artifacts of the previous iteration. The iteration plan must state the iteration specific goalsRisks being mitigated during this iteration.Defects being fixed during the iteration.Construction - ActivitiesDevelop and test components.Components required satisfying the use cases, scenarios, and other functionality for the iteration are built. Unit and integration tests are done


View Full Document

NJIT CS 602 - Iterative, Evolutionary, and Agile

Download Iterative, Evolutionary, and Agile
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Iterative, Evolutionary, and Agile and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Iterative, Evolutionary, and Agile 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?