Question

In: Computer Science

Describe a blend between 2 development methods and describe how that blend might affect requirements.

Describe a blend between 2 development methods and describe how that blend might affect requirements.

Solutions

Expert Solution

AGILE AND WATERFALL MODEL

One of the primary choices we face for every of our project implementations at Segue is “Which improvement method have to we use?” This is a subject that gets loads of discussion (and often heated debate). If this isn't always some thing you’ve worked with before, a definition of improvement methodology is in order; placed very truely, it’s a way of organizing the work of software improvement. This is NOT approximately a style of project control or a particular technical technique, despite the fact that you will frequently pay attention those phrases all thrown collectively or used interchangeably.

The fundamental, most famous methodologies are:

    Waterfall: which is probably extra nicely referred to as the “traditional” technique, and
    Agile: a particular kind of Rapid Application Development and more moderen than Waterfall, but not that new, that is regularly implemented the use of Scrum.

Both of these are usable, mature methodologies. Having been concerned in software improvement initiatives for a long time, right here are my mind at the strengths and weaknesses of every.
The Waterfall Methodology

Waterfall is a linear technique to software program development. In this system, the collection of events is some thing like:

    Gather and report necessities
    Design
    Code and unit check
    Perform gadget testing
    Perform consumer recognition checking out (UAT)
    Fix any problems
    Deliver the completed product

In a true Waterfall development venture, each of these represents a wonderful degree of software program improvement, and every level normally finishes earlier than the subsequent it is easy to start. There is likewise normally a degree gate among every; as an instance, requirements must be reviewed and authorized by means of the consumer earlier than layout can begin.

There are true matters and terrible approximately the Waterfall approach. On the high quality aspect:

    Developers and clients agree on what is going to be delivered early in the improvement lifecycle. This makes making plans and designing greater sincere.
    Progress is more easily measured, as the whole scope of the paintings is thought earlier.
    Throughout the improvement effort, it’s possible for numerous individuals of the team to be concerned or to continue with different work, relying at the lively segment of the task. For instance, enterprise analysts can learn about and report what wishes to be finished, even as the builders are working on other projects. Testers can prepare check scripts from requirements documentation whilst coding is underway.
    Except for reviews, approvals, reputation meetings, etc., a client presence isn't strictly required after the necessities segment.
    Because design is completed early within the improvement lifecycle, this approach lends itself to initiatives in which a couple of software components have to be designed (every so often in parallel) for integration with external structures.
    Finally, the software can be designed absolutely and extra cautiously, primarily based upon a more entire know-how of all software deliverables. This provides a better software design with much less chance of the “piecemeal effect,” a improvement phenomenon that may arise as portions of code are described and ultimately added to an utility in which they will or may not healthy nicely.

Here are a few troubles we have encountered the usage of a pure Waterfall technique:

    One location which nearly continually falls short is the effectiveness of necessities. Gathering and documenting requirements in a manner that is significant to a purchaser is regularly the most hard part of software program development, in my opinion. Customers are sometimes intimidated by means of info, and particular info, supplied early in the project, are required with this method. In addition, customers are not always able to visualize an software from a requirements document. Wireframes and mockups can help, but there’s absolute confidence that most stop users have some trouble setting those factors collectively with written necessities to reach at an amazing image of what they will be getting.
    Another capacity disadvantage of pure Waterfall improvement is the possibility that the consumer will be disenchanted with their introduced software product. As all deliverables are primarily based upon documented necessities, a customer won't see what is going to be delivered until it’s almost finished. By that time, adjustments may be hard (and high-priced) to put into effect.

The Agile Methodology

Agile is an iterative, crew-primarily based method to improvement. This method emphasizes the fast transport of an utility in whole practical additives. Rather than growing duties and schedules, all time is “time-boxed” into levels called “sprints.” Each dash has a defined length (normally in weeks) with a jogging listing of deliverables, deliberate on the begin of the sprint. Deliverables are prioritized through commercial enterprise price as determined via the client. If all deliberate paintings for the dash can not be finished, paintings is reprioritized and the data is used for destiny sprint planning.

As work is completed, it is able to be reviewed and evaluated via the mission team and customer, thru daily builds and cease-of-dash demos. Agile relies on a very high level of purchaser involvement all through the undertaking, but in particular in the course of these evaluations.

Some advantages of the Agile approach are easy to look:

    The customer has common and early opportunities to look the work being introduced, and to make selections and changes all through the improvement venture.
    The purchaser profits a robust experience of possession by way of operating significantly and directly with the assignment crew all through the mission.
    If time to marketplace for a particular software is a more subject than liberating a full characteristic set at preliminary launch, Agile can more quickly produce a basic version of working software which may be built upon in successive iterations.
    Development is frequently greater consumer-centered, possibly a end result of more and frequent course from the client.

And, of direction, there are a few risks:

    The very excessive diploma of client involvement, whilst awesome for the task, may additionally present troubles for a few clients who simply might not have the time or hobby for this form of participation.
    Agile works quality while contributors of the development crew are completely devoted to the project.
    Because Agile specializes in time-boxed shipping and frequent reprioritization, it’s possible that a few gadgets set for transport will not be completed within the allotted time frame. Additional sprints (beyond the ones initially deliberate) may be needed, including to the undertaking cost. In addition, patron involvement often results in extra functions requested in the course of the venture. Again, this may upload to the overall time and value of the implementation.
    The close operating relationships in an Agile venture are easiest to manage whilst the crew individuals are located within the same bodily space, which isn't always feasible. However, there are an expansion of methods to handle this issue, along with webcams, collaboration equipment, and many others.
    The iterative nature of Agile improvement may additionally cause a frequent refactoring if the full scope of the machine isn't considered within the intial architecture and design. Without this refactoring, the machine can be afflicted by a reduction in overall quality. This will become greater mentioned in large-scale implementations, or with systems that consist of a high stage of integration.

Making the Choice Between Agile and Waterfall

So, how do we select? First, we trade the sport a bit (that is what most software improvement agencies do) with the aid of defining our own method. At Segue, it’s referred to as our Process Framework, and it’s a variation on the traditional Waterfall methodology. Our changes include use of prototyping wherein feasible to offer the customer a better view in their completed product early within the layout/development cycle. This enables to enhance the crew’s know-how of necessities and communique with the client. After the primary framework of the software is completed per excessive stage requirements, we continue to broaden and also to attain out to the purchaser for refinement of requirements. In this way, we attempt to be as iterative as possible without compromising our normal system architecture

The factors above are not similarly weighted; each is assessed relying at the character mission and situations.


Related Solutions

How might the proliferation of various media and the Internet affect the development of eating disorders...
How might the proliferation of various media and the Internet affect the development of eating disorders in cultures not previously impacted by them?
2. How does the Filipino Values affect the development of the Country.
2. How does the Filipino Values affect the development of the Country.
How the financial risk is measured? Describe three methods of how a person might reduce the...
How the financial risk is measured? Describe three methods of how a person might reduce the risk she / he faces and give examples
Q1) How the financial risk is measured? Describe three methods of how a person might reduce...
Q1) How the financial risk is measured? Describe three methods of how a person might reduce the risk she / he faces and give examples Q2) A company has an investment project that would cost $10 million today and yield a payoff of $15 million in 4 years. a. Should the firm undertake the project if the interest rate is 11 percent? 10 percent? b. Can you figure out the exact cutoff for the interest rate between profitability and non-profitability?
1. Describe the link between understanding enzyme mechanism and drug design and development. 2. How does...
1. Describe the link between understanding enzyme mechanism and drug design and development. 2. How does regulation of 1 enzyme in a metabolic pathway modulate the flux through the entire pathway?
Part A: Describe how might trends mentioned in the articles provided, affect decisions and strategies of...
Part A: Describe how might trends mentioned in the articles provided, affect decisions and strategies of corporations and managers; in consideration of areas such as growth, sales, production, alliances, mergers, competition, exporting/importing goods or services, outsourcing, etc. Part B: What affect might these trends have on national or domestic businesses and consumers? 6 Key Economic Trends for 2018 From tax reform to a changing global landscape, these are the major forces affecting the economy in the coming year. The economy...
Briefly discuss the difference between training and development and how they can affect a performance appraisal....
Briefly discuss the difference between training and development and how they can affect a performance appraisal. Must be 200 words
Describe the basic elements of human nature and how they affect information security policy development and...
Describe the basic elements of human nature and how they affect information security policy development and impact information security policy implementation issues. Propose at least three ways that organizations can overcome this policy development and implementation issues.
Describe a way a drug might affect synaptic transmission.
Describe a way a drug might affect synaptic transmission.
How might differences between the kinetics of mRNA suppression and protein half-life affect the timing of...
How might differences between the kinetics of mRNA suppression and protein half-life affect the timing of the observed therapeutic effect?
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT