Anda di halaman 1dari 9

Waterfall Model

This is the most common and classic of life cycle models, also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed in its entirety before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. Unlike what I mentioned in the general model, phases do not overlap in a waterfall model.

Advantages
y y y y

Simple and easy to use. Easy to manage due to the rigidity of the model each phase has specific deliverables and a review process. Phases are processed and completed one at a time. Works well for smaller projects where requirements are very well understood.

Disadvantages
y y

Adjusting scope during the life cycle can kill a project No working software is produced until late during the life cycle.

y y y y

High amounts of risk and uncertainty. Poor model for complex and object-oriented projects. Poor model for long and ongoing projects. Poor model where requirements are at a moderate to high risk of changing.

V-Shaped Model
Just like the waterfall model, the V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins. Testing is emphasized in this model more so than the waterfall model though. The testing procedures are developed early in the life cycle before any coding is done, during each of the phases preceding implementation. Requirements begin the life cycle model just like the waterfall model. Before development is started, a system test plan is created. The test plan focuses on meeting the functionality specified in the requirements gathering. The high-level design phase focuses on system architecture and design. An integration test plan is created in this phase as well in order to test the pieces of the software systems ability to work together. The low-level design phase is where the actual software components are designed, and unit tests are created in this phase as well. The implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use.

Advantages
y y y y

Simple and easy to use. Each phase has specific deliverables. Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle. Works well for small projects where requirements are easily understood.

Disadvantages
y

Very rigid, like the waterfall model.

y y y

Little flexibility and adjusting scope is difficult and expensive. Software is developed during the implementation phase, so no early prototypes of the software are produced. Model doesnt provide a clear path for problems found during testing phases.

Incremental Model
The incremental model is an intuitive approach to the waterfall model. Multiple development cycles take place here, making the life cycle a multi-waterfall cycle. Cycles are divided up into smaller, more easily managed iterations. Each iteration passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first iteration, so you have working software early on during the software life cycle. Subsequent iterations build on the initial software produced during the first iteration.

Advantages
y y y y y

Generates working software quickly and early during the software life cycle. More flexible less costly to change scope and requirements. Easier to test and debug during a smaller iteration. Easier to manage risk because risky pieces are identified and handled during its iteration. Each iteration is an easily managed milestone.

Disadvantages
y y

Each phase of an iteration is rigid and do not overlap each other. Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.

Spiral Model
The spiral model is similar to the incremental model, with more emphases placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in

the planning phase, requirements are gathered and risk is assessed. Each subsequent spirals builds on the baseline spiral. Requirements are gathered during the planning phase. In the risk analysis phase, a process is undertaken to identify risk and alternate solutions. A prototype is produced at the end of the risk analysis phase. Software is produced in the engineering phase, along with testing at the end of the phase. The evaluation phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral. In the spiral model, the angular component represents progress, and the radius of the spiral represents cost. Spiral Life Cycle Model

Advantages
y y y

High amount of risk analysis Good for large and mission-critical projects. Software is produced early in the software life cycle.

Disadvantages
y y y y

Can be a costly model to use. Risk analysis requires highly specific expertise. Projects success is highly dependent on the risk analysis phase. Doesnt work well for smaller projects.

one can say the classic waterfall method stands for predictability, while Agile methodology spells adaptability. Agile methods are good at reducing overheads, such as, rationale, justification, documentation and meetings, keeping them as low as is possible. And, that is why Agile methods benefit small teams with constantly changing requirements, rather more than larger projects.

1. Once a stage is completed in the Waterfall method, there is no going back, since most software designed and implemented under the waterfall method is hard to change according to time and user needs. The problem can only be fixed by going back and designing an entirely new system, a very costly and inefficient method. Whereas, Agile methods adapt to change, as at the end of each stage, the logical programme, designed to cope and adapt to new ideas from the outset, allows changes to be made easily. With Agile, changes can be made if necessary without getting the entire programme rewritten. This approach not only reduces overheads, it also helps in the upgrading of programmes. 2. Another Agile method advantage is one has a launchable product at the end of each tested stage. This ensures bugs are caught and eliminated in the development cycle, and the product is double tested again after the first bug elimination. This is not possible for the Waterfall method, since the product is tested only at the very end, which means any bugs found results in the entire programme having to be re-written. 3. Agiles modular nature means employing better suited object-oriented designs and programmes, which means one always has a working model for timely release even when it does not always entirely match customer specifications. Whereas, there is only one main release in the waterfall method and any problems or delays mean highly dissatisfied customers. 4. Agile methods allow for specification changes as per end-users requirements, spelling customer satisfaction. As already mentioned, this is not possible when the waterfall method is employed, since any changes to be made means the project has to be started all over again. 5. However, both methods do allow for a sort of departmentalization e.g. in waterfall departmentalization is done at each stage. As for Agile, each coding module can be delegated to separate groups. This allows for several parts of the project to be done at the same time, though departmentalization is more effectively used in Agile methodologies. In conclusion, though on the plus side, waterfalls defined stages allow for thorough planning, especially for logical design, implementation and deployment, Agile methodology is a sound choice for software development and web design projects. More and more firms are becoming Agile!

Agile methodology is more of people oriented. Agile methodology helps us to increase productivity and reduce risks. There are 2 popular agile methods- Extreme programming (XP) and Scrum. Agile Methodology- Characteristics Frequent Delivery More Iterations Test frequently

Less defects

Agile is software development methodology. It is very effective where Client frequently changes his requirement. Since it has more iteration so you can assure a solution that meets clients requirement. More than one build deployment for a project. It involves more client interaction and testing effort. There are two methods by which this methodology can be implemented:1- Scrum 2- Extreme Progamming Scrum: Each iteration would called a scrum which can be a 1-2 Months.In Scrum Client prioritise his requirements what he want first. If developer did not meets all the requirement which was being fixed for a perticular scrum than rest of the development part would be transferred to the next scrum (would be delievered in the next build), means developer cann't increase time decided for a scrum. Its fixed. Extreme Programming (XP): here iteration period would be less then in scrum , which is being 2-4 weeks.Here developer prioritise what to do first on the basis of client requirement.This duration which was being fixed for a iteration, can be increase if the some development part is still pending. The build would deployed with having all the client needs.Thus iteration period is not fixed here it can be increase.but iteration should meets all the client's requirement in this build.More attension is required for testing in XP.

Work Breakdown Structure

A complex project is made managable by first breaking it down into individual components in a hierarchical structure, known as the work breakdown structure, or the WBS. Such a structure

defines tasks that can be completed independently of other tasks, facilitating resource allocation, assignment of responsibilities, and measurement and control of the project.
Work Breakdown Structure Diagram

Dividing complex projects to simpler and manageable tasks is the process identified as Work Breakdown Structure (WBS). Usually, the project managers use this method for simplifying the project execution. In WBS, much larger tasks are broken-down to manageable chunks of work. These chunks can be easily supervised and estimated.

Project phases

Deliverable
From Wikipedia, the free encyclopedia Jump to: navigation, search

Deliverable is a term used in project management to describe a tangible or intangible object produced as a result of the project that is intended to be delivered to a customer (either internal or external). A deliverable could be a report, a document, a server upgrade or any other building block of an overall project.[1] A deliverable may be composed of multiple smaller deliverables. It may be either an outcome to be achieved (as in "The corporation says that making a profit this year is a deliverable.") or a product to be provided (as in "The deliverable for the completed project consists of a specialpurpose electronic device and its controlling software."). A deliverable differs from a project milestone in that a milestone is a measurement of progress toward an outcome whereas the deliverable is the result of the process. For a typical project, a milestone might be the completion of a product design while the deliverable might be the technical diagram of the product.

A deliverable, in project management terms, is anything that the project delivers, whether to the client, the stakeholder, etc... Example of deliverables are: - Reports - Demos - End product