V Model vs Agile Methodology Essay Example
V Model vs Agile Methodology Essay Example

V Model vs Agile Methodology Essay Example

Available Only on StudyHippo
  • Pages: 8 (2089 words)
  • Published: July 25, 2018
View Entire Sample
Text preview

A Software Development Life Cycle (SDLC) adheres to important phases that are essential for developers, such as planning, analysis, design, and implementation. There exist numerous SDLC methodologies in the world. Each model justifies its existence by answering the following questions:

  • How stable are the requirements?
  • Who are the end users for the system?
  • What is the size of the project?
  • Where are the Project teams located?

This documents will deal essentially with the V-Model and the Agile methodology. The V-Model which is an extention of the Waterfall Model, demonstrates the relationships between each phase of the development life cycle and its associated phase of testing. Agile software development is a group of software development methodologies based on iterative an

...

d incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Literature Review 1 The V-Model

V-model is a software development model that involves building a logical V shape sequence where the testing techniques associated with the design are reflected as descending and are applied for the verification and connected to the requirements or specifications parts are reflected as ascending and are applied for validation. Equal weight to coding and testing in the V-model gives software development process. The V-model ordains that the code testing documentation is written in tandem with the development phases that means, for instance, the integration tests should be documented as and when the high level design is finalized and the unit tests should be ready as and when the detailed specifications are laid down.

The idea of the V-model is to have a implementation plan for

View entire sample
Join StudyHippo to see entire essay

the software testing at each level namely component, interface, system, acceptance and release of the software project which need to be adhered to eliminate discrepancies in the software simultaneously rather than waiting for the software development process to complete before handling it to the software testing professionals. 2 Agile Methodology Agile methodology is an approach to the project management which help to respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints. Agile development methodology provides the opportunity to assess the direction of a project throughout the development lifecycle.

It does it through an iterative cycle to build and test followed by an assessment by the user/business until they are satisfied with the product. Thus by focusing on the repetition of abbreviated work cycles as well as the functional product they yield; agile methodology could be described as iterative and incremental. Agile methods does not force planning for all the iteration in the beginning but instead gives the flexibility to plan only which are known and leaves the rest of planning for next iteration. Agile does not limit the number of iterations required to produce the final product:

  1. The V model (Validation & Verification model) is a modified version of the Waterfall method
  2. As opposed to the Waterfall method, this one was not designed in a linear axis; instead the stages turn back upwards after the coding phase is done.
  3. This developmental process is balanced and relies on the verification from the previous steps before proceeding forward.
  4. The product from every phase needs to be checked and approved before moving forward.
  • In v model developer and tester works parallel.
  • In V model, based on the requirements the System test cases are prepared, and based on the HLD (High level document) the Integration Test cases are prepared, and based on the LLD (Low-level document) the Integration Test cases are prepared. And then the coding is done.
  • Once coding is completed, unit, integration and system testing happens in the sequence.
  • In V-model, gives relationship between each development stages and Testing stages:

    • The term agile stands for 'moving quickly'.
    • Agile methodology has an adaptive team which is able to respond to the changing requirements.
    • Customer satisfaction by rapid delivery of useful software.
    • Welcome changing requirements, even late in development.
    • Working software is delivered frequently (weeks rather than months).

    The predefined number of project management techniques are normally set in the Project Management Body of Knowledge. The PMBOK is an inclusive term that describes the sum of knowledge within the profession of Project Management. The PMBOK framework splits the project processes into five distinct process groups: initiating, planning, executing, controlling and closing. PMBOK also identifies several project knowledge areas: integration management, scope management, time management, cost management, quality management, human resource management, communications management, risk management and procurement management.

    The PMBOK Guide includes summaries of generally accepted techniques and methodologies that can be used to implement these project processes. A few well-known techniques included in the PMBOK framework are Constructive Cost Model (COCOMO), Earned Value (EV) management, Milestone Trend Analysis (MTA) and Critical Path Method (CPM). These techniques would be used to compare

    the V-Model and Agile implications to Software Project Management. 1 Constructive Cost Model (COCOMO) COCOMO is an empirical, algorithmic model for estimating the effort, schedule and costs of a software project. It was derived by collecting relevant data from a large number of software projects, then analyzing the data to discover the formulae that were the best fit to the observations. 1 V-Model

    Fundamentally, estimation in a V-Model environment is treated as if the entire solution will be delivered in a single shot. In a properly set-up V-Model project there is a lengthy period in the beginning dedicated to a comprehensive feasibility study and requirements analysis. Many project managers sincerely believe that by performing a thorough analysis of the solution it is possible to obtain robust solution designs. [pic] The COCOMO method is expected to produce a single estimate, usually after feasibility analysis and requirements gathering activities. A rigorous initial analysis and planning phase is capable of producing enough parametric data to feed the algorithmic methods.

    In the beginning of a project this assumption often proves right, and the project runs as expected, which can be attributed to the thorough requirements analysis that was performed at its inception. In the long run, however, this strategy almost always proves ineffective, as unforeseen and often cascading complexity creeps in, impacts the scope, and renders an estimate produced at the beginning of the project inaccurate or invalid. 2 Agile With hardware and software complexity and constantly changing requirements, Agile functions iteratively and cyclical thus implying a series of iteration estimates is produced in addition to a single project estimate.

    An overall project estimate is adjusted

    after each iteration to improve its accuracy. Project estimates can be produced very early in the iterative development lifecycle, which offers improved support for project planning. 2 Earned Value Management (EVM) EVM helps project managers to measure project performance. It is a systematic project management process used to find variances in projects based on the comparison of worked performed and work planned. EVM is used on the cost and schedule control and can be very useful in project forecasting. The project baseline is an essential component of EVM and serves as a reference point for all EVM related activities.

    EVM provides quantitative data for project decision making. V-Model EVM is well suited for projects using a V-Model for its life-cycle processes. Using the conventional approach of a product-oriented WBS, work packages are created for a requirements definition task in each system, subsystem, and lower level component that makes up the developed solution. value of these work packages is based on the portion of the total requirements that have been finalized or allocated, which is often a straight percentage. This EV measure is then, in turn, tied to various engineering and management review exit criteria (e. g. , 80% of the requirements definition completed prior to preliminary design review).

    Given the assumption in a V-Model that the requirements can be unambiguously defined prior to the start of development, the project has a stable program management baseline, thus this approach results in a reasonable definition of earned value.

    Agile In Agile software projects, initial scope is not assumed to be complete. Scope is fleshed out as project iterations are completed, based on user &

    stakeholder feedback at the end of each iteration. The challenge in applying Earned Value directly to an agile software project is due to the reasons above, as they violate the first Earned Value critical success factor, namely Quality of the project’s baseline plan. The scope of an Agile software project cannot be fully defined in a bottom-up fashion at the beginning, as is done in traditional projects.

    Thus, directly applying EVM in agile projects will likely result in an invalid Planned Value (PV) at the start of the project, with over- or under-runs occurring during project execution; many re-baselines would be required.

    Milestone Trend Analysis (MTA) The milestone trend analysis serves for monitoring the project progress. Deviations from deadlines become clear and forecasts for future projects are possible. [pic] 1 V-Model and Agile Methodology MTA does not impose any restrictions on the process model and can help to clarify progress assessment in almost any project. The only prerequisite is that the project under scrutiny uses milestones.

    Critical Path Method (CPM) The critical path technique operates on a directed acyclic graph that sequentially orders all tasks that need to be completed in the project. The tasks connected in a project network are typically the terminal elements of a Work Breakdown Structure. The graph specifies the order in which the different tasks need to be completed, and the dependencies between them. Each task has an associated cost in time. The critical path is the longest path from the start of the project to the finish, and its cost is the shortest period in which the project can be completed. Any delay on tasks on

    the critical path will delay the entire project. A related concept is slack; this is the time that a single activity can be delayed, without delaying the project.

    Since the V-Model of system development is a sequential model, where each activity are sequentially related, the CPM is not the best method of effort prediction because each activity leads to the next so all activities are essentially located on the critical path. 2 Agile Since Agile projects are split into a sequence of iterations, the issues revolving around the CPM might be resolved by answering the following 2 questions : 1. What is the critical path within an iteration?

    What is the critical path within a project? Project Managers use the concept of Rolling Lookahead Planning to answer the above questions, which is one way for a team to deal with elements of critical path planning. Rolling lookahead planning involves teams (on projects with multiple teams) conclude their iteration planning meetings by taking a five minute look ahead at the next 1-3 iterations.

    This high-level forecast of which features will be added next can help identify dependencies between teams. This is often enough to avoid being surprised by a long critical path. Advantages and Drawbacks 1 V-Model 1 Pros Requirement is clear before development starts. Each phase is completed in specified period of time after that it moves to next phase. As its linear model, it’s easy to implement.

    The amount of resources required to implement this model are minimal. Each phase proper documentation is followed for the quality of the development. V-Model, the advantage is that Tester role will be involved

    in the requirement phase itself. Requirement Changes is possible in any phase. Cons The biggest disadvantage of V-model is that it’s very rigid and the least flexible. If any changes happen mid way, not only the requirements documents but also the test documentation needs to be updated.

    It is not proposed for short term projects as it requires reviews at each stage. The most important of the advantages of agile model is the ability to respond to the changing requirements of the project. There is no guesswork between the development team and the customer, as there is face to face communication and continuous inputs from the client.

    The efforts and time required for the project in the software development life cycle are more complex to gauge. Only senior developers are in a better position to take the decisions necessary for the agile type of development, which leaves hardly any place for newbie programmers, until it is combined with the senior resources. Conclusion As discussed on V-Model and Agile model, it depends upon the organization which model to choose.

    If requirement changes frequently and smaller projects, deliver product in short period time with skilled resources then we can choose Agile model. If requirement changes, larger project, proper validation to take place in each phase, tester to be involved in early stages of development, then we can choose V-Model.

    Get an explanation on any task
    Get unstuck with the help of our AI assistant in seconds
    New