Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

 Methodologies used in software project management-: A methodology

is a model, which project managers employ for the design, planning,


implementation and achievement of their project objectives. There are
different project management methodologies to benefit different projects.

For example, there is a specific methodology, which NASA uses to build a space
station while the Navy employs a different methodology to build submarines.
Hence, there are different project management methodologies that cater to the
needs of different projects spanned across different business domains.

 Project Methodologies

1. Water Fall Model-: Waterfall model is a famous and good version of


SDLC (System Development Life Cycle) for software engineering. The
waterfall model is a linear and sequential model, which means that a
development phase cannot begin until the previous phase is completed. We
cannot overlap phases in waterfall model.
 It was founded in 1970 by Winston w. Royce.

1:-Requirement phase:- Requirement phase is the first phase of the waterfall


model. In this phase the requirements of the system are collected and
documented. This phase is very crucial because the next phases are based on this
phase.
2:-Design phase:- Design phase is based on the fact how the software will be
built. The main objective of the design phase is to prepare the blueprint of the
software system so that no problems are faced in the coming phases and solutions
to all the requirements in the requirement phase are found.
3:-Implementation phase:- In this phase, hardware, software and application
programs are installed and the database design is implemented. Before the
database design can be implemented, the software has to go through a testing,
coding, and debugging process. This is the longest lasting phase in waterfall.
4:-verification phase:- In this phase the software is verified and it is evaluated
that we have created the right product. In this phase, various types of testing are
done and every area of the software is checked.
 It is believed that if we do not verify the software properly and there is any
defect in it then no one will use it, hence verification is very important.
 One advantage of verification is that it reduces the risk of software failure.
5:-Maintenance phase:- This is the last phase of waterfall. When the system is
ready and users start using it, then the problems that arise have to be solved time-
to-time. Taking care of the finished software and maintaining it as per time is
called maintenance.
There are three types of maintenance in SDLC:-
1. corrective maintenance
2. adaptive maintenance
3. Perfective maintenance.

Advantages of Waterfall Model-:

1. This model is simple and easy to understand.


2. This is very useful for small projects.
3. This model is easy to manage.
4. Each phase of this model is well explained.

Disadvantages of Waterfall Model-:

1. In this model, complete and accurate requirements are expected at the


beginning of the development process.
2. We cannot go back to the previous phase due to which it is very difficult to
change the requirements.
3. Risk is not assessed in this, hence there is high risk and uncertainty in this
model.
4. In this the testing period comes very late.
5. Due to its sequential nature this model is not realistic in today's world.
6. This is not a good model for large and complex projects.

2. Agile Model- Agile model is a combination of iterative and incremental


models, that is, it is made up of iterative and incremental models.
 In Agile model, focus is given to process adaptability and customer
satisfaction.
 In earlier times, iterative waterfall model was used to create software. But
in today's time developers have to face many problems. The biggest
problem is that in the middle of software development, the customer asks
to make changes in the software. It takes a lot of time and money to make
these changes.
 So to overcome all these shortcomings, the agile model was proposed in
the 1990s.
 In the agile model, the software product is divided into small incremental
parts. In this, the smallest part is developed first and then the larger one.
 And each incremental part is developed over iteration.
 Each iteration is kept small so that it can be easily managed. And it can be
completed in two-three weeks. Only one iteration is planned, developed
and deployed at a time.

 Principles of Agile model-:


1:- There is a customer representative in the development team to maintain
contact with the customer during software development and to understand the
requirement. When an iteration is completed, stakeholders and customer
representatives review it and re-evaluate the requirements.
2:- Demo of working software is given to understand the customer's
requirements. That is, it does not depend only on documentation.
3:- Incremental versions of the software have to be delivered to the customer
representative after a few weeks.
4:- In this model it is advised that the size of the development team should be
small (5 to 9 people) so that the team members can communicate face to face.
5:- Agile model focuses on the fact that whenever any changes have to be made
in the software, it should be completed quickly.
6:- In agile development, two programmers work together. One programmer does
the coding and the other reviews that code. Both the programmers keep changing
their tasks, that is, sometimes one does coding and sometimes someone reviews.
Advantages of Agile Model-:

1:- In this, two programmers work together due to which the coding is very good
and there are very few mistakes in it.
2:- In this the software project is completed in a very short time.
3:- In this the customer representative has an idea of each iteration so that he can
easily change the requirement.
4:- There are very few rules in this and documentation is also negligible.
5:- There is no need for planning in this.
6:- It can be managed easily.
7:- It provides flexibility to developers.

Disadvantages of Agile Model-:

1:- It cannot handle complex dependencies.


2:- Due to lack of formal documentation in this, there is confusion in
development.
3:- It mostly depends on the customer representative; if the customer
representative gives any wrong information then the software can become wrong.
4:- Only experienced programmers can take any decision in this. New
programmers cannot take any decision.
5:- In the beginning of software development, it is not known how much effort
and time will be required to create the software.
3. Spiral Model:- Spiral model was proposed by BOHEM in 1985. Because of
the spiral shape of this model, it is called spiral model.
 Spiral model includes both waterfall model and prototype model, that is, it
is a combination of both waterfall model and prototype model.
 Spiral model is used for big projects, it is not used in small projects and
this model is very expensive.

 When and where the Spiral Model should be used:


1. This model is best suited for large projects.
2. Use this model when it is important to evaluate risk and cost.
3. When the customer is not able to explain his requirements well.
4. Where changes may be required in the project at any time.
Spiral model has the following 4 phases:-
1:-Planning
2:-Risk analysis
3:-Engineering
4:-Evaluation

1:-Planning:-All our requirements are collected in the planning phase. In the


planning phase, we discuss what we want the software to achieve or what its
goals are.
2:-Risk analysis:- In this phase all the risks are identified and if any risk is found
then its solution is found.
3:-Engineering:- In this phase coding and testing is done and the entire process
of software development comes in this phase.
4:-Evaluation:-In this phase, whatever software has been prepared, the customer
evaluates it and gives his feedback.

4. SCRUM MODEL-: Scrum is the type of Agile framework. It is a


framework within which people can address complex adaptive problem while
productivity and creativity of delivering product is at highest possible values.
Scrum uses Iterative process. Silent features of Scrum are:
 Scrum is light-weighted framework
 Scrum emphasizes self-organization
 Scrum is simple to understand
 Scrum framework help the team to work together

Advantage of using Scrum framework:


 Scrum framework is fast moving and money efficient.
 Scrum framework works by dividing the large product into small sub-
products. It’s like a divide and conquer strategy
 In Scrum customer satisfaction is very important.
 Scrum is adaptive in nature because it have short sprint.
 As Scrum framework rely on constant feedback therefore the quality of
product increases in less amount of time
Disadvantage of using Scrum framework:
 Scrum frameworks do not allow changes into their sprint.
 Scrum framework is not fully described model. If you wanna adopt it you
need to fill in the framework with your own details like Extreme
Programming (XP), Kanban, and DSDM.
 It can be difficult for the Scrum to plan, structure and organize a project
that lacks a clear definition.
 The daily Scrum meetings and frequent reviews require substantial
resources.

 There are many features of scrum

Sprint: A Sprint is a time box of one month or less. A new Sprint starts immediately after
the completion of the previous Sprint.

Sprint Backlog: Sprint Backlog is divided into two parts Product assigned features to sprint
and Sprint planning meeting.

Scrum Master-: Who work as a coach in the team point to remember the coach the leader
are two different persons.

Product Owner-: The person who is responsible for representation the business and
customer role in the team.
5. RAD Model-: The full name of RAD model is rapid application
development model.
 The Rapid Application Development Model was first proposed by IBM in
the 1980s.
 The methodology of RAD model is similar to that of incremental or
waterfall model. It is used for small projects.
 If the project is big then it is divided into many small projects and these
small projects are planned one by one and completed. In this way, by
completing small projects, the big project gets ready quickly.
 In RAD model, the project is completed within the given time and all the
requirements are collected before starting the project.
 In RAD model, the project is completed very fast and there are very less
errors in it.
 The main objective of RAD model is to reuse code, components, tools, and
processes in project development.
 RAD model has the following phases:-
1. business modeling
2. data modeling
3. process modeling
4. application generation
5. testing and turnover
1:- Business modeling:- In this phase, the business model of the product is
designed based on the information obtained from various business activities.
Before starting the development work, the complete information and
functionality of the business is analyzed thoroughly.

2:- Data modeling:- When the business modeling phase is over, the information
obtained from business modeling is used to define data objects.

3:- Process modeling:- The data objects defined in data modeling are
transformed to achieve information flow so that some specific business goals can
be accomplished based on the business model.

4:- Application generation:- In this phase the application is created and coding
is done. And automated tools are used for creating and coding software. All this
happens in real time.

5:- Testing and turnover:- In this all the interfaces and components are tested.
Since in this the prototype is tested separately in each cycle, due to which the
testing time in RAD is reduced.

Advantage of RAD model-:

1. In this the components are reused.


2. It is flexible and it is easy to make any changes in it.
3. It reduces the time taken in development.
4. In this, productivity can be increased in less time with less people.
5. It is cost effective.
6. It is suitable for small projects.

Disadvantage of RAD model-:

1:- In this we need highly skilled developers and designers.


2:- It is very difficult to manage.
3:- It is not suitable for long lasting and big projects.
4:- In this, feedback from the client is required for the development of each
phase.
5:- Automated code generation is very expensive.

6. Extreme Programming (XP)-: Extreme programming (XP) is one of


the most important software development frameworks of agile models. It is used
to improve software quality and responsiveness to customer requirements.

First introduced in 1996, extreme programming can help you and your
team create a better product in less time. Let's take a look at what XP is
and how it works so you can determine whether it's the right project
management methodology for your needs.

He extreme programming model recommends taking the best practices that have
worked well in the past in program development projects to extreme levels.

 Extreme programming processes-:

XP follows five basic processes, which are scalable and repeatable across all
software projects from start to finish.

1. Planning

Every project starts with planning. In the planning phase, the customer meets
with the team to outline their requirements for the finished project. The team
then breaks down the entire project into weekly iterations and plans tasks in
one-week increments to complete as much work as quickly as possible.

2. Designing

Designing software in extreme programming requires an incremental design


process. Each team member should work on the design every day,
continually searching for opportunities to improve while reducing
duplication. Good design keeps things as simple and straightforward as
possible.
3. Coding

Coding is where concepts turn into reality. The team has a shared code—
owned collectively—making every developer responsible for the entire
project. Encourage communication across your team, particularly in this
stage, to increase the quality of each incremental project phase.

4. Testing

XP relies on test-driven development (TDD) in a simple cycle. First, create a


failing test. Then, produce code that passes the test. While designing the
code to pass the established test, teams learn to make it as simple as
possible.

5. Listening

All parties must listen to feedback as they work and communicate. That's
ultimately what moves a project forward, and allows everyone to succeed.

You might also like