Você está na página 1de 5

Advantages of Waterfall Software Development 1. It is very easy yet powerful method of software development.

The phases are


arranged so that it helps even the new developers to understand the big picture of how to go about developing the software through the software development life cycle.

2. It calls for a disciplined approach to save on project time and cost as well effort.
Otherwise the implementation team may develop a code only to realize later that it was not at all required. This happens much more than one might realize and it cause issues both in development and testing.

3. The project management stakeholders are forced to correctly define the business
requirements documentation (BRD) and the project management requirements. At the sametime the developers are forced to understand these thoroughly before they start writing the software requirements specification (SRS), high level design and code. 4. It essentially requires documentation at every stage. This gives better understanding of the requirements, the logic of the codes and tests that were conducted on the software.

Disadvantages of Waterfall Software Development


1. In this method, all the requirements of the software need to be specified upfront and there is no room for committing mistakes.

2. The project scope statement needs to be detailed in infinite depth from the start
because changes are not possible when using waterfall methodology. This is because the only way to amend something which has been already developed is to go back and start again. This will cause huge problems on projects where the project sponsors are indecisive and quickly causes scope creep.

3. Project communications with the client are extremely limited being either at the
beginning or at the end of the development. In between, there is no way in which one can get feedback or potentially clarify any confusion over what the requirement actually means. The knock on effect is that it is up to the project team to make the key decisions on what requirements can be developed within the timeframes required, and what is developed later in a later deployment release by project planning in teams. This not only increases the overall time required to develop the

software but also means that despite the team's best efforts, the customer may still be extremely unhappy with the end product delivered.

4. Key team members stay idle for long durations. You see Waterfall does not operate
on a matrix basis which makes project resource management an extremely rigid activity. Basically those allocated to the project stay on it until that phase is over. This as you can imagine, has a direct knock on effect on the project budget.

5. It is a very rigid method which does not entertain any change in requirements and
which makes any subsequent functionality changes required extremely difficult and expensive to implement. As such the fast pace of changing requirements determined makes this methodology difficult to use and calls for more nimble methods of software development such as agile methodology or SCRUM methodology.

Advantages of Agile
Agile methodology has an adaptive team which is able to respond to the changing requirements. 1. The team does not have to invest time and effort and finally find that by the time they delivered the product, the requirement of the customer has changed. 2. Face to face communication and continuous inputs from customer representative leaves no space for guesswork. 3. The documentation is crisp and to the point to save time. 4. The end result is the high quality software in least possible time duration and satisfied customer. In a nutshell this means that you can get development started fast, but with the caveat that the project scope statement is "flexible" and not fully defined. Hence this can be one of the major causes of scope creep if not managed properly.

Disadvantages of Agile Methodology 1. In case of some software deliverables, especially the large ones, it is difficult to assess
the effort required at the beginning of the software development life cycle. 2. There is lack of emphasis on necessary designing and documentation. 3. The project can easily get taken off track if the customer representative is not clear what final outcome that they want. 4. Only senior programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.

Advantages of RUP Software Development


1. This is a complete methodology in itself with an emphasis on accurate documentation

2. It is proactively able to resolve the project risks associated with the client's evolving
requirements requiring careful change request management

3. Less time is required for integration as the process of integration goes on throughout
the software development life cycle. 4. The development time required is less due to reuse of components. 5. There is online training and tutorial available for this process.

Disadvantages of RUP Software Development


1. The team members need to be expert in their field to develop a software under this methodology. 2. The development process is too complex and disorganized.

3. On cutting edge projects which utilize new technology, the reuse of components will
not be possible. Hence the time saving one could have made will be impossible to fulfill.

4. Integration throughout the process of software development, in theory sounds a good


thing. But on particularly big projects with multiple development streams it will only add to the confusion and cause more issues during the stages of testing

Advantages of RAD Software Development 1. The time required to develop the software is drastically reduced due to a reduced
requirement analysis business requirements documentation and software requirement specification) and planning stage.

2. All the software prototypes produced can be kept in a repository for future use. The
reusability of the components also enhances the speediness of the process of software development.

3. It is much easier for a project manager to be accurate in estimating project costs


which of course means that project cost controls are easier to implement and manage as well.

4. It is a big cost saver in terms of project budget as well as project time and cost due to
reusability of the prototypes.

5. If a component is being picked for the repository, it is already tested and hence need not be tested again. This helps in saving time required for testing.

6. The project management requirements are collected in a dynamic manner. Every


time there is a prototype ready, requirements are studied and matched. If there are any additional requirements, these are then included in the next prototype built. 7. There is a strong and continuous participation of the project sponsor who keeps giving feedback in the whole process. Hence the end user satisfaction level is higher when the end result is produced. 8. It promotes better documentation through written test cases.

Disadvantages of RAD Software Development


1. This method may not be useful for large, unique or highly complex projects 2. This method cannot be a success if the team is not sufficiently motivated and nor is unable to work cohesively together. 3. Success depends on the extremely high technical skills of the developers.

4. There are times when the team ignores necessary quality parameters such as
consistency, reliability and standardization. Hence this can make project quality management hard to implement during the project management life cycle

Advantages of Agile SCRUM


1. Agile scrum helps the company in saving time and money.

2. Scrum methodology enables projects where the business requirements documentation


is hard to quantify to be successfully developed. 3. Fast moving, cutting edge developments can be quickly coded and tested using this method, as a mistake can be easily rectified. 4. It is a lightly controlled method which insists on frequent updating of the progress in work through regular meetings. Thus there is clear visibility of the project development.

5. Like any other agile methodology, this is also iterative in nature. It requires continuous
feedback from the user. 6. Due to short sprints and constant feedback, it becomes easier to cope with the changes. 7. Daily meetings make it possible to measure individual productivity. This leads to the improvement in the productivity of each of the team members. 8. Issues are identified well in advance through the daily meetings and hence can be resolved in speedily 9. It is easier to deliver a quality product in a scheduled time.

10. Agile Scrum can work with any technology/ programming language but is particularly useful for fast moving web 2.0 or new media projects. 11. The overhead cost in terms of process and management is minimal thus leading to a quicker, cheaper result. In a nutshell this means that you can get development started fast, but with the caveat that the project scope statement is "flexible" and not fully defined. Hence this can be one of the major causes of scope creep if not managed properly.

Disadvantages of Agile SCRUM 1. Agile Scrum is one of the leading causes of scope creep because unless there is a
definite end date, the project management stakeholders will be tempted to keep demanding new functionality is delivered.

2. If a task is not well defined, estimating project costs and time will not be accurate. In
such a case, the task can be spread over several sprints. 3. If the team members are not committed, the project will either never complete or fail. 4. It is good for small, fast moving projects as it works well only with small team. 5. This methodology needs experienced team members only. If the team consists of people who are novices, the project cannot be completed in time. 6. Scrum works well when the Scrum Master trusts the team they are managing. If they practice too strict control over the team members, it can be extremely frustrating for them, leading to demoralisation and the failure of the project. 7. If any of the team members leave during a development it can have a huge inverse effect on the project development

8. Project quality management is hard to implement and quantify unless the test team are
able to conduct regression testing after each sprint.

Você também pode gostar