Professional Documents
Culture Documents
Fundamentals
“Doing” Agile
“Being” Agile An Ineffective Way to Implement Agile
The Correct Way to Implement Agile
3. Encourage Others
to use Agile Practices
2. Do Agile Practices
Variable
Cost Scope
Time This is a core principle of the DSDM –
Dynamic System Development Method
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Approach
AGILE/XP Manifesto for
Agile Software Development
We are uncovering better ways of developing software by
doing it and helping others do it.
Through this work we have come to value:
That is, while there is value in the items on the right, we value
the items on the left more.
Emphasis is on creating
http://agilemanifesto.org/ VALUE, not just Deliverables
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Principles behind the Agile/XP
Manifesto
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.
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Principles behind the Agile/XP
Manifesto
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.
Sprint Sprint
Goal
Planning Backlog Daily Sprint
Meeting and Plan Scrum Review
Product
Backlog Potentially
Shippable
Product
Potentially
Final Product Shippable
Accepted
and Project
Product
Complete
Potentially
Shippable
Product
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Methodologies - Scrum
• Sprints
• Timeboxed period when work is done
• Can be cancelled, but only by Product Owner
• Incomplete or unaccepted items are placed in product backlog and
re-estimated
User
Stories
• Iteration
• Iteration Planning
• Specific Iteration
Plan
Project • Pair
with one Release Release Programming
or more Planning Plan • Product
Releases Increment
• Acceptance
Testing
Small
Release
Architectural Risk
Spike Spike
Final Product Small
Delivered Release
and Project
Complete
Small
Release
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
XP (Extreme Programming)
• XP Team Roles
• Coach – Think ScrumMaster
• Customer – Think Product Owner
• Programmers
• Testers
Amplify Empower
Learning The Team
LEAN
Defer Deliver
Decisions Fast
Build Optimize
Quality In the Whole
Limits:
Selected – Only 4 at one
time
Develop – Only 3 at one time
Acceptance – Only 2 at one
time
• FDD Practices
• Designed to meet the needs of large software development
projects with features relating to small business capability
• Domain Object Modeling – Describe Business Environment
• Developing by Feature – Determining what ‘features’ can be
produced in a 2 week iteration
• Individual Class (code) Ownership
• Feature Teams – dynamic, dedicated team to produce feature
• Inspections
• Configuration Management
• Regular Builds – Continuous Integration
• Visibility of progress results
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Feature Driven Development
• Roles in FDD
• Project Manager
• Chief Architect
• Development Manager
• Chief Programmer
• Class Owner
• Domain Expert
Life L – 200
Essential E - 20 E – 40 E – 100 E – 200
DSDM
Lean Disciplined
Life Cycle Coverage
Agile
LeSS
Kanban
XP
FDD Scaled
Approach
Scrum
Guidance Detail
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Organizational Change Management
• Drivers for Change Management in Adaptive Life Cycles
• Changes for accelerated delivery
• Accelerated delivery may incur problems if the organization cannot
accommodate the delivery
• Customer acceptance of and alignment with project outputs is
imperative in an agile environment
• Changes associated with Agile approaches
• Initial adoption of Agile practices will require a high degree of change
• More robust collaboration practices will require more handoffs between
teams, departments, or vendors
• Decomposing the work into iterative prototypes will require rework due
to changing requirements and this may be viewed negatively
• Management needs to explicitly address change management
requirements to enhance the transition to adaptive life cycles
• Tasks/Things • People
• Control • Empowerment
• Efficiency • Effectiveness
• Doing Things Right • Doing the Right Things
• Speed • Direction
• Practices • Principles
• Command • Communication
To Do In Progress Done
Vs
Adaptability
Visibility
• Simple Schemes
• Priority 1
• Priority 2
• Priority 3
• MoSCoW
• Must Have
• Should Have
• Could Have
• Would Be Nice to Have
Prioritized List
Prioritized List
Change
Remember
A A
Considered and These can
Prioritized
B Change
be features
B Accepted or
which functionality
C Defers E
or Risk
to next
C Iteration Reducing
D Activities
D
Cut off to
E Cut off to
meet
meet
budget/time E budget/time
v
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Agile Tooling
• Although sophisticated reporting and scheduling tools
have value they also tend toward:
• Data Accuracy Perception – Because of the polished reports and
charts, people may incorrectly assume that there’s not much
uncertainty in the estimates
• Barriers to Stakeholder Interaction – established inputs and metrics
can overrule the reality of change requirements
• Requiring formal business education to understand data
% Idle
Variable
Time Cost Scope
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Agile Contracts
• Money for Nothing and Change for Free
• Starts as a Fixed Price Contract
• Change for Free
• Customer can change priorities or add new functionality as long as the
customer stays engaged
• New priorities or added functionality will ‘bump’ lower priority activities to
a lower level and they may not be completed
• Money for Nothing
• Customer can terminate the project early if the business conditions
change as long as the customer stays engaged
• Vendor gets 20% of remaining value of contract, Customer gets to save
the remaining 80% of costs that have no value to Customer
Add Test
Red, Green, Refactor
Run Red, Green, Clean
Test
Fail
Write Code