You are on page 1of 7

Software Process

 A process is a collection of activities,


actions, and tasks that are performed when
some work product is to be created.

Process Model :
o A Process Model describes the sequence of
phases for the entire lifetime of a product. Therefore
it is sometimes also called Product Life Cycle.

A Generic Process Model


As we discussed before, a generic process
framework for software engineering defines five
framework activities- communication, planning,
modeling, construction, and deployment.

In addition, a set of umbrella activities-


project tracking and control, risk management,
quality assurance, configuration management,
technical reviews, and others are applied
throughout the process.

Communication : This activity involves heavy


communication with customers and other
stakeholders in order to gather requirements
and other related activities.
• Planning : Here a plan to be followed will be
created which will describe the technical tasks to be
conducted, risks, required resources, work schedule
etc.
• Modeling : A model will be created to better
understand the requirements and design to achieve
these requirements.
• Construction : Here the code will be generated and
tested.
• Deployment : Here, a complete or partially
complete version of the software is represented to
the customers to evaluate and they give
feedbacks based on the evaluation.
What is “Agility”?
 Ability to move quickly and easily.
 Effective (rapid and adaptive) response to
change
 Effective communication among all stakeholders
 Drawing the customer onto the team
 Organizing a team so that it is in control of the
work performed Yielding or Soft …
 Rapid, incremental delivery of software

Agile model Principles


1.Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software.
2.Welcome changing requirements, even late in
development. Agile processes harness change
for the customer's competitive advantage.
3.Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
4.Business people and developers must work
together daily throughout the project.
5.Build projects around motivated individuals.
Give them the environment and support they
need, and trust them to get the job done.
6.The most efficient and effective method of
conveying information to and within a
development team is face–to–face
conversation.
7.Working software is the primary measure of
progress.
8.Agile processes promote sustainable
development. The sponsors, developers, and
users should be able to maintain a constant
pace indefinitely.
9.Continuous attention to technical excellence
and good design enhances agility.
10. Simplicity – the art of maximizing the amount
of work not done – is essential.
11. The best architectures, requirements, and
designs emerge from self–organizing teams.
12. At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
Prototyping Model

Pros:

1. Gives clear idea about the functional process of the software

2. Reduces the risk of failure in a software functionality

3. Assists well in requirement gathering and the overall analysis


Cons:

1. Chances of extension in management cost

2. Excessive involvement of client can affect processing


3.  Too many changes affect the workflow of the software

4.
Differences between Verification and Validation

Verification is the process of checking that a software achieves its goal without any
bugs. It is the process to ensure whether the product that is developed is right or not. It
verifies whether the developed product fulfills the requirements that we have.
Verification is static testing.
Verification means Are we building the product right?

Validation is the process of checking whether the software product is up to the mark or
in other words product has high level requirements. It is the process of checking the
validation of product i.e. it checks what we are developing is the right product. it is
validation of actual and expected product. Validation is the dynamic testing.
Validation means Are we building the right product?

Choosing the right Software development life cycle model


Waterfal V- Evolutionary Iterative and
Factors l Shaped Prototyping Spiral Incremental Agile

Unclear User
Requirement Poor Poor Good Excellent Good Excellent

Unfamiliar
Technology Poor Poor Excellent Excellent Good Poor

Complex System Good Good Excellent Excellent Good Poor

Reliable system Good Good Poor Excellent Good Good

Short Time Schedule Poor Poor Good Poor Excellent Excellent

Strong Project

Management Excellent Excellent Excellent Excellent Excellent Excellent

Cost limitation Poor Poor Poor Poor Excellent Excellent

Visibility of
Stakeholders Good Good Excellent Excellent Good Excellent
Skills limitation Good Good Poor Poor Good Poor

Documentation Excellent Excellent Good Good Excellent Poor

Component
reusability Excellent Excellent Poor Poor Excellent Poor

You might also like