Agile Waterfall Hybrid Model
A Collaborative Approach
Version 0.1
10-March-2014
REVISION HISTORY
Version Effective Date (DD/MM/YYYY) Brief Description of Change Affected Section(s) Prepared By Reviewed By Approved By
0.1 27-Feb-14 Initial Draft Harshpal Singh
TABLE OF CONTENTS
1 Overview 6
2 Waterfall Model 7
2.1 Advantages of Waterfall Model 7
2.2 Disadvantages of Waterfall Model 7
3 Agile Model 8
3.1 Advantages of Agile Model 8
3.2 Disadvantages of Agile Model 8
4 Collaborative (Hybrid) Model 9
4.1 Advantages of Collaborative Model 10
5 Overview of ACCA Account 11
5.1 What went wrong in Online IR project? And Lessons learnt 11
5.2 Additional best practices in a Hybrid model 12
6 Conclusion 15
LIST OF IMAGES
Figure 1: Waterfall Model 7
Figure 2: Agile Model………………………………………………………………………………………………..8
Figure 3: Collaborative (Hybrid) Model………………………………………………………………………..…..9
Figure 4: Model used by ACCA for Exam Entry project……………………………………………………14
1 Overview
The Waterfall Model has been the ideal choice for software development. In this model, an idea become a usable software in a sequential process that cascade through the stages of Initiation, Analysis, Implementation, Testing and Maintenance. But it has some disadvantages. Agile software development evolved as a solution to the disadvantages of Waterfall model. Instead of a sequential design process, the Agile methodology follows an incremental approach.
When clients/firms who were used to following Waterfall model switched to Agile, the transition brought with it many issues.The reason being inadaptability to a different approach to software development. The end product turned out to be a disaster. A new methodology has thus evolved, combibining the best of both ...
... middle of paper ...
... team is going to adopt. This requires proper planning. Factors like budget, time, resource utilization, complexity of requirements, etc. should be considered in adopting a software model.
Hybrid model is still in a nascent stage. As more and more companies will adopt it, we will learn more about this concept.
The Agile manifesto asks us to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Whereas, the hybrid model does not adhere to it 100 percent. It believes all aspects are important. It is upto the clients/project managers to decide which aspect to value more and which aspect to value less.
References
http://www.wikipedia.org/ http://www.mountaingoatsoftware.com/ http://www.accaglobal.com/gb/en.html
...takes to set up information in the system. The level of understanding would improve through partaking or getting involved and henceforth could be adapted easily. All the bits and pieces of the project would rapidly increase or grow as per the workflow process. At the end, the overall CPOE system should be able to compare the manual method with the new electronic system and tell which is best and accurate to use and also tell how much time and money will be saved when using either system. At the end of the project the team should be able to come together and discuss whether or not the project met all of the company’s needs such as if it is reliable, efficient, safe and secure and also does it save time and money. Then, if the system has more advantages than disadvantages and it is worth all of the team’s time and effort it would be best to continue with the project.
The concept of agile management enables the program to meet its needs and provides a value for business effectively and efficiently, unlike the traditional project management which was highly based
Some software systems have a relatively short lifetime (many web-based systems), others have a lifetime of tens of years (large command and control systems). Some systems have to be delivered quickly if they are to be useful. The techniques used to develop short-lifetime, rapid delivery systems (e.g. use of scripting languages, prototyping, etc.) are inappropriate for long-lifetime systems which require techniques that allow for long-term support such as design modelling.
Customer satisfaction is the important part in agile development and it is found by direct contact with the customers.
They are both very powerful tools for team skill building. When team members can identify with the models and learn to move through each stage successfully, it can set organizational standards to new highs. Every business professional should want to keep a copy of these models on his desk because of the growing dependence of teams in organizations. After all, no one wants to be on the losing team. The ineffective team gives no pleasure or feeling of accomplishment to anyone involved!
Waterfall No. 1 Georgia O’Keefes painting Waterfall No.1 was one of three paintings she devoted to depict a waterfall near the Lao Valley in Hawaii. This one like the rest of them were all done on a white canvas with oil paints. The canvas came about when O’keefe visited Hawaii in 1939 and like the name suggests it is a depiction of a beautiful waterfall. This was new territory for O’keefe when she painted this, as she was most famous for depictions of the arid southwest. The lush tropical sights of Hawaii were a completely opposite compared to her previous pieces.
In the waterfall method, the steps have to be finished iterative, meaning the next step cannot be started until the previous step is completed. Once the current step is completed, then the next step can be started and so on. The customer does not get a working build during any of the steps and cannot make any changes in the scope at all. Once all steps are completed, the end result is given to the customer and then they can deploy and hope it does what they are needing it to do. If any of the steps need to be changed, then the whole process will need to be restarted from the beginning and the process began again. In agile methods, the process is more flexible. This method is flexible and can allow changes after each iteration. The goal of each iteration is to provide a working build so that the customer can give feedback on it and changes can be made, if needed, so that all requirements are met, or if requirements have changed since the initial build of the
It is possible to have a singular methodology for project management to specify morality and ethics when dealing with customers. Application of agile project management approaches like Atern offer a more inclusive approach for stakeholders including consistent update and revision of strategies. When the project manager violates protocol, all stakeholders should come together, clarify issues of violation, and set standards for all to follow.
The Systems Development Life Cycle (SDLC) consists of phases used in developing a piece of software. It is the plan of how to develop and maintain software, and when necessary, replace that software. In 2007 during my hospital’s transition to a new software system, I was fortunate enough to be included in the process. I did not get involved until the implementation phase, but from then on, until now, I remain very active in the process. I decided to highlight the Waterfall Model of SDLC. The Waterfall Model is a “sequential development process” with each phase continuing in a line (McGonigle and Mastrian, 2012, p. 205).
Global software development (GSD) is the most recent and major trend in software engineering domain. It provides many benefits but also faces various challenges in control, communication and coordination due to socio-cultural, geographical and temporal distance. Scrum is increasingly being applied in GSD as it supports teamwork between developers and customers. Scrum method offered a distinctive feature to mitigate the effects of socio-cultural and geographical but not temporal distance on coordination in GSD projects. This paper presents how Scrum helps to mitigate the effects of temporal distance which includes increased coordination costs in GSD projects. A web application which is called "Distributed Scrum web application" provides various advantages for Scrum teams. The main advantage of this application is to facilitate communication among distributed team members.
Early fixing of errors not only helps save cost but also helps in mitigating the various risks associated with software development and it also helps in improving and monitoring quality of the system etc. It has been proven that the cost to identify and mitigate the errors in the early stages of development of a software will be hundred times less than the cost of removing an error in the software system that has been distributed among hundreds of
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.
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.
It is well known that the team work is far better than performing a task individually. Such kind of practice plays a very important role in software engineering. A lot of things can be achieved together with the combination of diversified people, as they input different tactics and skills so that the main objective of a certain mission can be accomplished appropriately. Even though teaming up and working for a project is essential and helpful; there exist some issues that could bring interruptions and conflicts in the team.
With the continuously increasing business demands and globalization trends organization moving towards the distributed software development as a successful approach for overcoming the budget and time constraints of traditional software development. But With the rise in the globalization of business and the advancement of information and communication technologies, organizations are increasingly adopting distributed software development (DSD) as a strategy to meet the traditional budgetary and time constraints of software projects. With all the benefits of time and cost in DSD, it also has associated challenges of distance and socio-cultural based communication, coordination and control. In recent era researchers have shown interest in integrating agile methods in DSD due to the core principles of agile methodologies i.e., flexibility, continuous emphasis on communication and short iterative development to get satisfied customers to produce quality software products.