MODULE-III (1)
MODULE-III (1)
MODULE-III (1)
2
3
SOFTWARE ENGINEERING
WHAT IS AGILITY
Changes in the software being built, changes to the team
members, changes because of new technology, changes
of all kinds that may have an impact on the product they
build or the project that creates the product.
An agile team recognizes that software is developed by
individuals working in teams and that the skills of these
people, their ability to collaborate is at the core for the
success of the project
Change is the primary driver for agility. But agility is more
than an effective response to change.
It emphasizes rapid delivery of operational software and
de-emphasizes the importance of intermediate work
products. Agility can be applied to any software process
4
Dr. AJEET A. C.
SOFTWARE ENGINEERING
Agility Principles
12 agility principles for those who want to achieve agility:
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. 7
Dr. AJEET A. C.
SOFTWARE ENGINEERING
.
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.
The Politics of Agile Development
There is considerable debate about the benefits and
applicability of agile software development as opposed
to more conventional software engineering processes
8
Dr. AJEET A. C.
SOFTWARE ENGINEERING
.
No one is against agility. The real question is: What is
the best way to achieve it? As important, how do you
build software that meets customers’ needs today and
exhibits the quality characteristics that will enable it to be
extended and scaled to meet customers’ needs over the
long term?
Human Factors:
“Agile development focuses on the talents and skills of
individuals, molding the process to specific people and
teams.”
A number of key qualities must exist among the people
on an agile team and the team itself:
9
Dr. AJEET A. C.
SOFTWARE ENGINEERING
EXTREME PROGRAMMING
Extreme Programming (XP), the most widely used
approach to agile software development
11
Dr. AJEET A. C.
SOFTWARE ENGINEERING
XP Values:
A set of five values that establish a foundation for all
work performed as part of XP—communication,
simplicity, feedback, courage, and respect
to achieve effective communication, XP emphasizes
close, yet informal (verbal) collaboration between
customers, and developers, the establishment of
effective metaphors (“a story that everyone—customers,
programmers, and managers— can tell about how the
system works)
To achieve simplicity, XP restricts developers to design
only for immediate needs, rather than consider future
needs.
12
Dr. AJEET A. C.
SOFTWARE ENGINEERING
Industrial XP
Industrial Extreme Programming (IXP) is an organic
evolution of XP. It is imbued with XP’s minimalist,
customer-centric, test-driven spirit
IXP incorporates six new practices
1. Readiness assessment. The organization should
conduct a readiness assessment The assessment
determines whether (1) an appropriate development
environment exists (2) team with proper stakeholders,
18
Dr. AJEET A. C.
SOFTWARE ENGINEERING
21
Dr. AJEET A. C.
SOFTWARE ENGINEERING
22
Dr. AJEET A. C.
SOFTWARE ENGINEERING
24
Dr. AJEET A. C.
SOFTWARE ENGINEERING
CORE PRINCIPLES
•Principles That Guide Process: The following set of core
principles:
•1. Be agile, 2. Focus on quality at every step,
•3. Be ready to adapt, 4. Build an effective team.
26
Dr. AJEET A. C.
SOFTWARE ENGINEERING
33
Dr. AJEET A. C.
SOFTWARE ENGINEERING
CONSTRUCTION PRINCIPLES.
•The construction activity encompasses a set of coding and
testing tasks that lead to operational software that is ready
for delivery to the customer or end user.
Coding Principles
•Preparation principles: Before you write one line of
code, be sure you
• Understand of the problem you’re trying to solve.
• Understand basic design principles and concepts.
• Pick a programming language that meets the needs of
the software to be built and the environment in which it
will operate.
• Select a programming environment that provides tools
that will make your work easier.
.Dr. AJEET A. C. 34
SOFTWARE ENGINEERING
DEPLOYMENT PRINCIPLES:
•The deployment activity encompasses three actions:
delivery, support, and feedback.
•A number of key principles should be followed as the team
prepares to deliver an increment: 1. Customer expectations
for the software must be managed. 2. A complete delivery
package should be assembled and tested. 3. A support
regime must be established before the software is delivered.
4. Appropriate instructional materials must be provided to
end users. 5. Buggy software should be fixed first, delivered
later.
37
Dr. AJEET A. C.
SOFTWARE ENGINEERING
QUESTIONS
What is Agility? How the Agility change the cost?
What is an Agile Process
What are the principles of Agility
State the key qualities of Human Factor in Agility
Write a note on a) XP values b) XP process
What are the practices used in Industrial Extreme Programming
Explain the various Agile Process Models used in the Industry
State and Explain the Core Principles of Agile
State and Explain the Principles that guide Frame Work Activity
State and Explain the Construction Principles of Agility
State and Explain the Agility Deployment Principles
38
Dr. AJEET A. C.
NACC: AN ACCREDATION PROCESS
Our endeavor
is
Class Edification
39
Dr. AJEET A. C.