Professional Documents
Culture Documents
Services
Outsourcing Central
• Waterfall
• V-Shaped
• Structured Evolutionary Prototyping Model
• Incremental
• Spiral
• Agile
A brief description of the various models mentioned above is given below. Along with the
description, we have mentioned the strengths and discussed when a particular model is suited
to you:
Waterfall Model
Steps
Strengths
When To Use?
back to top
Definition
A variant of the waterfall that emphasizes the verification and validation of the product
Testing of the product is planned in parallel with a corresponding phase of development.
Steps
Architecture or hi-level design – defines how software functions fulfill the design
System and Acceptance Testing – check the entire Software System in its environment.
Strengths
• Emphasize planning for verification and validation of the product in early stages of
product development
• Each deliverable must be testable
• Project management can track projects by milestones
• Easy to use.
When To Use?
• Excellent choice for systems requiring high reliability – eg. Hospital patient control
applications
• All requirements are known upfront
• When it can be modified to handle changing environments beyond analysis phase
• Solution and technology are known
back to top
Description
Steps
Strengths
• Customers can “see” the system requirements as they are being gathered
• Developers learn from customers
• A more accurate end product
• Unexpected requirements accommodated
• Allows for flexible design and development
• Steady, visible signs of progress produced
• Interaction with the prototype stimulates awareness of additional needed functionality
When To Use?
back to top
Steps
Strengths
When To Use?
• Risk, funding, schedule, program complexity, or need for early realization of benefits.
• Most of the requirements are known up-front but are expected to evolve over time
• A need to get basic functionality to the market early
• On projects which have lengthy development schedules
• On a project with new technology
back to top
• Adds risk analysis, and 4gl RAD prototyping to the waterfall model
• Each cycle involves the same sequence of steps as the waterfall process model
Steps
Typical activities
• Create a design
• Review design
• Develop code
• Inspect code
• Test product
Typical activities
Strengths
When To Use?
back to top
Agile Model
• When it is difficult for a product manager to nail down all the requirements that a
design team requires, the Agile model works best. This generally happens if you are
working on a complicated solution. It might also happen for a very small solution
where the requirements are not written on time with due diligence.
• Agile methodologies are very easily applied to projects that are user-interface driven.
• If your organization thrives in chaos (usually startups), and getting requirements is not
easy, and you go from quarter to quarter, agile is an ideal model for you because it
gets results faster and allows you have a product at all times.
• If you are using unknown technologies, an Agile approach allows you to lower down
the risk of using these unknown technologies. It also allows you to review your
designs with what was found about these technologies in the previous iteration.
Steps
Strengths
• Reduced cycle time and improved productivity with fewer people means lower costs
• Time-box approach mitigates cost and schedule risk
• Customer involved throughout the complete cycle minimizes risk of not achieving
customer satisfaction and business needs
• Focus moves from documentation to code (What you see is what you get).
• Uses modeling concepts to capture information about business, data, and processes.
When To Use?
Scrum is based on a "Sprint," which is generally a 30-day period for delivering a working
part of the system. Each Sprint starts with a two to three-hour planning session that includes
the customer (product owner), the facilitator (Scrum Master) and the cross-functional team.
The customer describes the highest priority in the backlog, and after the team agrees on how
much of it to do, it is left alone to do it. To keep the team synchronized, there is a 15-minute
meeting every day. At the end of the Sprint, the results are delivered and reviewed, and the
next Sprint is started.
Steps
• Education: Select those involved in the project rollout and if you have a project
already selected, involve the business sponsor, business manager, and key business
users.
• Project Definition / Selection: Once everyone is clear on the vision and direction, a
project can get started. The project may have been identified sooner but how the
project is chosen or what criteria was used needs to be understood. We need to make
sure that risks at this level are addressed to help ensure success for both project and
process. The criteria for selecting the project needs to include the solution’s level of
complexity, visibility, resources, and integrations.
• Execute Project: Go through the project kickoff; explain the methodology, roles,
responsibilities, timeline, deliverables, etc.; fairly standard project details and lay the
scope from all project documents, thoughts, and discussions. Work on the backlog,
feature negotiations, the sprints, scrum meetings, demos, etc. Once a sprint is done, do
a retrospective and refine the processes for the next sprint and the next project. Once
solution is in production, conduct a tuning sprint. This is a special sprint we do at
iBoss Tech Solutions to ensure 100% adoption by implementing adoption boosting
features and conducing both solution performance and platform tuning in the
production environment.
• Perform Project Retrospective: Apply lessons learned to subsequent projects and
refine other processes. Note that this process improvement will involve support staff
and dynamics between project teams. One of the things we often encounter is that
support organizations cannot move as fast as the project sprints and tend to delay
Agile projects. Similarly, non-agile projects have a difficult time addressing the
integrations with agile projects. As you execute your first project, you will find that
you may need to bend or even break some rules to keep your project on track as
defined by your time box. Therefore at the end of the project, you will need to work
with support and other internal staff to establish new protocols or processes specific to
Agile projects.
• Iterate the steps above: it is very necessary to educate everyone on the project on the
company’s approach to Agile.
When To Use?
Scrum is most perfectly (easily) applied to scenarios with less number of product owners, and
teams with common goals. However, It is relatively easy to scale scrum across multiple teams
with multiple product owners too assuming they share common goals