PRJ566: Project Planning and Management Choosing Iterations in terms the importance of use cases.

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!
Iteration Planning.
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House Mark Parker (800)
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Systems Analysis and Design in a Changing World, 6th Edition
Processes. Outline Definition of process Type of processes Improvement models Example Next steps… 1.
Agile Project Management with Scrum
BTS530: Major Project Planning and Design Iterative Development References: Agile & Iterative Development, by Craig Larman, 2004, Addison Wesley. Agile.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Object-oriented Analysis and Design
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Kris Hicks-Green April 23, 2013 IIBA Austin
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions.
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
RUP Fundamentals - Instructor Notes
CLEANROOM SOFTWARE ENGINEERING.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Prof. Roy Levow Session 9.  Defining the APF  An Overview of the APF  The APF Core Values.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Planning Game in Artifacts Tracker (AT) Project Michal Pilawski.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Thoughts Before Requirements Gathering. Requirements Gathering Functional Requirements – Functional requirements explain what has to be done by identifying.
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
The Systems Development Life Cycle
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Systems Analysis and Design in a Changing World, 6th Edition
Report writing final report fall Agenda Each group make a short presentation of their project addressing the challenges of the project Feedback.
Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct Sp8Jan22iterdev2.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Rational Unified Process (RUP)
Requirements Workshop Techniques for E-Business Projects
Chapter 8: Iteration 1 - Basics.  We review here the requirements for first iteration of our case studies. They are a subset of the requirements as described.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Iterdev2a 1 Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
Systems Analysis and Design in a Changing World, 6th Edition
T Project Review MTS [PP] Iteration
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
How Software Projects Start SW projects start with a need. We need to keep better data on the students in the CSCE Dept. I heard that one of our competitors.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Software Development Framework
TK2023 Object-Oriented Software Engineering
Object-oriented Analysis and Design
Methodologies and Algorithms
SE503 Advanced Project Management
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Requirements and the Software Lifecycle
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Roles and Responsibilities of a Project Manager
Software Testing Lifecycle Practice
System Development Methods
Other System Requirements
CSCI 360: Software Architecture & Design
Presentation transcript:

PRJ566: Project Planning and Management Choosing Iterations in terms the importance of use cases

Iterative Development Reference: Agile & Iterative Development, by Craig Larman, 2004, Addison Wesley.

What we have done to date Choose a project Write a project proposal Write the initial PID Create a Use Case Diagram incorporating the features of the system from the project proposal and the PID Create Design Templates for Reports and Screens

Now a very important decision How are we going to develop the final design of our project? –What iteration will we do first?

Iterative Development lifecycle is composed of several iterations in sequence each sequence is a self-contained mini project

Iterative Development iteration n+1 Feedback n=0 to … System grows in increments Typically, no less than 3 iterations Larger systems may have more than 30 Initial high level requirements, Vision

Iterative Development Each Iteration –plan tasks, estimates, milestones length of time –track progress adjust scope if required –analyze, design, model –plan and code tests –code (production level!) –test –review

Iterative Development Planning Each Iteration –Choose most important use cases based on Highest Risk Widest Coverage (architectural significance) Highest Business Value

Highest Risk Technical complexity Factors such as uncertainty of effort, quality of design, team remaining together, necessary skill base

Widest Coverage All major parts of the system should at least be touched on in early iteration For example, early use cases and scenarios may be chosen that require execution across many of the components (from UI to database) –These are architecturally significant use cases

Highest Business Value Functions of highest business value need at least partial implementation in earlier interations This gives customer stakeholders evidence that the team is aware of the functions important to their business This also increases customer stakeholder sense of collaboration with the development team.

Why prioritize use cases? Use cases are prioritized in order that the most important ones can be dealt with in early iterations. The type of use case specification that is written is determined by the importance of the use case.

Types of Use Case specifications “Fully Dressed” “Casual” Reference: Applying UML and Patterns; An Introduction to Object- Oriented Analysis and Design and Iterative Development, 3 rd ed, by Craig Larman, 2005, Prentice Hall.

Types of Use Case Specifications “Fully Dressed” –You will use a slight variation of the template that you used in SYS366/466 –Written only for the most important use cases

Types of Use Case Specifications “Casual” –Informal paragraph format –A collection of related success (HD) and failure (EX) scenarios –We will provide you with examples and a template when you are ready for your second iteration

Now over to you Using this grid, you are to prioritize each use case from your posted use case diagram in terms of Risk, Coverage, or Business Value. You are to explain the importance of the use case and specify whether the use case specification should be written in “fully dressed” or “casual” format.grid