Incremental lifecycle model

Embed Size (px)

Citation preview

  • 8/7/2019 Incremental lifecycle model

    1/18

    Experiment No.2

    Incremental lifecycle modelIt is an evolution of waterfall model. The product is designed,

    implemented, integrated and tested as a series of incremental

    builds .It is a popular model software evolution used many

    commercial software companies and system vendor.

    Applications

    Incremental software development model may be applicable to

    projects where:

    Software Requirements are well defined, but realization may

    be delayed.

    The basic software functionality are required early

  • 8/7/2019 Incremental lifecycle model

    2/18

  • 8/7/2019 Incremental lifecycle model

    3/18

  • 8/7/2019 Incremental lifecycle model

    4/18

    Advantages

    Generates working software quickly and early during the

    software life cycle.

    More flexible - less costly to change scope and requirements.

    Easier to test and debug during a smaller iteration.

    Easier to manage risk because risky pieces are identified and

    handled during its iteration.

    Disadvanta

    ges

    Each phase of an iteration is rigid and do not overlap each

    other.

    Problems may arise pertaining to system architecture because

    not all requirements are gathered up front for the entire

    software life cycle.

  • 8/7/2019 Incremental lifecycle model

    5/18

    Spiral lifecycle modelSpiral model is an evolutionary version of incremental

    prototyping, developed by Boehm in 1988. Each iteration of the

    prototype represented as a cycle in the spiral. The Spiral

    software development model is a risk-oriented.

    ApplicationsSpiral software development model may be applicable to

    projects where:

    The projects requirements are very difficult

    Where new technologies are used

  • 8/7/2019 Incremental lifecycle model

    6/18

    The aim ofcustomer communication is to establish effective

    communication between developer and customer.

    The planning objectives are to define resources, project

    alternatives, time lines and other project related information.

    The purpose of the risk analysis phase is to assess both

    technical and management risks.

    The engineering task is to build one or more representations of

    the application.

    The construction and release taskto construct, test, install

    and provide user support (e.g., documentation and training).

    The customer evaluation task - to obtain customer feedback

  • 8/7/2019 Incremental lifecycle model

    7/18

    based on the evaluation of the software representation created

    during the engineering stage and implemented during the install

    stage.

    Advantages

    High amount of risk analysis

    Good for large and mission-critical projects.

    Software is produced early in the software life cycle.

    Disadvantages

    Can be a costly model to use.

    Risk analysis requires highly specific expertise.

    Project's success is highly dependent on the risk analysis

    phase.

    Doesnt work well for smaller projects

  • 8/7/2019 Incremental lifecycle model

    8/18

    Rapid Application Development

    RAD is a linear sequential software development process model

    that emphasis an extremely short development cycle using a

    component based construction approach. If the requirements are

    well understood and defines, and the project scope is constraint,

    the RAD process enables a development team to create a fully

    functional system with in very short time period.

    RAD model has the following phases:

    1. Business Modeling: The information flow among business

    functions is defined by answering questions like what

    information drives the business process, what information is

    generated, who generates it, where does the information go,

    who process it and so on.

    2. Data Modeling: The information collected from business

    modeling is refined into a set of data objects (entities) that are

    needed to support the business. The attributes (character of

    each entity) are identified and the relation between these data

    objects (entities) is defined.

  • 8/7/2019 Incremental lifecycle model

    9/18

    3. Process Modeling: The data object defined in the data

    modeling phase are transformed to achieve the information

    flow necessary to implement a business function. Processingdescriptions are created for adding, modifying, deleting or

    retrieving a data object.

    4. Application Generation: Automated tools are used to

    facilitate construction of the software; even they use the 4th

    GL techniques.5. Testing and Turn over: Many of the programming

    components have already been tested since RAD emphasis

    reuse. This reduces overall testing time. But new components

    must be tested and all interfaces must be fully exercised.

  • 8/7/2019 Incremental lifecycle model

    10/18

  • 8/7/2019 Incremental lifecycle model

    11/18

    Advantages

    RAD reduces the development time and reusability of

    components help to speed up development.

    All functions are modularized so it is easy to work with.

  • 8/7/2019 Incremental lifecycle model

    12/18

    Disadvantages

    For large projects RAD require highly skilled engineers in the

    team.

    Both end customer and developer should be committed to

    complete the system in a much abbreviated time frame.

    If commitment is lacking RAD will fail.

    RAD is based on Object Oriented approach and if it is

    difficult to modularize the project the RAD may not work

    well.

  • 8/7/2019 Incremental lifecycle model

    13/18

    What is Requirements Elicitation?

    Requirements elicitation is the process of identifying the sources

    of requirements for a new system and obtaining those

    requirements from those sources.

    Potential sources of requirements include users, documents,

    regulators and even legacy software code.

    Requirements elicitation is a crucial part of the Requirements

    Gathering, Documentation and Analysis Process.

    It is a very challenging activity that requires focus and skill from

    the business analyst.

    Whatever elicitation technique you choose and however you

    implement the technique, you need to do whatever it takes to

    understand what the real needs of your customers are.

    There are many requirements elicitation techniques that may be

    used in various situations depending on the level ofrequirements as well as the type of stakeholder.

    Each requirements elicitation technique has its advantages and

    disadvantages.

  • 8/7/2019 Incremental lifecycle model

    14/18

    It is a good idea to gain a mastery of many different elicitation

    techniques so that you can use a combination of them on thejob

    to successfully draw out your stakeholder needs.

    Preparing to Elicit Requirements

    Planning your elicitation activities ensures that you:

    1. Understand your stakeholders.

    2. Use the right elicitation techniques for each stakeholder or

    stakeholder group.

    3. Accurately prioritize the stakeholders and assign the right

    level of involvement.

    4. Allocate adequate time and resources to the requirements

    gathering activities.

    5. Adequately prepare the stakeholders for the elicitation

    sessions.

    6. Gain the trust and cooperation of your stakeholders.

    http://www.myjobsearchcoaching.com/more-information/http://www.myjobsearchcoaching.com/more-information/
  • 8/7/2019 Incremental lifecycle model

    15/18

    Requirements Elicitation Techniques

    Brainstorming

    Brainstorming sessions are used to let the stakeholders come up

    with creative ideas or new approaches to a problem

    Workshops

    Workshops are facilitated meetings with multiple stakeholders.

  • 8/7/2019 Incremental lifecycle model

    16/18

    Interviewing

    Interviews are in-person, one-on-one meetings where the

    business analyst asks questions to get information from the

    stakeholder.

    With an interview you can quickly obtain a lot of requirements

    from one person. However, you still need to examine those

    requirements to make sure they do not conflict with other

    stakeholder needs.

    Surveys

    Surveys are used to gather information anonymously from the

    stakeholders.

    Documentation Review

    This is the process of obtaining requirements from written

    documentation such as manuals.

    Prototyping

    This is the use of partially finished versions of the software that

    have been created to help validate requirements.

    http://www.myjobsearchcoaching.com/more-information/http://www.myjobsearchcoaching.com/more-information/
  • 8/7/2019 Incremental lifecycle model

    17/18

    Focus Groups

    Focus Groups are group interviews with potential and/or actual

    users where the business analyst raises issues and questions to

    obtain information from the stakeholders.

    Focus groups are a collaborative technique that lets you gather a

    lot of information. It includes a measure of brainstorming which

    is good when the users dont know what they really want or

    need from the system.

    Observation

    Observation is when the business analyst watches the users

    performing their daily tasks and asks questions about the tasks

    and work. This technique gives you the advantage of actually

    seeing what the users do as they work as opposed to what they

    tell you they do.

    Observation helps the analyst develop a real understanding of

    the users on thejob issues.

    A good business analyst should have excellent skills choosing

    and using the right elicitation technique for each situation.

    http://www.myjobsearchcoaching.com/more-information/http://www.myjobsearchcoaching.com/more-information/
  • 8/7/2019 Incremental lifecycle model

    18/18