1 of 18

Topic Name: Selection of an appropriate project approach

2 of 18

Project Approach

  • An approach is a method used to run the project from inception to completion.
  • Often called Methodology.
  • Need to used project methodology:-
      • To determine how the project going to run.
      • To define the properties of the product.

3 of 18

Selection of project approaches

Process Domains:-

→Consumer

→Business , Industrial

→Real time

→Scientific

Classes of Product System:-

→New product ,Re-Engineering of existing product.

→ Component integration .

4 of 18

Selection of project approaches

Software Development Life cycle:-

→Agile programming: Extreme programming(XP), Dynamic System Developing Method(DSDM),

Rapid Application Development(RAD).

→Waterfall and V-process Model.

→Prototype , Spiral and Incremental Deliveries.

5 of 18

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?

6 of 18

Steps of Project Analysis

→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?

7 of 18

Steps of Project Analysis

  • 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?

8 of 18

Steps of Project Analysis

  • 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.

9 of 18

Steps of Project Analysis

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.

10 of 18

Steps of Project Analysis

Resource uncertainty:-

→The main area of resource uncertainty is the availability of the staff with the right ability and experience.

11 of 18

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

12 of 18

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 Modeling 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

13 of 18

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 .

14 of 18

Software Process Models

  • Waterfall Model.
  • V-process Model.
  • Spiral Model.
  • Software prototyping.
  • Phased Development Model.
    • incremental development model.
    • iterative development model.

15 of 18

The waterfall Model

  • The waterfall model
    • Plan-driven model. Activities are planned in advance and progress is measured against plan

16 of 18

Waterfall Model

    • This model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process.
    • Few business systems have stable requirements.
  • The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites.

17 of 18

Incremental Model

18 of 18

Spiral Model

  • The Spiral Development ( or Lifecycle) Model is a systems development method used in information technology.
  • It combines the features of the prototyping model and the waterfall model.
  • It is favored for large, expensive, and complicated models.