SlideShare ist ein Scribd-Unternehmen logo
1 von 45
www.oeclib.in
Submitted By:
Odisha Electronic Control Library
Seminar
On
Agile Methodology
2
Agile Development
Agenda
 Scope
 Agile Development Foundations
 Agile Processes
 eXtreme Programming
 Test-Driven Development
 Case study – Galaxy
 Experiences
Introduction
3
 Agile software development methodology is an
process for developing software (like other
software development methodologies – Waterfall
model, V-Model, Iterative model etc.)
 However, Agile methodology differs significantly
from other methodologies. In English, Agile means
‘ability to move quickly and easily’ and responding
swiftly to change – this is a key aspect of Agile
software development as well.
4
Agile Development
Scope :
 Information sharing with respect to the Agile Development practices
 A mapping between Agile Development and CMM process is yet to
be done
 The mentioned case study is in the evaluation process with respect
to the Agile Methodology
5
Agile Development - Basics
Development Processes
 A system reflects the principles and practices used in its construction
 A process defines what activities are carried out, how they are done,
by whom and when
The amount of ceremony in a process varies from project to
project, company to company
Delivery of Value
 Many projects fail to deliver value in either a timely fashion or at all
For both technical and non-technical reasons
 Traditional development processes can be characterized as either...
Static, and therefore unresponsive, or...
Chaotic, and therefore unpredictable
6
A common situation in IT industry
Four Variables
 The quantities that can be played with to affect delivery are...
 Cost, i.e. throw more money at the problem
 Time, i.e. push back the deadline
 Quality, i.e. compromise the quality
 Scope, i.e. reduce the scope of delivery
 You get to chose one or more
1/4 or 2/4 or 3/4 or 4/4
7
Life cycle models
 Linear Sequential Models
 Waterfall
 V-model
 Prototyping Model
 Evolutionary Software Process Models
 Incremental
 Spiral
8
Agile Development
Agility
 Agile processes focus on the control and negotiation of scope
 Streamlined processes that allows flexible response and development
 Typically aimed at small to medium-size teams
 Supports rapidly evolving or unclear requirements
 Supports incremental delivery
Informal and Continuous Design
 Design is not treated as a scheduled phase
 Pragmatic rather than dogmatic use of tools and modeling notations
Favour rough up-front design (RUFD) over big up-front design (BUFD)
 Software is supposed to be soft. Therefore, design to make this so
Agility : The gracefulness of a person that is quick and nimble
Pragmatic : Concerned with practical matters
Dogmatic : Characterized assertion of unproved or unprovable principles
9
Agile Development
Dependency Management
 Isolate effect of changes
 Encapsulation is concerned with the containment of design decisions
 Partition to minimize dependencies
 Low coupling between components
 High cohesion within a component
 Avoid cyclic dependencies
Minimalism
 Less code, more software
 The measure of software is in its utility not in the quantity of its
source code
 Omit needless code
10
Agile Development
Remove to Improve
 Aim to remove unnecessary or confusing aspects of the software
 The less code you have, the less you have to fix, debug, optimise, etc.
 Do so iteratively and decrementally
 Removing and reshaping are part of the process
11
Agile Development
Iterative and Incremental
 Iterative and incremental development offer a framework in which a system
can grow
 Accommodates change and inspiration
 Offers time for building and testing
 Empirically based
 Tests assumptions as well as code
 Accepts that change happens
12
Agile Development
MacroProcess
MicroProcess
Requirements
Increment
Analysis
Prototyping
Simple design
Refactoring
Testing
13
Agile Development
Stable Intermediate Forms
 Changes are small, stable, and either...
 Architectural modifications that preserve existing functionality,
i.e. a refactoring, or...
 Functionality extensions that do not affect existing architecture
 Changes are isolated and can be taken gradually
 Can be paused, rolled back, etc.
14
Agile Development
The Agile Manifesto
 Putting people into the process, rather than the process into people
 Reaction to bureaucratic development methods
We have come to value:
Individuals and interactions over process and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items
on the left more. Manifesto for Agile Software Development
15
Agile Development
Agile Processes
 XP and TDD (code and test centric practices)
 RUP-lite and dX
 Scrum (management practices)
 FDD (Feature Driven Development)
 DSDM (Dynamic System Development Method)
16
Agile Development
eXtreme Programming
 XP is perhaps the most widely recognised agile development method
 Based on taking successful development practices
 Covers both code and business perspectives
 Agile methods considered to be code-centric, but most do not
offer code-level practices
XP Values
 At the heart of XP are five values...
Communication
Simplicity
Feedback
Courage
Respect
17
Agile Development
XP Primary Practices
 XP is based on thirteen primary practices
 Each individually makes sense on its own...
 But they work together to reinforce one
another
 XP is therefore a highly disciplined approach
Sit together
Whole team
Informative workspace
Energized work
Pair programming
Stories
Weekly cycle
Quarterly cycle
Slack
Ten-minute build
Continuous integration
Test-Driven Programming
Incremental Design
18
Agile Development
XP Corollary Practices
 The eleven corollary XP practices supplement the
primary practices
 Some are more speculative than the primary
practices
 The primary practices should be in place
before the corollary ones
Real customer involvement
Incremental deployment
Team continuity
Shrinking teams
Root-cause analysis
Shared code
Code and tests
Single code base
Daily deployment
Negotiated scope contract
Pay-per-use
19
Agile Development : What XP is Not
 Adoption of XP is based on practices not on aping surface phenomena
E.g. avoiding comments or documentation does not mean that
you are doing XP!
 Core practices must be in place
E.g. cannot be XP if there is no refactoring, testing, pairing or
continuous integration
20
Agile Development : Test-Driven Development
 TDD has emerged from the many practices that form the core of
Extreme Programming
 The code-centric practices in the micro-process rather than
driving the macro-process
 TDD brings testing to the fore of development rather than the aft
21
Agile Development : TDD
Essential Practices
Build Practices
Team Practices
Example based test cases
Active test writing
Sufficient Design
Refactoring
Automated Unit Testing
Fine grained versioning
Continuous integration
Defined stable increments
Pair Programming
Shared Coding Guidelines
22
Agile Development : SCRUM
 Based on the empirical process control model, Scrum is...
 A set of management practices focused on iterations (sprints)...
 With continuous daily feedback (scrums)
 Traditional development activities may be mapped to individual sprints
SCRUM : (rugby) the method of beginning play in which the forwards of each team crouch
side by side with locked arms; play starts when the ball thrown in between them and the
two sides compete for possession
23
Agile Development : SCRUM Process
 30-day sprints...
 Uninterruptible goal-oriented iteration
 Product backlog holds customer prioritised features, which are
assigned to a sprint backlog
 Daily scrum...
 15 minute stand-up meeting
 Individual progress, obstacles and intended progress before next
scrum
24
Agile Development : Combining Scrum with TDD
 Scrum provides a mature agile management mechanism and
framework
 However, it does not define the technical practices, as found in XP
and TDD
 Scrum can be enhanced with code-centric practices as found in TDD
 And further complemented with team practices, such as pair
programming
25
Agile Development : XP Practices
Sit Together
 Separating team members reduces the communication between them
Disruption occurs whether the separation is across a single building or
across continents
 Therefore, try to find a single workspace where the team can be
gathered to work Line-of-sight contact
Whole Team
 A team needs to be cross functional Containing all the skills and
perspectives needed for effective project execution
 There are many technical roles on a team
System testers
Interaction designers
Architects
Programmers
26
Agile Development
Energized Work
 Anything much over a 40-hour week is often solving the wrong problem.
No more than one week at a time on overtime
 Studies do not show that overtime is good for productivity and quality.
Which means that such time is typically a waste, not an investment
Informative Workspace
 The workspace should reflect the work and state of the project
 As opposed to neutral, uniform with respect to other offices in the
same building or company
 Allows more visual and physical feedback of targets, metric,
progress, priorities, etc
27
Agile Development
Pair Programming
 The full practice is for all production code to be produced by a pair
of programmers
 Participative design and design sharing
 Acts as a continuous code and design review
 Smoothes the peaks and troughs of personal productivity
 Makes development a dialogue
User Stories
 Business people decide scope and priority
User stories describe usage scenarios
Which user stories should be addressed in the next release?
 Technical people estimate the associated programming tasks
Past record is used to establish development 'velocity'
28
Agile Development
Weekly and Quarterly Cycles
 Tangible short-term goals are easier to score than ambitious long-
term ones
 Complete an iteration and produce a stable increment each
week
 Use three months as the longer-term horizon for planning and
retrospection
Slack
 Slack defines the freedom to adapt
 Plans should be sufficient, but not rigid
 Slack is about the ability to respond to change
 Slack does not imply lazy or inefficient
 An overloaded schedule is gridlocked, a prioritised schedule
with space is responsive
Slack at all levels is necessary to make the organization work effectively and to grow. It is
the lubricant of change. Tom DeMarco
29
Agile Development
Ten-Minute Build
 Ideally, it should be possible to build a system and run all the
tests in ten minutes
 This is a matter of architecture, reducing dependencies...
 And technology, tuning the build technology — software and
hardware — as necessary
Continuous Integration
 Continuous integration ensures that system is always in a known
and stable state
 Automatic and many times per day
 Successful integration is based on scenario driven acceptance
tests
30
Agile Development
Test-First Programming
 XP unit-testing and coding practice is based on writing the
tests before the code
 Unit testing for all production code
 Acceptance test of whole system for integration and release
 Testing is integrated into the lifecycle
 Continuous testing gives immediate feedback
Incremental Design
 Design for today
 Do not try to predict the future
 A design is always effective and working at a given point in time,
but evolves over time
 What works is defined by tests code must pass
To achieve simplicity paradoxically requires an enormous amount of effort.
John Pawson
31
Agile Development
A Better Practice and Philosophy
 Testing can only prove the presence of bugs, not their absence
 Testing is therefore about building confidence
 Testing is a part of development, not something that follows it
as an extra
Test Early. Test Often. Test Automatically.
Andrew Hunt and David Thomas
32
Agile Development
33
Agile Development
Driver Rather than Passenger
 Test-driven development is based on writing tests with the code
 Unit testing for all production code
 Acceptance testing of whole system for integration and release
 Integrated into the lifecycle
 Continuous testing gives immediate feedback
Refactoring
 Refactoring is personal hygiene for software
 Ensures that design is clean and sufficient
 Also acts as an active form of code review
 Predicated on the existence of unit tests
Refactoring (noun): a change made to the internal structure of software to make it easier to
understand and cheaper to modify without changing its observable behavior.
Refactor (verb): to restructure software by applying a series of refactorings without changing
the observable behavior of the software. Martin Fowler
34
Agile Development : Stakeholder perspective
Domain/Business Developers
 Easy to understand documentation of usecases and stories
 Users prioritize the features to be released
(Not the customer co-ordinator)
 Intermediate releases makes the customers confident on the progress
 Fast and Intermediate releases enables a faster feedback (/month)
 “I know what I am going to get and I have a say”
35
Agile Development : Stakeholder perspective
Application/Tool Developers
 Very less rework due to changes in requirements
 Less number of bugs and unexpected behavior of system is removed
 Interaction with customer and regular meetings helps in individual identity
 Separate plan for the Integration tests is not required
 Developer knows what “End User” wants
 More work satisfaction as each “feature” provided is used by “End User”
 With daily sprints, all issues are resolved with minimum turn around time
 Delivery pressure on the developer in each month
 In the Initial stages daily sprints makes developer little bit insecure
 Difficult for the team which believes in the conventional methods
36
Agile Development : Stakeholder perspective
Management
 Changes in Requirements and Design causes less rework
 Cost of Quality (COQ) is less
 No additional costs for integration tests
 No feature is developed unless requested by end-user
 Going Agile does not mean teams are revolutionary
 Going Agile does not mean Customer is involved all the time
37
Agile Development : Stakeholder perspective
Customer Transparency
 JIRA tool used for the task entry and tracking both by DevTeam and
Customer
 Customer has a overview of team members load and
„Who is doing what“
 JIRA is also attached to the CVS repository, to track the changes
 Everyday telecons with customer, clarifies day-to-day issues
- No delay in clarifications
 Productive system is obtained at each nightly builds
 Integration testing is not a separate process - (Eclipse & CVS)
 Acceptance testing is not a huge process
38
Agile Development
User Stories (from end users):
 What do you want
 What do you feel about the current process (if any)
 How will you benefit by this
 Whats the priority of this feature
Usecases and Sequence Diagrams :
 Describe all the user stories in a diagrammatic representation
 Usecases makes sense to users and application developers
 Flow of the user interactions is described as a Sequence
 User and developer has a complete understanding of the system
39
Agile Development
Requirements
 A top level feature list is maintained
 Usecases forms the basis for the development
Design
 Design in small iterations, BUT have a complete overview of system
 Refactor the design, BUT don’t change the design
 Design by contract, BUT make sure that you agree to it
Coding
 Source code is maintained in the CVS repository
 Everyday developer synchronizes the repository – Integration Tests
 Everyday a new/small functionality is checked-in
 Everyday while synchronizing the repository, code review is done
and directly informed to team members
 Refactor the code regularly to make it clean – DON’T change the
functionality
40
Agile Development
Unit Tests
 Every core function has a JUnit test written
 Every module has a test suite that has number of test cases
 The entire system put together also has a system test suite
 Test suite is run daily and feedback is given to respective users
 Testing is not a separate ceremony, its part of development
Integration Tests
 No integration process - Covered as a part of the daily synchronization
Advantages of Agile Methodology
41
 In Agile methodology the delivery of software is
unremitting.
 The customers are satisfied because after every Sprint
working feature of the software is delivered to them.
 Customers can have a look of the working feature
which fulfilled their expectations.
 If the customers has any feedback or any change in
the feature then it can be accommodated in the current
release of the product.
 In Agile methodology the daily interactions are required
between the business people and the developers.
 In this methodology attention is paid to the good
design of the product.
 Changes in the requirements are accepted even in the
later stages of the development.
Disadvantages of the Agile Methodology
42
 In Agile methodology the documentation is less.
 Sometimes in Agile methodology the requirement
is not very clear hence it’s difficult to predict the
expected result.
 In few of the projects at the starting of the software
development life cycle it’s difficult to estimate the
actual effort required.
 The projects following the Agile methodology may
have to face some unknown risks which can affect
the development of the project.
Conclusion
43
Presently, the agile methodology is more
commonly used in the IT industry. As per the
recent survey, the respondents of more than 50%
companies practiced the Agile development. No
matter what role it played in the industry, there is a
need to understand its working and how it is
different from other methods of software
development.
References
 www.google.com
 www.wikipedia.com
 www.oeclib.in
Thanks

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodologyAmit Verma
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software DevelopmentLife Cycle Engineering
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile modelzoomers
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile MethodologySapna Sood
 
Waterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project ManagementWaterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project ManagementJonathan Donado
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyTyler Rose
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPTMohit Kumar
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and ToolsNaresh Gajuveni
 
What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...Invensis Learning
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Agile Manifesto and Principles
Agile Manifesto and PrinciplesAgile Manifesto and Principles
Agile Manifesto and PrinciplesAryan Rajbhandari
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overviewsunilkumar_
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar ReportMohit Kumar
 

Was ist angesagt? (20)

Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodology
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Scrum ppt
Scrum pptScrum ppt
Scrum ppt
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Waterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project ManagementWaterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project Management
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Agile
AgileAgile
Agile
 
What Is Agile Scrum
What Is Agile ScrumWhat Is Agile Scrum
What Is Agile Scrum
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Agile Manifesto and Principles
Agile Manifesto and PrinciplesAgile Manifesto and Principles
Agile Manifesto and Principles
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar Report
 

Ähnlich wie Agile Methodology ppt

Ähnlich wie Agile Methodology ppt (20)

Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Agile vs Len Methodology
Agile vs Len MethodologyAgile vs Len Methodology
Agile vs Len Methodology
 
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
 
Agile Science
Agile ScienceAgile Science
Agile Science
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
Agile methods
Agile methodsAgile methods
Agile methods
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009
 
7.agila model
7.agila model7.agila model
7.agila model
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Agile project management
Agile project managementAgile project management
Agile project management
 

Mehr von OECLIB Odisha Electronics Control Library

Mehr von OECLIB Odisha Electronics Control Library (20)

5G technology-ppt
5G technology-ppt5G technology-ppt
5G technology-ppt
 
Futex ppt
Futex  pptFutex  ppt
Futex ppt
 
Distributed Computing ppt
Distributed Computing pptDistributed Computing ppt
Distributed Computing ppt
 
Autonomic Computing PPT
Autonomic Computing PPTAutonomic Computing PPT
Autonomic Computing PPT
 
Asynchronous Chips ppt
Asynchronous Chips pptAsynchronous Chips ppt
Asynchronous Chips ppt
 
Artificial Eye PPT
Artificial Eye PPTArtificial Eye PPT
Artificial Eye PPT
 
Agent Oriented Programming PPT
Agent Oriented Programming PPTAgent Oriented Programming PPT
Agent Oriented Programming PPT
 
Wireless application protocol ppt
Wireless application protocol  pptWireless application protocol  ppt
Wireless application protocol ppt
 
Wireless Communication ppt
Wireless Communication pptWireless Communication ppt
Wireless Communication ppt
 
4G Wireless Systems ppt
4G Wireless Systems ppt4G Wireless Systems ppt
4G Wireless Systems ppt
 
Steganography ppt
Steganography pptSteganography ppt
Steganography ppt
 
Sixth sense technology ppt
Sixth sense technology pptSixth sense technology ppt
Sixth sense technology ppt
 
Soa ppt
Soa pptSoa ppt
Soa ppt
 
Software developement life cycle ppt
Software developement life cycle pptSoftware developement life cycle ppt
Software developement life cycle ppt
 
Voice-over-Internet Protocol (VoIP) ppt
Voice-over-Internet Protocol (VoIP) pptVoice-over-Internet Protocol (VoIP) ppt
Voice-over-Internet Protocol (VoIP) ppt
 
ZIGBEE TECHNOLOGY ppt
ZIGBEE TECHNOLOGY pptZIGBEE TECHNOLOGY ppt
ZIGBEE TECHNOLOGY ppt
 
Wimax ppt
Wimax pptWimax ppt
Wimax ppt
 
Wibree ppt
Wibree pptWibree ppt
Wibree ppt
 
Wearable Computing
Wearable ComputingWearable Computing
Wearable Computing
 
Virtual Private Networks (VPN) ppt
Virtual Private Networks (VPN) pptVirtual Private Networks (VPN) ppt
Virtual Private Networks (VPN) ppt
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Agile Methodology ppt

  • 1. www.oeclib.in Submitted By: Odisha Electronic Control Library Seminar On Agile Methodology
  • 2. 2 Agile Development Agenda  Scope  Agile Development Foundations  Agile Processes  eXtreme Programming  Test-Driven Development  Case study – Galaxy  Experiences
  • 3. Introduction 3  Agile software development methodology is an process for developing software (like other software development methodologies – Waterfall model, V-Model, Iterative model etc.)  However, Agile methodology differs significantly from other methodologies. In English, Agile means ‘ability to move quickly and easily’ and responding swiftly to change – this is a key aspect of Agile software development as well.
  • 4. 4 Agile Development Scope :  Information sharing with respect to the Agile Development practices  A mapping between Agile Development and CMM process is yet to be done  The mentioned case study is in the evaluation process with respect to the Agile Methodology
  • 5. 5 Agile Development - Basics Development Processes  A system reflects the principles and practices used in its construction  A process defines what activities are carried out, how they are done, by whom and when The amount of ceremony in a process varies from project to project, company to company Delivery of Value  Many projects fail to deliver value in either a timely fashion or at all For both technical and non-technical reasons  Traditional development processes can be characterized as either... Static, and therefore unresponsive, or... Chaotic, and therefore unpredictable
  • 6. 6 A common situation in IT industry Four Variables  The quantities that can be played with to affect delivery are...  Cost, i.e. throw more money at the problem  Time, i.e. push back the deadline  Quality, i.e. compromise the quality  Scope, i.e. reduce the scope of delivery  You get to chose one or more 1/4 or 2/4 or 3/4 or 4/4
  • 7. 7 Life cycle models  Linear Sequential Models  Waterfall  V-model  Prototyping Model  Evolutionary Software Process Models  Incremental  Spiral
  • 8. 8 Agile Development Agility  Agile processes focus on the control and negotiation of scope  Streamlined processes that allows flexible response and development  Typically aimed at small to medium-size teams  Supports rapidly evolving or unclear requirements  Supports incremental delivery Informal and Continuous Design  Design is not treated as a scheduled phase  Pragmatic rather than dogmatic use of tools and modeling notations Favour rough up-front design (RUFD) over big up-front design (BUFD)  Software is supposed to be soft. Therefore, design to make this so Agility : The gracefulness of a person that is quick and nimble Pragmatic : Concerned with practical matters Dogmatic : Characterized assertion of unproved or unprovable principles
  • 9. 9 Agile Development Dependency Management  Isolate effect of changes  Encapsulation is concerned with the containment of design decisions  Partition to minimize dependencies  Low coupling between components  High cohesion within a component  Avoid cyclic dependencies Minimalism  Less code, more software  The measure of software is in its utility not in the quantity of its source code  Omit needless code
  • 10. 10 Agile Development Remove to Improve  Aim to remove unnecessary or confusing aspects of the software  The less code you have, the less you have to fix, debug, optimise, etc.  Do so iteratively and decrementally  Removing and reshaping are part of the process
  • 11. 11 Agile Development Iterative and Incremental  Iterative and incremental development offer a framework in which a system can grow  Accommodates change and inspiration  Offers time for building and testing  Empirically based  Tests assumptions as well as code  Accepts that change happens
  • 13. 13 Agile Development Stable Intermediate Forms  Changes are small, stable, and either...  Architectural modifications that preserve existing functionality, i.e. a refactoring, or...  Functionality extensions that do not affect existing architecture  Changes are isolated and can be taken gradually  Can be paused, rolled back, etc.
  • 14. 14 Agile Development The Agile Manifesto  Putting people into the process, rather than the process into people  Reaction to bureaucratic development methods We have come to value: Individuals and interactions over process and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Manifesto for Agile Software Development
  • 15. 15 Agile Development Agile Processes  XP and TDD (code and test centric practices)  RUP-lite and dX  Scrum (management practices)  FDD (Feature Driven Development)  DSDM (Dynamic System Development Method)
  • 16. 16 Agile Development eXtreme Programming  XP is perhaps the most widely recognised agile development method  Based on taking successful development practices  Covers both code and business perspectives  Agile methods considered to be code-centric, but most do not offer code-level practices XP Values  At the heart of XP are five values... Communication Simplicity Feedback Courage Respect
  • 17. 17 Agile Development XP Primary Practices  XP is based on thirteen primary practices  Each individually makes sense on its own...  But they work together to reinforce one another  XP is therefore a highly disciplined approach Sit together Whole team Informative workspace Energized work Pair programming Stories Weekly cycle Quarterly cycle Slack Ten-minute build Continuous integration Test-Driven Programming Incremental Design
  • 18. 18 Agile Development XP Corollary Practices  The eleven corollary XP practices supplement the primary practices  Some are more speculative than the primary practices  The primary practices should be in place before the corollary ones Real customer involvement Incremental deployment Team continuity Shrinking teams Root-cause analysis Shared code Code and tests Single code base Daily deployment Negotiated scope contract Pay-per-use
  • 19. 19 Agile Development : What XP is Not  Adoption of XP is based on practices not on aping surface phenomena E.g. avoiding comments or documentation does not mean that you are doing XP!  Core practices must be in place E.g. cannot be XP if there is no refactoring, testing, pairing or continuous integration
  • 20. 20 Agile Development : Test-Driven Development  TDD has emerged from the many practices that form the core of Extreme Programming  The code-centric practices in the micro-process rather than driving the macro-process  TDD brings testing to the fore of development rather than the aft
  • 21. 21 Agile Development : TDD Essential Practices Build Practices Team Practices Example based test cases Active test writing Sufficient Design Refactoring Automated Unit Testing Fine grained versioning Continuous integration Defined stable increments Pair Programming Shared Coding Guidelines
  • 22. 22 Agile Development : SCRUM  Based on the empirical process control model, Scrum is...  A set of management practices focused on iterations (sprints)...  With continuous daily feedback (scrums)  Traditional development activities may be mapped to individual sprints SCRUM : (rugby) the method of beginning play in which the forwards of each team crouch side by side with locked arms; play starts when the ball thrown in between them and the two sides compete for possession
  • 23. 23 Agile Development : SCRUM Process  30-day sprints...  Uninterruptible goal-oriented iteration  Product backlog holds customer prioritised features, which are assigned to a sprint backlog  Daily scrum...  15 minute stand-up meeting  Individual progress, obstacles and intended progress before next scrum
  • 24. 24 Agile Development : Combining Scrum with TDD  Scrum provides a mature agile management mechanism and framework  However, it does not define the technical practices, as found in XP and TDD  Scrum can be enhanced with code-centric practices as found in TDD  And further complemented with team practices, such as pair programming
  • 25. 25 Agile Development : XP Practices Sit Together  Separating team members reduces the communication between them Disruption occurs whether the separation is across a single building or across continents  Therefore, try to find a single workspace where the team can be gathered to work Line-of-sight contact Whole Team  A team needs to be cross functional Containing all the skills and perspectives needed for effective project execution  There are many technical roles on a team System testers Interaction designers Architects Programmers
  • 26. 26 Agile Development Energized Work  Anything much over a 40-hour week is often solving the wrong problem. No more than one week at a time on overtime  Studies do not show that overtime is good for productivity and quality. Which means that such time is typically a waste, not an investment Informative Workspace  The workspace should reflect the work and state of the project  As opposed to neutral, uniform with respect to other offices in the same building or company  Allows more visual and physical feedback of targets, metric, progress, priorities, etc
  • 27. 27 Agile Development Pair Programming  The full practice is for all production code to be produced by a pair of programmers  Participative design and design sharing  Acts as a continuous code and design review  Smoothes the peaks and troughs of personal productivity  Makes development a dialogue User Stories  Business people decide scope and priority User stories describe usage scenarios Which user stories should be addressed in the next release?  Technical people estimate the associated programming tasks Past record is used to establish development 'velocity'
  • 28. 28 Agile Development Weekly and Quarterly Cycles  Tangible short-term goals are easier to score than ambitious long- term ones  Complete an iteration and produce a stable increment each week  Use three months as the longer-term horizon for planning and retrospection Slack  Slack defines the freedom to adapt  Plans should be sufficient, but not rigid  Slack is about the ability to respond to change  Slack does not imply lazy or inefficient  An overloaded schedule is gridlocked, a prioritised schedule with space is responsive Slack at all levels is necessary to make the organization work effectively and to grow. It is the lubricant of change. Tom DeMarco
  • 29. 29 Agile Development Ten-Minute Build  Ideally, it should be possible to build a system and run all the tests in ten minutes  This is a matter of architecture, reducing dependencies...  And technology, tuning the build technology — software and hardware — as necessary Continuous Integration  Continuous integration ensures that system is always in a known and stable state  Automatic and many times per day  Successful integration is based on scenario driven acceptance tests
  • 30. 30 Agile Development Test-First Programming  XP unit-testing and coding practice is based on writing the tests before the code  Unit testing for all production code  Acceptance test of whole system for integration and release  Testing is integrated into the lifecycle  Continuous testing gives immediate feedback Incremental Design  Design for today  Do not try to predict the future  A design is always effective and working at a given point in time, but evolves over time  What works is defined by tests code must pass To achieve simplicity paradoxically requires an enormous amount of effort. John Pawson
  • 31. 31 Agile Development A Better Practice and Philosophy  Testing can only prove the presence of bugs, not their absence  Testing is therefore about building confidence  Testing is a part of development, not something that follows it as an extra Test Early. Test Often. Test Automatically. Andrew Hunt and David Thomas
  • 33. 33 Agile Development Driver Rather than Passenger  Test-driven development is based on writing tests with the code  Unit testing for all production code  Acceptance testing of whole system for integration and release  Integrated into the lifecycle  Continuous testing gives immediate feedback Refactoring  Refactoring is personal hygiene for software  Ensures that design is clean and sufficient  Also acts as an active form of code review  Predicated on the existence of unit tests Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior. Refactor (verb): to restructure software by applying a series of refactorings without changing the observable behavior of the software. Martin Fowler
  • 34. 34 Agile Development : Stakeholder perspective Domain/Business Developers  Easy to understand documentation of usecases and stories  Users prioritize the features to be released (Not the customer co-ordinator)  Intermediate releases makes the customers confident on the progress  Fast and Intermediate releases enables a faster feedback (/month)  “I know what I am going to get and I have a say”
  • 35. 35 Agile Development : Stakeholder perspective Application/Tool Developers  Very less rework due to changes in requirements  Less number of bugs and unexpected behavior of system is removed  Interaction with customer and regular meetings helps in individual identity  Separate plan for the Integration tests is not required  Developer knows what “End User” wants  More work satisfaction as each “feature” provided is used by “End User”  With daily sprints, all issues are resolved with minimum turn around time  Delivery pressure on the developer in each month  In the Initial stages daily sprints makes developer little bit insecure  Difficult for the team which believes in the conventional methods
  • 36. 36 Agile Development : Stakeholder perspective Management  Changes in Requirements and Design causes less rework  Cost of Quality (COQ) is less  No additional costs for integration tests  No feature is developed unless requested by end-user  Going Agile does not mean teams are revolutionary  Going Agile does not mean Customer is involved all the time
  • 37. 37 Agile Development : Stakeholder perspective Customer Transparency  JIRA tool used for the task entry and tracking both by DevTeam and Customer  Customer has a overview of team members load and „Who is doing what“  JIRA is also attached to the CVS repository, to track the changes  Everyday telecons with customer, clarifies day-to-day issues - No delay in clarifications  Productive system is obtained at each nightly builds  Integration testing is not a separate process - (Eclipse & CVS)  Acceptance testing is not a huge process
  • 38. 38 Agile Development User Stories (from end users):  What do you want  What do you feel about the current process (if any)  How will you benefit by this  Whats the priority of this feature Usecases and Sequence Diagrams :  Describe all the user stories in a diagrammatic representation  Usecases makes sense to users and application developers  Flow of the user interactions is described as a Sequence  User and developer has a complete understanding of the system
  • 39. 39 Agile Development Requirements  A top level feature list is maintained  Usecases forms the basis for the development Design  Design in small iterations, BUT have a complete overview of system  Refactor the design, BUT don’t change the design  Design by contract, BUT make sure that you agree to it Coding  Source code is maintained in the CVS repository  Everyday developer synchronizes the repository – Integration Tests  Everyday a new/small functionality is checked-in  Everyday while synchronizing the repository, code review is done and directly informed to team members  Refactor the code regularly to make it clean – DON’T change the functionality
  • 40. 40 Agile Development Unit Tests  Every core function has a JUnit test written  Every module has a test suite that has number of test cases  The entire system put together also has a system test suite  Test suite is run daily and feedback is given to respective users  Testing is not a separate ceremony, its part of development Integration Tests  No integration process - Covered as a part of the daily synchronization
  • 41. Advantages of Agile Methodology 41  In Agile methodology the delivery of software is unremitting.  The customers are satisfied because after every Sprint working feature of the software is delivered to them.  Customers can have a look of the working feature which fulfilled their expectations.  If the customers has any feedback or any change in the feature then it can be accommodated in the current release of the product.  In Agile methodology the daily interactions are required between the business people and the developers.  In this methodology attention is paid to the good design of the product.  Changes in the requirements are accepted even in the later stages of the development.
  • 42. Disadvantages of the Agile Methodology 42  In Agile methodology the documentation is less.  Sometimes in Agile methodology the requirement is not very clear hence it’s difficult to predict the expected result.  In few of the projects at the starting of the software development life cycle it’s difficult to estimate the actual effort required.  The projects following the Agile methodology may have to face some unknown risks which can affect the development of the project.
  • 43. Conclusion 43 Presently, the agile methodology is more commonly used in the IT industry. As per the recent survey, the respondents of more than 50% companies practiced the Agile development. No matter what role it played in the industry, there is a need to understand its working and how it is different from other methods of software development.