Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

BIM | 06 SEM

Software
Engineering

Aimed to introduce students with problems in


large-scale software production
Chapter’s of this Subject BIM | 06 SEM

1. Introduction to Software Engineering


2. Software Process

3. Agile Software Development

4. Requirements Engineering

5. System Modeling

6. Architectural Design

7. Design and Implementation

8. Software Testing

9. Software Evolution

10. Sociotechnical Systems

11. Dependability and Security

12. Dependability and Security Specifications


BIM | 06 SEM

Chapter 3
● Introduction to Agile Software Development
● Agile VS Agile Software Development
● Agile-Scrum Framework
● 4 Values of Agile
● 12 Principle of Agile
● Agile Methodology
● Plan Driven VS Agile Development
● Plan Driven Development
● Plan Driven Approach Phases
● Extreme Programming
● Agile Project Management
● Scaling Agile Methods
03
BIM | 06 SEM

Agile Software
Development

Agile is a software development process that anticipates the


need for flexibility and applies practicality to the final product's
delivery.

Since it emphasizes on the clean delivery of individual pieces or


sections of software rather than the full application, agile
software development demands a cultural shift in many
organizations.
BIM | 06 SEM

Agile
Agile is the ability to create and respond
to change. It is a way of dealing with,
and ultimately succeeding in, an
VS
uncertain and turbulent environment.
Agile Software
Development
One thing that separates Agile from other approaches to
software development is the focus on the people doing the
work and how they work together. Solutions evolve through
collaboration between self-organizing cross-functional teams
utilizing the appropriate practices for their context.
BIM | 06 SEM
BIM | 06 SEM

In 2001, 17 software development


experts convened to explore
principles related to lightweight
software development, and the Agile
Manifesto was born. The Manifesto
states the four essential ideals of
Agile, and while some argue that it
has begun to lose its usefulness, it
remains at the heart of the Agile
movement.
BIM | 06 SEM

The four
values of 1. Individual interactions are more
important than processes and tools.
Agile:
2. A focus on working software rather
than thorough documentation

3. Collaboration instead of contract


negotiations

4. A focus on responding to change


BIM | 06 SEM

1. Individual interactions are more


important than processes and tools.

Humans drive progress and adapt to business


requirements. They are the most crucial aspect of
development and should be prioritized over methods and
tools. If development is driven by procedures or tools, the
team will be less likely to respond to and adapt to change,
and hence less likely to satisfy client demands.
BIM | 06 SEM

2. A focus on working software rather than


thorough documentation

Prior to Agile, a significant amount of effort was spent documenting the


product throughout development in preparation for delivery. The
specified requirements list was large, which would create significant
delays in the development process. While Agile does not remove the
necessity of documentation, it simplifies it so that the developer just
needs the information needed to complete the task – such as user stories.
The Agile Manifesto continues to respect the documentation process, but
it places a larger priority on working software.
BIM | 06 SEM

3. Collaboration instead of contract


negotiations

Agile emphasizes communication between the client and the project


manager, rather than negotiations between the two, to work out delivery
specifics. Partnering with the client implies include them throughout the
development process rather than just at the beginning and conclusion,
making it easier for teams to satisfy the demands of their consumers. For
example, with Agile, the client might be invited at various intervals for
product demos. But, the client might also be there and interact with the
staff on a regular basis, as well as attend all meetings and check that the
product fulfills their expectations.
BIM | 06 SEM

4. A focus on responding to change

Change was traditionally avoided in software development because it was


viewed as an unwelcome expenditure. Agile rejects this notion. The Agile
cycle's short iterations allow for easy change, allowing the team to modify
the process to best fit their needs rather than the other way around.
Overall, Agile software development believes that change is always a
good way to improve a project and add value.
BIM | 06 SEM

The 12 principles of Agile


The Agile Manifesto also outlined 12 core principles for the development process.
They are as follows:

1. Satisfy customers through early and continuous delivery of valuable work.


2. Break big work down into smaller tasks that can be completed quickly.
3. Recognize that the best work emerges from self-organized teams.
4. Provide motivated individuals with the environment and support they need and trust them to
get the job done.
5. Create processes that promote sustainable efforts.
6. Maintain a constant pace for completed work.
7. Welcome changing requirements, even late in a project.
8. Assemble the project team and business owners on a daily basis throughout the project.
9. Have the team reflect at regular intervals on how to become more effective, then tune and
adjust behavior accordingly.
10. Measure progress by the amount of completed work.
11. Continually seek excellence.
12. Harness change for a competitive advantage.
BIM | 06 SEM
BIM | 06 SEM

Agile Methodology
Agile lets teams offer value to their clients more quickly and with
fewer difficulties through an iterative approach to project
management and software development. An agile team
produces work in manageable, small-scale increments rather
than staking all on a "big bang" launch. Teams have a built-in
mechanism for fast adjusting to change since requirements,
plans, and outcomes are regularly reviewed.

Agile methodology is a “step by step” dynamic focused on short-


term visibility but never losing the long-term product goal.
BIM | 06 SEM

Agile methodology is not


characterized by the complete
definition of a product, but rather
“step by step” – a complete analysis or
the definition of all
categories/requirements, by dynamic
interaction that allows constant
delivery – Focused on “near-shore”
visibility but never losing the long-
term product goal.
BIM | 06 SEM

Agile methodologies argue that, above


all, we should seek client satisfaction
through the continuous delivery of
value-adding software, by staying in
constant communication with the
client, and also by focusing on
communication between team
members.
BIM | 06 SEM

Plan Driven Agile


Development
All of the actions in a plan-driven
development process are planned in
advance, and we evaluate our in Agile development, planning is always
success against that plan as we go. incremental, where you can change
Hence, as the phrase "plan-driven
development" suggests, it is always VS the plan according to your customer
requirements. So, as the term ‘agile
planned, and the outcomes are to development’ suggests, it is the
be displayed at the conclusion of process-based method where one can
the product. alter the way things and planning and
replace them with the more suitable
ones.
BIM | 06 SEM
BIM | 06 SEM

Plan Driven
Development
It is a way of developing software. This plan is useful when a user wishes to design all of
the elements that should be included in a final product. It also decides how all of
those features will be developed. Hence, this is an ACTION plan based on carrying
out an organized collection of task-specified levels.

Following are the methodologies of the plan-driven method:


Personal Software Process (PSP)
Team Software Process (TSP, TSPi)
Rational Unified Process (RUP)
BIM | 06 SEM

Phases of Plan Driven


Approach
Inception Phase –In this phase, we decide what to do and the scope of the project. An
initial project plan has been made with the requirement of rough estimations of
time and resources. Risks are defined and handled in the elaboration phase.

Elaboration phase – This phase analyzes the problem domain and defines a technically
reasonable architecture. Lessen the most significant risks to the projects. Make a
comprehensive project plan with highlighted activities.

Construction phase – In this phase, the product’s development, integration, and


testation are defined. It also optimizes the resources so that they can work out
equally and recycle each other’s work.

Transition phase – Deliver the product to the customers and sustain it.
BIM | 06 SEM

Extreme Programming
XP is an abbreviation for eXtreme Programming, a framework that
focuses on assuring the quality of produced software and prescribes
technical solutions to that aim.

An XP team (made up of everyone who contributes to the project)


works on Release Planning and Iteration Planning. They operate in
very short development cycles in order to integrate modifications
required by the client (who works on-site with the team) on a regular
basis.
BIM | 06 SEM

XP strives for a continually evolving, high-quality product


that can adapt to changes in customer needs by using
more than a dozen fundamental techniques such as Test
Driven Development, Customer Testing, Continuous
Integration, Small Releases, and Pair Programming.

The value that XP approaches can offer is undeniable,


and many Scrum organizations employ practices like Pair
Programming, Test Driven Development, and Refactoring
to enhance quality, speed up the release process, and/or
decrease the need to revisit work due to technical debt.
BIM | 06 SEM
BIM | 06 SEM

Agile Project Management


Agile project management is a method of managing projects that prioritizes
flexibility, collaboration, and continuous improvement. It is commonly used in
software development, although it may be utilized in any project.

The Agile Manifesto is a set of beliefs and concepts that serve as the foundation for
Agile project management. It focuses on humans and interactions, software
functionality, customer collaboration, and adapting to change.
BIM | 06 SEM

Scrum Framework
Scrum is a well-known Agile framework that offers a
systematic approach to Agile project management. It
consists of responsibilities like Product Owner, Scrum
Master, and Development Team, as well as events like
Sprint Planning, Daily Stand-up, Sprint Review, and
Sprint Retrospective.
BIM | 06 SEM

Benefits of Agile Project Management

Agile project management has several advantages, such as shorter time-to-market, enhanced
collaboration, more stakeholder participation, higher quality, and greater adaptability.

Challenges of Agile Project Management

Managing changing needs, ensuring team members have the requisite abilities, and sustaining
communication and cooperation are all problems in agile project management.
BIM | 06 SEM

Best Practices for Agile Project Management

To successfully apply Agile project management, best


practices such as:

• Having a clear product vision


• Building a collaborative team culture
• Utilizing iterative planning and feedback loops
BIM | 06 SEM

Scaling Agile Methods


Scaling Agile is the process of adapting proven Agile practices, such as Scrum and
Kanban, to bigger groups of workers. According to the Scaled Agile Framework
(SAFe), traditional Agile teams perform best with groups of five to eleven
individuals.
BIM | 06 SEM

Scaling Agile Methods


Agile methodology has grown in popularity in recent years because it offers a
flexible and adaptive approach to software development. Yet, when teams and
organizations develop, scaling Agile methodologies to suit their objectives
may become problematic. These are some major factors to consider while
growing Agile methods:
1. Define Your Goals: Define the objectives and goals of your organization, so that you
can align your Agile processes with your business needs.
2. Choose the Right Framework: Consider which Agile framework will work best for your
team and organization. Popular frameworks include Scrum, Kanban, and SAFe.
3. Ensure Effective Communication: Communication is key when scaling Agile methods.
Ensure that everyone on the team understands their roles and responsibilities, and
establish clear lines of communication to facilitate collaboration.
BIM | 06 SEM

Scaling Agile Methods


4. Emphasize Continuous Improvement: Agile methodology is all about continuous
improvement. Encourage your team to regularly review their processes and make
changes as necessary.
5. Provide Training and Support: Provide your team with the training and support they
need to successfully implement Agile methods. This may include Agile coaching,
workshops, or other training resources.
BIM | 06 SEM

END OF CHAPTER 3

You might also like