Wait a second!
More handpicked essays just for you.
More handpicked essays just for you.
Strengths and Weaknesses of Waterfall Approach for Software Development
Don’t take our word for it - see why 10 million students trust us with their essay needs.
A Study of WaterFall, a Software Development Model
According to en.wikipedia.org Waterfall “is a software development
model first proposed in 1970 by w.w. Royce, in which development is
seen as flowing steadily through the phase of requirements analysis,
design, implementation, testing, (validation), integration, and
maintenance”. Waterfall method is the first published model of a
software development process (1970). The basic principle is that the
different processes (Analysis, Design, Coding, and Testing) are done
sequentially. Output from one process is input to the next.
Waterfall method advantages like simple, easy to understand and work
with. Waterfall creates very detailed intermediate documentation
after each process. In general it is difficult to find situations
where the Waterfall method is especially suitable. For the method to
work the requirements have to be basically written in stone. It is
never recommendable for any Graphical User Interface work.
Iterative, Spiral and Agile
According to web definition iterative design is the integration of the
four steps in a traditional systems development process namely
analysis, design, construction and implementation, which are combined
into a single step that is repeated iteratively. Spiral design is a
systems development method (SDM) used in information technology (IT).
This model of development combines the features of the prototyping
model and the waterfall model and agile process is methods are
software development methodologies espoused by the Agile Alliance, a
nonprofit organization. These methods were developed with the
understanding that software is difficult t...
... middle of paper ...
... implementation, scrum significantly increases productivity and reduces
time to benefits while facilitating adaptive, empirical systems
development.
Agile Development Method for my Organization IT
Agile represents a number of lightweight methodologies including DSDM,
Extreme Programming (XP) and Scrum. They follow principles from
established management science focusing on the value creation,
effective delivery of valuable software, offer delegation and
empowerment and encourage a hands-off management style.
For my organization I will introduce Scrum which is one the
lightweight and a good management tool.
Reference
Jones, Capers. 1994. Assessment and Control of Software Risks.
www.google.com
http://www.controlchaos.com/
http://www.lux-seattle.com/about/whitepapers/lux-project-lifecycles.pdf
The article explains about the affect of prototyping practices on design results. Using Iterative practices in making designs can lead to better results. Instead of working on making a perfect design, Iterative practices helps designers to learn from their previous mistakes and give a better output. For example (cited in Bayles and Orland 2001), two groups were asked to make ceramics by a teacher. He accessed one group on quantity and the other group on quality. Surprisingly, the first group made many ceramics while learning from their mistakes while the quality group were just discussing about perfect design. This is a great example showing Iterative practice helps in making refinements to design process.
The waterfall methodology flows in a downward fashion, similar to the way water flows downwards, take developers from the high-level initial requirements gathering through the system testing and product shipment. The waterfall methodology create blueprints or plans for the optimal process for software developme...
Scrum is an Agile methodology system used for project management. The origination of Scrum has helped teams to improve immensely in product delivery, feedback and discoveries, and has also reduced complexity in project. A Certified Scrum Manager is a leader of the Scrum team according to area of specialization. You may like to visit http://www.scrumalliance.org for information on Scrum Training and Certification.
Agile Methodology is a term I have come across more and more throughout my exposure to professionals in the IS field. Wither it be networking activities, interviews, or general conversation I repeatedly hear “Agile Methodology” in reference to system development and project management, where it is referenced as the “newest and greatest” method of development. This has made me wonder what exactly is Agile Methodology, when is it best for a development team to use Agile, why is Agile the “in” methodology, how is it implemented, and what are the results of “going agile”. In this series of summaries, I will peruse blogs and networking sites on the internet, utilized various journals, and interview fellow students and professionals in the IS field to discover the what, when, why, and how of Agile Methodology. In preparation of this summary I found that Agile is an umbrella term for at least ten different methodologies with three common key principles based on the Agile Manifesto.
The system development life cycle, also know as the SDLC, is the process of designing and developing a system or software to meet certain requirements. (“System development life,”). This cycle involves many different phases, in which the system is planned, analyzed, designed, implemented, and tested. There are five major phases in the system development life cycle: systems planning, systems analysis, systems design, systems implementation, and systems security and support. Each of these phases has a particular responsibility and certain tasks are perfumed in each phase.
A waterfall model is a model that organisations use to help them complete their projects in a more organised and structured way, like a guide. The waterfall model has five stages the organisation has to follow in an order, they are: requirements, design, implementation, verification and maintenance. The first stage (requirements) is when the organisation has to know what the requirements will be when creating the system, what do they need and when do they need it. During the design phase the organisation would need to first draw out some sketches of how the system would look like, the interface and the DFD (data flow diagram). They would need choose the final design so they could move on to the next stage, implementation. This is when you create the system, you use the design you created previously to help you as a guide to complete this stage. The next stage is verification, this is when you verify if the system you created is suitable for the organisation, is it reliable, is it easy to use, those sorts of things. You can verify the system by creating a survey to see what if the system is good enough. The last stage is maintenance, this is happens after you published the system, you need to maintain it by making updates and fixing errors.
Scrum is basically a framework for agile development. Scrum is a process that is used most of the time during complex projects in software development. It is also a simple yet affective way to manage work. The strategy in Scrum is to divide members into a team and have them work together to achieve a common goal or project. Scrum provokes communication between the members of the teams. This communication is imperative to the success of the project.
Given the time, it takes to develop large sophisticated software systems it not possible to define the problem and build the solution in a single step. Requirements will often change throughout a projects development, due to architectural constraints, customer’s needs or a greater understanding of the original problem. Iteration allows greater understanding of a project through successive refinements and addresses a projects highest risk items at every stage of its lifecycle. Ideally each iteration ends up with an executable release – this helps reduce a projects risk profile, allows greater customer feedback and help developers stay focused.
In the new development life cycle Each major release is divided into sub-releases or what is know as ‘iterations’. All functional requirements are split into iterations so that the requirements can be effectively implemented as per the specifications provided by the client. After every iteration the software is reviewed and to verify and make sure that requirements have been adequately met and remaining changes could be implemented in subsequent iterations. Thus, changes can be implemented throughout the cycle.
Way of Thinking – Unified Process is a predictive and adaptive approach of software development methodology based on object oriented principles. (Satzinger & Others, 2005) It is use case driven approach focused on developing the system incrementally by delivering the captured functional requirements in iterations. (So-Young & Ho-Jin, 2005) Creating different artifacts throughout the development process eliminates the possibility of undefined requirement and miscommunication. (Rational, 1998) Modularity embedded in the process allows developing and delivering of system in components. Maintaining software quality and requirement changes are integral part of process. (Daoudi & Nurcan) (ISQA 8220 Notes)
The Waterfall model is more or less totally linear in progression with six specific stages being undertaken in chronologically descending order. The first stage is known as the Requirements stage, in which the document of product requirements is created for future reference. The Design procedure is the second stage, which culminates in the architecture for the base software. Next, the Construction stage occurs, where the implementation of coding upon the base architecture results in the actual software being created. The fourth stage is Integration, where the software is made ready for the systems that it will become a part of, merging it to create the first step of the final product. Testing and debugging then occur to make sure that Integration worked as planned without the introduction of new errors due to the integration or that old mistakes do not take on a new potency due to the change in the software. Finally, Installation of the product occurs, finishing the product, which is taken up by the Software and the Maintenance steps of the six-stage Waterfall model. There are non-traditional variations of the waterfall method, but these are not relevant to the current discussion, and as such, will not be covered at this time.
The Waterfall Model was first Process Model.. It is also called as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase begins. At the end of each phase, a review takes place to determine if the project is on the right path and whether to continue or discard the project and waterfall model phases do not overlap.
Schrodl, Holger and Wind, Stefan, "Adoption of SCRUM for Software Development Projects: An Exploratory Case Study from the ICT Industry" (2011). AMCIS 2011 Proceedings - All Submissions. Paper 256.
What is the waterfall methodology? According to several software engineering sites, the waterfall methodology is also known as the linear-sequential life cycle model and also known as the traditional approach to software development. The waterfall model is as follows: Requirement of gathering and analysis, flowing down to, System design, then flowing down to Implementation, followed by Testing, and then Deployment of the system, and the final phase of Maintenance. The idea of the waterfall approach is that once a phase is completed, the process continues to move down the chain until all of the phases are completed and there is a product to deliver; the method is unidirectional. The waterfall approach is known for not allowing changes to be implemented passed the requirement gathering and analysis phase.
The waterfall model is the classical model of software engineering. This model is one of the oldest models and is widely used in government