 Chapter 4: Selection of an appropriate project approach NET481: Project Management Afnan Albahli.

Slides:



Advertisements
Similar presentations
Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Advertisements

Prescriptive Process models
Software Development Life-Cycle Models
Lecture # 2 : Process Models
Software Process Models
Software Project Management
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
CS487 Software Engineering Omar Aldawud
Software Process Models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
CS 5150 Software Engineering
Software project management (intro ) Project approaches.
CS 501: Software Engineering
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
SYSTEMS DEVELOPMENT Phases, Tools, and Techniques
Introduction to Systems Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Acquiring Information Systems and Applications
Chapter 3 Software Processes.
S/W Project Management
CSI315 Web Technology and Applications
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 2 The process Process, Methods, and Tools
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Engineering Management Lecture 1 The Software Process.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Acquiring Information Systems and Applications
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Systems Life Cycle A2 Module Heathcote Ch.38.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
© The McGraw-Hill Companies, Software Project Management 4th Edition Selection of an appropriate project approach Chapter 4.
SPM (5e) Selection of project approach© The McGraw-Hill Companies, Software Project Management Chapter Four Selection of an appropriate project.
Software Prototyping Rapid software development to validate requirements.
The principles of an object oriented software development process Week 04 1.
Software Development Life Cycle (SDLC)
© Bennett, McRobb and Farmer 2005
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Chapter 5: Software effort estimation
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Systems Development Process and Methodologies Dr. T. Ravichandran.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Methodologies and Algorithms
Building Information Systems
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Object oriented system development life cycle
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Processes.
Lecture # 5 Software Development Project Management
Chapter 2 – Software Processes
Software life cycle models
Process Models Coming up: Prescriptive Models.
Rapid software development
Presentation transcript:

 Chapter 4: Selection of an appropriate project approach NET481: Project Management Afnan Albahli

Outline of lecture  Building OR buying software  Taking account of the characteristics of the project  Process models  Waterfall  Prototyping and iterative approaches  Incremental delivery  Agile approaches SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Selection of project approaches  This lecture concerned with choosing the right approach to a particular project: variously called technical planning, project analysis, methods engineering and methods tailoring  In-house: means that the developers and the users of the software are in the same organization.  often the methods to be used dictated by organizational standards  Suppliers: : means that the developers and the users of the software are in the different organization.  need for tailoring as different customers have different needs SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Build or buy? SPM (5e) Selection of project approach© The McGraw-Hill Companies, Outsource? In-house development? BuildBuy either

In-House SPM (5e) Selection of project approach5 Developing a new IT application in-house:  Time is needed to develop the software  Would often require the recruitment of new technical staff to do the job  Usually, the new staff won’t be needed after the project is completed  Sometimes due to the novelty of the project there may be lack of executives to lead the effort

Outsourcing SPM (5e) Selection of project approach6 Contracting the project out to an external IT development company (outsourcing):  Time is needed to develop the software  The conducting company will have technical and project expertise not readily available to the client  The client would still do management effort to establish and manage the contracts

Some advantages of off-the-shelf (OTS) software  Cheaper as supplier can spread development costs over a large number of customers  Software already exists  Can be trialled by potential customer  No delay while software being developed  Where there have been existing users, bugs are likely to have been found and eradicated SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Some possible disadvantages of off-the-shelf  Customer will have same application as everyone else: no competitive advantage, but competitive advantage may come from the way application is used  Customer may need to change the way they work in order to fit in with OTS application  Customer does not own the code and cannot change it  Danger of over-reliance on a single supplier SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Steps of Project Analysis  Identify project as either objective driven or product driven.  Analyze other project characteristics by asking:–  Will we implement a data-oriented or a process oriented system?  Will the software to be produced be a general tool or application specific?  Are there specific tools available for implementing the particular type of application?  E.g.: – does it involve concurrent processing?  Is the system knowledge-based?  Will the system to be produced makes heavy use of computer graphics? SPM (5e) Selection of project approach9

Steps of Project Analysis (cont’d)  Is the system to be created safety critical?  Is the system designed to carry out predefined services or to be engaging and entertaining?  What is the nature of the hardware/software environment in which the system will operate? SPM (5e) Selection of project approach10

Steps of Project Analysis (cont’d)  Identify high-level project risks.  The more uncertainty in the project the more the risk that the project will be unsuccessful.  Recognizing the area of uncertainty allows taking steps towards reducing its uncertainty.  Uncertainty can be associated with the products, processes, or resources of a project. SPM (5e) Selection of project approach11

Steps of Project Analysis (cont’d)  Product uncertainty:  How well are the requirements understood.  The users themselves could be uncertain about what the system is to do.  Process uncertainty:  For the project under consideration, the organization will use an approach or an application building-tool that it never used before.  Resource uncertainty:  The main area of resource uncertainty is the availability of the staff with the right ability and experience. SPM (5e) Selection of project approach12

General approach  Look at risks and uncertainties e.g.  are requirement well understood?  are technologies to be used well understood?  Look at the type of application being built e.g.  information system? embedded system?  criticality? differences between target and development environments?  Clients’ own requirements  need to use a particular method SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Structure versus speed of delivery Structured approach  Also called ‘heavyweight’ approaches  Step-by-step methods where each step and intermediate product is carefully defined  Emphasis on getting quality right first time  Example: use of UML (Unified Modelling Language )  Future vision: Model-Driven Architecture (MDA). UML supplemented with Object Constraint Language, press the button and application code generated from the UML/OCL model SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Structure versus speed of delivery Agile methods  Emphasis on speed of delivery rather than documentation  RAD Rapid application development emphasized use of quickly developed prototypes  JAD Joint application development. Requirements are identified and agreed in intensive workshops with users SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Software Process Models  Waterfall Model.  V-process Model.  Spiral Model.  Software prototyping.  Phased Development Model.  incremental development model.  iterative development model. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Waterfall SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Waterfall  Classical model of system development.  Called one-shot or once-through model.  limited scope of iteration. Is this a strength or a limitation??  This is a strength for the WF-model.  Because it is suitable for some projects especially for large projects, we want to avoid reworking tasks that are thought to be completed.  Reworking tasks could result in late delivery.  Suitable for systems with well defined requirements.  Not suitable for systems of high uncertainty SPM (5e) Selection of project approach© The McGraw-Hill Companies,

V-process Model  An extension of the waterfall model.  V-process model expands the activity box “testing” in the waterfall model.  Each step has a matching validation process.  Validation process can cause a Loop back to the corresponding stage and reworking the following steps in case of discrepancy. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

V-process Model (cont’d)  learning by doing  improved communication  improved user involvement  a feedback loop is established  reduces the need for documentation  reduces maintenance costs i.e. changes after the application goes live  prototype can be used for producing expected results SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Spiral Model  A greater level of detail is considered at each stage of the project.  Represented as a loop or a spiral where the system is considered in more detail.  This means greater confidence about the probability of success.  Each sweep is terminated by an evaluation before the next iteration is embarked upon. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Spiral Model (cont’d) SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Prototyping Model  Prototype is a working model of one or more aspects of the projected system.  Goal  Gain knowledge  reduce risk and uncertainty  verify a design or implementation approach The prototype is constructed and tested, quickly and inexpensively to test assumptions. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Classification of a Prototype  Throw-away  Tests out some ideas.  Discarded when the true development of the operational system is started.  The prototype could be developed using a different SW and HW environment than those that will be used for the final system.  Example: user interface  Prototype : use a desktop application builder to produce an acceptable user interface.  Final system: use a procedural programming language. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Prototyping Model SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Benefits of Prototyping  Learning by doing.  Improved communication.  Improved user involvement.  Clarification of partially-known requirements.  Demonstration of the consistency and completeness of a specification SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Benefits of Prototyping (cont’d)  Reduced need for documentation.  Reduced maintenance costs.  Feature constraint. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Drawbacks of Prototyping  Users sometimes misunderstand the role of the prototype.  Lack of project standards possible.  Lack of control.  Additional expense.  Machine efficiency.  Close proximity of developers. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Prototypes at Different Stages  Different projects will have uncertainties at different stages.  Thus, prototypes can be used at different stages. Examples: At the requirements gathering stage: to pin down requirements that seem blurred and shifting. At the design stage: to test out the user's ability to navigate through a sequence of input screens. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

To what extent is the prototyping done?  The prototyping usually simulates only some aspects of the target application, thus there might be:  Mock-ups  e.g. Copies of input screens shown to the users on a terminal.  They cant actually be used.  Simulated interaction  A user can type in a request to see a record in a database and an example of a result is shown.  There is no real access is made to the database. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Forms of Prototypes  Partial working model  Vertical: only some features are fully prototyped  Horizontal: all featured are prototyped but not in detail. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Incremental Model  Break the system into small components.  Implement and deliver small components in sequence.  Every delivered component provides extra functionality to the user. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Incremental Model (cont’d) SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Iterative Model  Deliver full system in the beginning.  Enhance existing functionality in new releases. SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Iterative Model SPM (5e) Selection of project approach© The McGraw-Hill Companies,

Combined Incremental and Iterative Model  Every new release includes:  extra functionality.  enhancement of existing functionality. Popularly used in software industry. SPM (5e) Selection of project approach© The McGraw-Hill Companies,