SlideShare a Scribd company logo
Welcome!!
Who am I?
Technical Software Project Manager
Social & Tech Entrepreneur
Traveler & Photographer
University Lecturer
Coder & Innovator
Youth Activist
TV Personal
Blogger
A R W M M D Rohana Kumara – MBA (AUS), B.Sc (CIS - SUSL), MBCS (UK), PMP (Reading)
WHAT IS AGILE ?
UNDERSTAND AGILE IN SIMPLE STEPS
Let’s Talk About These Stuff
What is agile & history of agile
12 principals of agile methodology
Agile Methodology
Advantages of agile
Disadvantages of agile
Do We Really Need Agile?
How agile address software requirements
How to get started with agile
Agile Development Circle
Agile Methodologies
How to estimate budget in agile?
Methodologies Use To Implement Agile
01
02
03
04
A R W M M D Rohana Kumara – MBA (AUS), B.Sc (CIS - SUSL), MBCS (UK), PMP (Reading)
Agile Methodology
What is agile & history of agile
Agile Methodology
What is agile?
01
What Is Agile?
• Agile is a time boxed, iterative approach to software delivery that builds sof
tware incrementally from the start of the project, instead of trying to deliver
it all at once near the end.
• Agile doesn’t have in-depth planning at the beginning of the project, Agile i
s open to changing requirements over time and encourages constant feed
back from the end users.
Agile is the way of ability to create and respond to changes o
n an incremental, iterative approach in order to succeed in a
n uncertain and turbulent environment.
Agile Methodology
What is agile?
01
What Is Agile?
Agile is collaboration between self-organizing, cross-functional teams work
on iterations of a product over a period of time, and this work is organized into
a backlog that is prioritized based on business or customer value.
The goal of each iteration is to produce a working product for customer.
In Agile methodologies, leadership encourages teamwork, accountability, an
d face-to-face communication.
Business stakeholders and developers must work together to align the product
with customer needs and company goals.
Manifesto for Agile Software Development, which covered how they found “
better ways of developing software by doing it and helping others do it” and in
cluded four values and 12 principles.
Agile Methodology
12 Fundamental principals of agile methodology
01
Agile manifesto
The Agile Manifesto lists 12 fundamental principles to guide teams on how to
execute with agility.
The Agile Manifesto is a dramatic contrast to the traditional
Project Manager’s Body of Knowledge (PMBOK) guide a
nd standards.
Agile Methodology
12 Fundamental principals of agile methodology
01
Agile manifesto
Agile Methodology
12 Fundamental principals of agile methodology
01
Agile manifesto
1. Our highest priority is to satisfy the customer through early and continuo
us delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile proc
esses harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a coupl
e of months, with preference to the shorter timescale.
4. Business people and developers must work together daily throughout th
e project.
5. Build projects around motivated individuals. Give them the environment a
nd support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and w
ithin a development team is face-to-face conversation.
Agile Methodology
12 Fundamental principals of agile methodology
01
Agile manifesto
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, devel
opers, 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 esse
ntial.
11. The best architectures, requirements, and designs emerge from self-orga
nizing teams.
12. At regular intervals, the team reflects on how to become more effective,
then tunes and adjusts its behaviour accordingly.
Agile Methodology
12 Fundamental principals of agile methodology
01
Agile manifesto
Agile Methodology
History of agile
01
History Of Agile
Old School Thought – “Waterfall”
In the early stages all the software projects used to be run as a series of seq
uential phases or steps which completed one after another.
Agile Methodology
History of agile
01
History Of Agile
Old School Thought – “Waterfall”
• It’s what you learn at high school, and it’s what most large organization
s still practice.
• The hidden downside is that it’s sequential. If a requirement is no longer
valid during the testing phase or the market has changed, it’s too late. It’
s being tested now. Development and requirements are done.
• In our hyper-evolving world, this doesn’t quite work in practice anymore.
Well, for building great products at least.
• They call this approach “waterfall”. Once you go past a phase, you can’t
climb back up. It’s a waterfall after all.
Agile Methodology
History of agile
01
History Of Agile
When market changes and scope changes needs to do.
Agile Methodology
History of agile
01
History Of Agile
New School Thinking – ‘Agile’
• Some trace agile methodologies all the way back to Francis Bacon’s arti
culation of the scientific method in 1620.
• A more reasonable starting point might be the 1930s, when the physicist
and statistician Walter Shewhart of Bell Labs began applying Plan-Do-St
udy-Act (PDSA) cycles to the improvement of products and processes.
• Shewhart taught this iterative and incremental-development methodology
to his mentee, W. Edwards Deming, who used it extensively in Japan in t
he years following World War II.
• Toyota hired Deming to train hundreds of the company’s managers, even
tually capitalizing on his expertise to develop the famous Toyota Productio
n System the primary source of today’s “lean” thinking.
• Iterative and incremental development methods were also a major contrib
utor to the successful creation of the X-15 hypersonic jet in the 1950s.
Agile Methodology
History of agile
01
History Of Agile
New School Thinking – ‘Agile’
• Bunch of people got together in 2001 and decided to create a medicine to
remedy the immobility present in the software development practices at th
e time. They called it ”The Agile Manifesto”.
• The manifesto consists of a number of values and principles.
• In a nutshell, it’s based on quickly and iteratively developing software, wit
h a focus on customer feedback and effective communication between th
e people that build the software product.
• Out of this manifesto spun the concept of Agile Software Development, w
hich is a number of methods that can be used to develop software based
off the values and principles in The Agile Manifesto.
• Alone, Agile Software Development doesn’t do much for teams. It’s the ag
ile software methods that provide teams structure on how to manage and
build products.
Agile Methodology
History of agile
01
History Of Agile
Difference between ‘Agile’ & ‘Waterfall’
Some of these methods include several sub agile
practices;
Agile Methodology
History of agile
01
History Of Agile
Agile methodology developed many agile practices
Agile Methodology
History of agile
01
History Of Agile
New School Thinking – ‘Agile’
What previously discussed methods have in common is that they help teams
to build and release software in small, frequent iterations, as opposed to takin
g the ‘big bang’ waterfall approach of releasing software after everything else
has been completed.
Do We Really
Need Agile?
Advantages and disadvantages of agile
Agile Methodology
Advantages of agile
02
Advantages Of
Agile
Agile evolved from different lightweight software approaches in the 1990s and
is a response to some project managers’ dislike of the rigid, linear Waterfall m
ethodology.
It focuses on flexibility, continuous improvement, and speed. New School Thi
nking – ‘Agile’.
Agile Methodology
Advantages of agile
02
Advantages Of
Agile
• Change is embraced:
With shorter planning cycles, it’s easy to accommodate and accept changes
at any time during the project. There is always an opportunity to refine and re
prioritize the backlog, letting teams introduce changes to the project in a matt
er of weeks.
• End-goal can be unknown:
Agile is very beneficial for projects where the end-goal is not clearly defined.
As the project progresses, the goals will come to light and development can e
asily adapt to these evolving requirements.
• Faster, high-quality delivery:
Breaking down the project into iterations (manageable units) allows the team
to focus on high-quality development, testing, and collaboration. Conducting t
esting during each iteration means that bugs get identified and solved more q
uickly. And this high-quality software can be delivered faster with consistent, s
uccessive iterations.
Agile Methodology
Advantages of agile
02
Advantages Of
Agile
• Strong team interaction:
Agile highlights the importance of frequent communication and face-to-face in
teractions. Teams work together and people are able to take responsibility an
d own parts of the projects.
• Customers are heard:
Customers have many opportunities to see the work being delivered, share th
eir input, and have a real impact on the end product. They can gain a sense o
f ownership by working so closely with the project team.
• Continuous improvement:
Agile projects encourage feedback from users and team members throughout
the whole project, so lessons learned are used to improve future iterations.
Agile Methodology
Disadvantages of agile
02
Dis-advantages
Of Agile
While the level of flexibility in Agile is usually a positive, it also comes with so
me trade-offs.
It can be hard to establish a solid delivery date, documentation can be neglec
ted, or the final product can be very different than originally intended.
Agile Methodology
Disadvantages of agile
02
Dis-advantages
Of Agile
• Planning can be less concrete:
It can sometimes be hard to pin down a solid delivery date. Because Agile is
based on time-boxed delivery and project managers are often reprioritizing ta
sks, it’s possible that some items originally scheduled for delivery may not be
complete in time. And, additional sprints may be added at any time in the proj
ect, adding to the overall timeline.
• Team must be knowledgeable:
Agile teams are usually small, so team members must be highly skilled in a v
ariety of areas. They also must understand and feel comfortable with the cho
sen Agile methodology.
• Time commitment from developers:
Agile is most successful when the development team is completely dedicated
to the project. Active involvement and collaboration is required throughout the
Agile process, which is more time consuming than a traditional approach. It al
so means that the developers need to commit to the entire duration of the pro
ject.
Agile Methodology
Disadvantages of agile
02
Dis-advantages
Of Agile
• Documentation can be neglected:
The Agile Manifesto prefers working software over comprehensive document
ation, so some team members may feel like it’s less important to focus on doc
umentation. While comprehensive documentation on its own does not lead to
project success, Agile teams should find the right balance between document
ation and discussion.
• Final product can be very different:
The initial Agile project might not have a definitive plan, so the final product c
an look much different than what was initially intended. Because Agile is so fl
exible, new iterations may be added based on evolving customer feedback, w
hich can lead to a very different final deliverable.
Agile Methodology
Advantages & Disadvantages of agile
02
Dis-advantages
Of Agile
Agile Development
CircleHow to get started with agile
Agile Development Circle
How agile address software requirements
03
How Agile
Address SW
Requirements
It’s important to note that these phases shouldn’t happen in succession; they
are flexible and always evolving. Many of these phases happen in parallel.
Agile Development Circle
How agile address software requirements
03
How Agile
Address SW
Requirements
• Planning:
Once an idea is deemed viable and feasible, the project team comes together
and works to identify features. The goal of this phase is to break down the ide
a into smaller pieces of work (the features) then to prioritize each feature and
assign it to an iteration.
• Requirements analysis:
This phase involves many meetings with managers, stakeholders, and users t
o identify business requirements. The team needs to gather information like w
ho will use the product and how they will use it. These requirements must be
quantifiable, relevant, and detailed.
• Design:
The system and software design is prepared from the requirements identified
in the previous phase. The team needs to think about what the product or solu
tion will look like. The test team also comes up with a test strategy or plan to
proceed.
Agile Development Circle
How agile address software requirements
03
How Agile
Address SW
Requirements
• Implementation, coding or development:
This phase is all about creating and testing features, and scheduling iterations
for deployment (following the iterative and incremental development approach
[IID]). The development phase starts with iteration 0, because there are no
features being delivered. This iteration lays down the foundation for developm
ent, with tasks like finalizing contracts, preparing the environments, and fundin
g.
• Testing:
Once the code has been developed, it is tested against the requirements to m
ake sure the product is actually solving customer needs and matching user
stories. During this phase, unit testing, integration testing, system testing, and
acceptance testing are done.
• Deployment:
After testing, the product is delivered to customers for them to use. However,
deployment isn’t the end of the project. Once customers start using the produc
t, they may run into new problems that the project team will need to address.
Agile Development Circle
How to get started with agile
03
How To Get
Started With Agile
Agile Development Circle
How to get started with agile
03
How To Get
Started With Agile
Do you remember ???
Agile Development Circle
How to get started with agile
03
How To Get
Started With Agile
Requirement breakdown in agile
Agile Development Circle
How to get started with agile
03
How To Get
Started With Agile
Agile Software Development
Agile Development Circle
How to get started with agile
03
How To Get
Started With Agile
What happen in each sprint
Methodologies To
Implement Agile
How to estimate budget in agile
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
Agile is a framework and there are a number of specific methods within th
e Agile movement.
You can think of these as different flavours of Agile:
Scrum
Kanban
Extreme Programming - XP
Lean
Crystal
Feature Driven Development – FDD
Dynamic System Development Method – DSDM
(Let’s learn these Agile methods in another presentation)
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
• Extreme Programming (XP):
Extreme Programming is a type of software development intended to impr
ove quality and responsiveness to evolving customer requirements. The p
rinciples of XP include feedback, assuming simplicity, and embracing cha
nge.
• Feature-driven development (FDD):
This iterative and incremental software development process blends indus
try best practices into one approach. There are five basic activities in FDD
: develop overall model, build feature list, plan by feature, design by featur
e, and build by feature.
• Adaptive system development (ASD):
Adaptive system development represents the idea that projects should al
ways be in a state of continuous adaptation. ASD has a cycle of three rep
eating series: speculate, collaborate, and learn.
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
• Dynamic Systems Development Method (DSDM):
This Agile project delivery framework is used for developing software and
non-IT solutions. It addresses the common failures of IT projects, like goin
g over budget, missing deadlines, and lack of user involvement. The eight
principles of DSDM are: focus on the business need, deliver on time, colla
borate, never compromise quality, build incrementally from firm foundation
s, develop iteratively, communicate continuously and clearly, and demonst
rate control.
• Lean Software Development (LSD):
Lean Software Development takes Lean manufacturing and Lean IT princi
ples and applies them to software development. It can be characterized b
y seven principles: eliminate waste, amplify learning, decide as late as po
ssible, deliver as fast as possible, empower the team, build integrity in, an
d see the whole.
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
• Kanban:
Kanban, meaning “visual sign” or “card” in Japanese, is a visual framewor
k to implement Agile. It promotes small, continuous changes to your curre
nt system. Its principles include: visualize the workflow, limit work in progr
ess, manage and enhance the flow, make policies explicit, and continuous
ly improve.
• Crystal Clear:
Crystal Clear can be used with teams of six to eight developers and it focu
ses on the people, not processes or artefacts. Crystal Clear requires the
following: frequent delivery of usable code to users, reflective improvemen
t, and osmotic communication preferably by being co-located.
• Scrum:
Scrum is one of the most popular ways to implement Agile. It is an iterativ
e software model that follows a set of roles, responsibilities, and meetings
that never change. Sprints, usually lasting one to two weeks, allow the tea
m to deliver software on a regular basis.
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
Other Practices in Agile
• Agile Modelling (AM):
Agile modelling is used to model and document software systems and is a
supplement to other Agile methodologies like Scrum, Extreme Programmi
ng (XP), and Rational Unified Process (RUP). AM is not a complete softw
are process on its own. It can help improve models with code, but it doesn
’t include programming activities.
• Rational Unified Process (RUP):
Created by the Rational Software Corporation, a division of IBM, RUP is a
n iterative, adaptive framework for software development. According to Ra
tional, RUP is like an online mentor that provides guidelines, templates, a
nd examples for program development. The key aspects of RUP include a
risk-driven process, use case focused development, and architecture-cent
ric design.
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
Other Practices in Agile
• Lean vs Agile:
Lean development focuses on eliminating and reducing waste (activities t
hat don’t add any value). Lean development takes the principles from Lea
n manufacturing and applies them to software development. These princip
les are very similar to Agile, however Lean takes it one step further. In the
development phase, you select, plan, develop, test, and deploy only one f
eature before you repeat the process for the next feature.
• Test-Driven Development (TDD):
Test-driven development relies on repetitive, short development cycles. Fir
st, a developer writes an (initially failing) automated test case for a new fe
ature and quickly adds a test with the minimum amount of code to pass th
at test. Then, he refactors the new code to acceptable standards.
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
Other Practices in Agile
• Scaled Agile Framework:
The Scaled Agile Framework is a very structured method to help large bus
inesses get started with adopting Agile. SAFe is based on Lean and Agile
principles and tackles tough issues in big organizations, like architecture, i
ntegration, funding, and roles at scale. SAFe has three levels: team, progr
am, and portfolio.
• Rapid Application Development (RAD):
RAD’s approach to software development puts more emphasis on develo
pment than planning tasks. It follows an incremental model, where each c
omponent is developed in parallel. The phases in RAD are: business mod
eling, data modeling, process modeling, application generation, and testin
g and turnover.
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
Other Practices in Agile
• Empirical Control Method:
With Agile software development, you can use an Empirical Control Metho
d, which means that you make decisions based on the realities you obser
ve in the actual project. The empirical model of process control has three
parts: visibility, inspection, and adaption.
Methodologies To Implement Agile
Methodologies that are used to implement agile
Methodologies To
Implement Agile
04
Methodologies To Implement Agile
How to estimate budget in agile
Estimate
Budget In Agile
04
Without in-depth, upfront planning, many project managers are unsure of ho
w to calculate the cost and budget of an Agile project.
Estimating the cost before the project even starts can always be challenging
, regardless of which project methodology you use. However, in an Agile proj
ect, you can tie the amount of time the project will take with its total cost.
First, create a burn down chart and use the burn down rate to estimate how
many sprints will be in your project and when the project will end.
Then, calculate how much the team will cost based on their hourly rates. Mul
tiply each person’s rate by the number of working hours per week, then multi
ply that by the number of weeks in a sprint.
Once you estimate the initial budget for your team, you can add any other co
sts, like technology, travel, or equipment.
Methodologies To Implement Agile
How to estimate budget in agile
Estimate
Budget In Agile
04
You could also break down each user story into tasks.
Once you have an idea of how many hours it will take to complete each task,
you can estimate the project budget.
And lastly, you could use planning poker to estimate the effort required for de
velopment goals. Planning poker is a consensus-based, gamified technique f
or estimating the effort of development goals.
Each team member makes estimates by playing numbered cards face-down
on the table, instead of saying it out loud. The cards are then revealed and th
e estimates discussed with the whole team.
(Let’s learn how we can use planning poker for Agile in another presentation)
Thank You !!!
Contact Me
rohana.cis2009@gmail.com
rohana1988
Rohana K Amarakoon

More Related Content

PDF
Agile methodologiesvswaterfall
PPT
Agile Software Development Overview
PDF
Agile sdlc
PDF
What is Agile Methodology?
PPT
Agile Methodology
PDF
What is agile model?Working of agile model
PPT
Agile Methodologies And Extreme Programming
PPTX
Agile Software Development Life Cycle
Agile methodologiesvswaterfall
Agile Software Development Overview
Agile sdlc
What is Agile Methodology?
Agile Methodology
What is agile model?Working of agile model
Agile Methodologies And Extreme Programming
Agile Software Development Life Cycle

What's hot (20)

ODP
Scrum Process
PDF
Scrum - Agile Methodology
PDF
Agile Scrum Training Process
PDF
Agile & SCRUM basics
PPTX
2017 Scrum by Picture
PDF
Agile Process Introduction
PPT
What Is Agile Scrum
PPTX
Agile Methodology
PDF
Agile Methodology
PPTX
Agile (Scrum)
PPTX
Agile Methodology in Software Development
PPTX
What is Agile Project Management? | Agile Project Management | Invensis Learn...
PPT
Agile Project Management for IT Projects
PPTX
Scrum In Ten Slides
PPT
Agile Scrum Presentation-Detailed
PPTX
Agile - Scrum Presentation
PPTX
Agile Overview
PPTX
Agile Methodology and Tools
PPTX
Scrum 101
PPTX
Role of scrum master
Scrum Process
Scrum - Agile Methodology
Agile Scrum Training Process
Agile & SCRUM basics
2017 Scrum by Picture
Agile Process Introduction
What Is Agile Scrum
Agile Methodology
Agile Methodology
Agile (Scrum)
Agile Methodology in Software Development
What is Agile Project Management? | Agile Project Management | Invensis Learn...
Agile Project Management for IT Projects
Scrum In Ten Slides
Agile Scrum Presentation-Detailed
Agile - Scrum Presentation
Agile Overview
Agile Methodology and Tools
Scrum 101
Role of scrum master
Ad

Similar to What is agile? (20)

PPTX
Agile Software Design and Development Process.pptx
PDF
Agile 101
PDF
A Systematic Study On Agile Software Development Methodlogies And Practices
PPTX
Agile principles & culture
PDF
agile basics2 software engineering development
PPTX
Agile Methodology PPT
PPT
Introduction To Agile
PDF
Agile Fundamentals for Project Managers.pdf
PPTX
PPTX
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
PDF
Introduction to Agile Software Development
PDF
Agile-PM-101-Beginners-Guide-Non-Project-Managers-Ebook-Final_2.pdf
PPTX
Agile (s.e)
PPTX
Emerging Trends of Software Engineering
PDF
Basics of agile
PPTX
Gems of agile a glimpse of agile for senior management
PDF
What is agile methodology
PPTX
Agile approach
PDF
Evolution towards agile project management
PDF
2019 Agile ^ Scrum
Agile Software Design and Development Process.pptx
Agile 101
A Systematic Study On Agile Software Development Methodlogies And Practices
Agile principles & culture
agile basics2 software engineering development
Agile Methodology PPT
Introduction To Agile
Agile Fundamentals for Project Managers.pdf
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Introduction to Agile Software Development
Agile-PM-101-Beginners-Guide-Non-Project-Managers-Ebook-Final_2.pdf
Agile (s.e)
Emerging Trends of Software Engineering
Basics of agile
Gems of agile a glimpse of agile for senior management
What is agile methodology
Agile approach
Evolution towards agile project management
2019 Agile ^ Scrum
Ad

More from Rohana K Amarakoon (20)

PPTX
Importance of education to everyone & how to improve education
PPTX
How to enhance social awareness on NCD's and STD's
DOCX
General data protection regulation - European union
PPTX
Effective communication
DOCX
Software Change request form
PPTX
Process for requirement identification & development in software development
DOCX
Project Management - AIB (MBA)
PDF
Entrepreneurship AIB (MBA) 2016
PDF
New Product Management AIB (MBA) 2016
DOC
Operations Management - AIB (MBA) 2015
DOC
Leadership - AIB (MBA) 2015
DOC
Strategic Management - AIB (MBA) 2015
DOC
Corporate Governance - AIB (MBA) 2015
DOC
Strategic Human Resource Management - AIB (MBA) 2015
PPTX
Project Management Best Practices
PPTX
Social & professional issues in IT
PPTX
Policies & Laws in IT industry
PPTX
Software Quality Assurance
PPTX
Security in IT (data and cyber security)
PPTX
Professional bodies in IT
Importance of education to everyone & how to improve education
How to enhance social awareness on NCD's and STD's
General data protection regulation - European union
Effective communication
Software Change request form
Process for requirement identification & development in software development
Project Management - AIB (MBA)
Entrepreneurship AIB (MBA) 2016
New Product Management AIB (MBA) 2016
Operations Management - AIB (MBA) 2015
Leadership - AIB (MBA) 2015
Strategic Management - AIB (MBA) 2015
Corporate Governance - AIB (MBA) 2015
Strategic Human Resource Management - AIB (MBA) 2015
Project Management Best Practices
Social & professional issues in IT
Policies & Laws in IT industry
Software Quality Assurance
Security in IT (data and cyber security)
Professional bodies in IT

Recently uploaded (20)

PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Cell Types and Its function , kingdom of life
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Institutional Correction lecture only . . .
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
Insiders guide to clinical Medicine.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
01-Introduction-to-Information-Management.pdf
Renaissance Architecture: A Journey from Faith to Humanism
Microbial disease of the cardiovascular and lymphatic systems
O7-L3 Supply Chain Operations - ICLT Program
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Cell Types and Its function , kingdom of life
Supply Chain Operations Speaking Notes -ICLT Program
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
TR - Agricultural Crops Production NC III.pdf
Institutional Correction lecture only . . .
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPH.pptx obstetrics and gynecology in nursing
O5-L3 Freight Transport Ops (International) V1.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Basic Mud Logging Guide for educational purpose
Insiders guide to clinical Medicine.pdf
Anesthesia in Laparoscopic Surgery in India
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
01-Introduction-to-Information-Management.pdf

What is agile?

  • 1. Welcome!! Who am I? Technical Software Project Manager Social & Tech Entrepreneur Traveler & Photographer University Lecturer Coder & Innovator Youth Activist TV Personal Blogger
  • 2. A R W M M D Rohana Kumara – MBA (AUS), B.Sc (CIS - SUSL), MBCS (UK), PMP (Reading) WHAT IS AGILE ? UNDERSTAND AGILE IN SIMPLE STEPS
  • 3. Let’s Talk About These Stuff What is agile & history of agile 12 principals of agile methodology Agile Methodology Advantages of agile Disadvantages of agile Do We Really Need Agile? How agile address software requirements How to get started with agile Agile Development Circle Agile Methodologies How to estimate budget in agile? Methodologies Use To Implement Agile 01 02 03 04 A R W M M D Rohana Kumara – MBA (AUS), B.Sc (CIS - SUSL), MBCS (UK), PMP (Reading)
  • 4. Agile Methodology What is agile & history of agile
  • 5. Agile Methodology What is agile? 01 What Is Agile? • Agile is a time boxed, iterative approach to software delivery that builds sof tware incrementally from the start of the project, instead of trying to deliver it all at once near the end. • Agile doesn’t have in-depth planning at the beginning of the project, Agile i s open to changing requirements over time and encourages constant feed back from the end users. Agile is the way of ability to create and respond to changes o n an incremental, iterative approach in order to succeed in a n uncertain and turbulent environment.
  • 6. Agile Methodology What is agile? 01 What Is Agile? Agile is collaboration between self-organizing, cross-functional teams work on iterations of a product over a period of time, and this work is organized into a backlog that is prioritized based on business or customer value. The goal of each iteration is to produce a working product for customer. In Agile methodologies, leadership encourages teamwork, accountability, an d face-to-face communication. Business stakeholders and developers must work together to align the product with customer needs and company goals. Manifesto for Agile Software Development, which covered how they found “ better ways of developing software by doing it and helping others do it” and in cluded four values and 12 principles.
  • 7. Agile Methodology 12 Fundamental principals of agile methodology 01 Agile manifesto The Agile Manifesto lists 12 fundamental principles to guide teams on how to execute with agility. The Agile Manifesto is a dramatic contrast to the traditional Project Manager’s Body of Knowledge (PMBOK) guide a nd standards.
  • 8. Agile Methodology 12 Fundamental principals of agile methodology 01 Agile manifesto
  • 9. Agile Methodology 12 Fundamental principals of agile methodology 01 Agile manifesto 1. Our highest priority is to satisfy the customer through early and continuo us delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile proc esses harness change for the customer’s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a coupl e of months, with preference to the shorter timescale. 4. Business people and developers must work together daily throughout th e project. 5. Build projects around motivated individuals. Give them the environment a nd support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and w ithin a development team is face-to-face conversation.
  • 10. Agile Methodology 12 Fundamental principals of agile methodology 01 Agile manifesto 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, devel opers, 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 esse ntial. 11. The best architectures, requirements, and designs emerge from self-orga nizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
  • 11. Agile Methodology 12 Fundamental principals of agile methodology 01 Agile manifesto
  • 12. Agile Methodology History of agile 01 History Of Agile Old School Thought – “Waterfall” In the early stages all the software projects used to be run as a series of seq uential phases or steps which completed one after another.
  • 13. Agile Methodology History of agile 01 History Of Agile Old School Thought – “Waterfall” • It’s what you learn at high school, and it’s what most large organization s still practice. • The hidden downside is that it’s sequential. If a requirement is no longer valid during the testing phase or the market has changed, it’s too late. It’ s being tested now. Development and requirements are done. • In our hyper-evolving world, this doesn’t quite work in practice anymore. Well, for building great products at least. • They call this approach “waterfall”. Once you go past a phase, you can’t climb back up. It’s a waterfall after all.
  • 14. Agile Methodology History of agile 01 History Of Agile When market changes and scope changes needs to do.
  • 15. Agile Methodology History of agile 01 History Of Agile New School Thinking – ‘Agile’ • Some trace agile methodologies all the way back to Francis Bacon’s arti culation of the scientific method in 1620. • A more reasonable starting point might be the 1930s, when the physicist and statistician Walter Shewhart of Bell Labs began applying Plan-Do-St udy-Act (PDSA) cycles to the improvement of products and processes. • Shewhart taught this iterative and incremental-development methodology to his mentee, W. Edwards Deming, who used it extensively in Japan in t he years following World War II. • Toyota hired Deming to train hundreds of the company’s managers, even tually capitalizing on his expertise to develop the famous Toyota Productio n System the primary source of today’s “lean” thinking. • Iterative and incremental development methods were also a major contrib utor to the successful creation of the X-15 hypersonic jet in the 1950s.
  • 16. Agile Methodology History of agile 01 History Of Agile New School Thinking – ‘Agile’ • Bunch of people got together in 2001 and decided to create a medicine to remedy the immobility present in the software development practices at th e time. They called it ”The Agile Manifesto”. • The manifesto consists of a number of values and principles. • In a nutshell, it’s based on quickly and iteratively developing software, wit h a focus on customer feedback and effective communication between th e people that build the software product. • Out of this manifesto spun the concept of Agile Software Development, w hich is a number of methods that can be used to develop software based off the values and principles in The Agile Manifesto. • Alone, Agile Software Development doesn’t do much for teams. It’s the ag ile software methods that provide teams structure on how to manage and build products.
  • 17. Agile Methodology History of agile 01 History Of Agile Difference between ‘Agile’ & ‘Waterfall’ Some of these methods include several sub agile practices;
  • 18. Agile Methodology History of agile 01 History Of Agile Agile methodology developed many agile practices
  • 19. Agile Methodology History of agile 01 History Of Agile New School Thinking – ‘Agile’ What previously discussed methods have in common is that they help teams to build and release software in small, frequent iterations, as opposed to takin g the ‘big bang’ waterfall approach of releasing software after everything else has been completed.
  • 20. Do We Really Need Agile? Advantages and disadvantages of agile
  • 21. Agile Methodology Advantages of agile 02 Advantages Of Agile Agile evolved from different lightweight software approaches in the 1990s and is a response to some project managers’ dislike of the rigid, linear Waterfall m ethodology. It focuses on flexibility, continuous improvement, and speed. New School Thi nking – ‘Agile’.
  • 22. Agile Methodology Advantages of agile 02 Advantages Of Agile • Change is embraced: With shorter planning cycles, it’s easy to accommodate and accept changes at any time during the project. There is always an opportunity to refine and re prioritize the backlog, letting teams introduce changes to the project in a matt er of weeks. • End-goal can be unknown: Agile is very beneficial for projects where the end-goal is not clearly defined. As the project progresses, the goals will come to light and development can e asily adapt to these evolving requirements. • Faster, high-quality delivery: Breaking down the project into iterations (manageable units) allows the team to focus on high-quality development, testing, and collaboration. Conducting t esting during each iteration means that bugs get identified and solved more q uickly. And this high-quality software can be delivered faster with consistent, s uccessive iterations.
  • 23. Agile Methodology Advantages of agile 02 Advantages Of Agile • Strong team interaction: Agile highlights the importance of frequent communication and face-to-face in teractions. Teams work together and people are able to take responsibility an d own parts of the projects. • Customers are heard: Customers have many opportunities to see the work being delivered, share th eir input, and have a real impact on the end product. They can gain a sense o f ownership by working so closely with the project team. • Continuous improvement: Agile projects encourage feedback from users and team members throughout the whole project, so lessons learned are used to improve future iterations.
  • 24. Agile Methodology Disadvantages of agile 02 Dis-advantages Of Agile While the level of flexibility in Agile is usually a positive, it also comes with so me trade-offs. It can be hard to establish a solid delivery date, documentation can be neglec ted, or the final product can be very different than originally intended.
  • 25. Agile Methodology Disadvantages of agile 02 Dis-advantages Of Agile • Planning can be less concrete: It can sometimes be hard to pin down a solid delivery date. Because Agile is based on time-boxed delivery and project managers are often reprioritizing ta sks, it’s possible that some items originally scheduled for delivery may not be complete in time. And, additional sprints may be added at any time in the proj ect, adding to the overall timeline. • Team must be knowledgeable: Agile teams are usually small, so team members must be highly skilled in a v ariety of areas. They also must understand and feel comfortable with the cho sen Agile methodology. • Time commitment from developers: Agile is most successful when the development team is completely dedicated to the project. Active involvement and collaboration is required throughout the Agile process, which is more time consuming than a traditional approach. It al so means that the developers need to commit to the entire duration of the pro ject.
  • 26. Agile Methodology Disadvantages of agile 02 Dis-advantages Of Agile • Documentation can be neglected: The Agile Manifesto prefers working software over comprehensive document ation, so some team members may feel like it’s less important to focus on doc umentation. While comprehensive documentation on its own does not lead to project success, Agile teams should find the right balance between document ation and discussion. • Final product can be very different: The initial Agile project might not have a definitive plan, so the final product c an look much different than what was initially intended. Because Agile is so fl exible, new iterations may be added based on evolving customer feedback, w hich can lead to a very different final deliverable.
  • 27. Agile Methodology Advantages & Disadvantages of agile 02 Dis-advantages Of Agile
  • 28. Agile Development CircleHow to get started with agile
  • 29. Agile Development Circle How agile address software requirements 03 How Agile Address SW Requirements It’s important to note that these phases shouldn’t happen in succession; they are flexible and always evolving. Many of these phases happen in parallel.
  • 30. Agile Development Circle How agile address software requirements 03 How Agile Address SW Requirements • Planning: Once an idea is deemed viable and feasible, the project team comes together and works to identify features. The goal of this phase is to break down the ide a into smaller pieces of work (the features) then to prioritize each feature and assign it to an iteration. • Requirements analysis: This phase involves many meetings with managers, stakeholders, and users t o identify business requirements. The team needs to gather information like w ho will use the product and how they will use it. These requirements must be quantifiable, relevant, and detailed. • Design: The system and software design is prepared from the requirements identified in the previous phase. The team needs to think about what the product or solu tion will look like. The test team also comes up with a test strategy or plan to proceed.
  • 31. Agile Development Circle How agile address software requirements 03 How Agile Address SW Requirements • Implementation, coding or development: This phase is all about creating and testing features, and scheduling iterations for deployment (following the iterative and incremental development approach [IID]). The development phase starts with iteration 0, because there are no features being delivered. This iteration lays down the foundation for developm ent, with tasks like finalizing contracts, preparing the environments, and fundin g. • Testing: Once the code has been developed, it is tested against the requirements to m ake sure the product is actually solving customer needs and matching user stories. During this phase, unit testing, integration testing, system testing, and acceptance testing are done. • Deployment: After testing, the product is delivered to customers for them to use. However, deployment isn’t the end of the project. Once customers start using the produc t, they may run into new problems that the project team will need to address.
  • 32. Agile Development Circle How to get started with agile 03 How To Get Started With Agile
  • 33. Agile Development Circle How to get started with agile 03 How To Get Started With Agile Do you remember ???
  • 34. Agile Development Circle How to get started with agile 03 How To Get Started With Agile Requirement breakdown in agile
  • 35. Agile Development Circle How to get started with agile 03 How To Get Started With Agile Agile Software Development
  • 36. Agile Development Circle How to get started with agile 03 How To Get Started With Agile What happen in each sprint
  • 37. Methodologies To Implement Agile How to estimate budget in agile
  • 38. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 Agile is a framework and there are a number of specific methods within th e Agile movement. You can think of these as different flavours of Agile: Scrum Kanban Extreme Programming - XP Lean Crystal Feature Driven Development – FDD Dynamic System Development Method – DSDM (Let’s learn these Agile methods in another presentation)
  • 39. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04
  • 40. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 • Extreme Programming (XP): Extreme Programming is a type of software development intended to impr ove quality and responsiveness to evolving customer requirements. The p rinciples of XP include feedback, assuming simplicity, and embracing cha nge. • Feature-driven development (FDD): This iterative and incremental software development process blends indus try best practices into one approach. There are five basic activities in FDD : develop overall model, build feature list, plan by feature, design by featur e, and build by feature. • Adaptive system development (ASD): Adaptive system development represents the idea that projects should al ways be in a state of continuous adaptation. ASD has a cycle of three rep eating series: speculate, collaborate, and learn.
  • 41. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 • Dynamic Systems Development Method (DSDM): This Agile project delivery framework is used for developing software and non-IT solutions. It addresses the common failures of IT projects, like goin g over budget, missing deadlines, and lack of user involvement. The eight principles of DSDM are: focus on the business need, deliver on time, colla borate, never compromise quality, build incrementally from firm foundation s, develop iteratively, communicate continuously and clearly, and demonst rate control. • Lean Software Development (LSD): Lean Software Development takes Lean manufacturing and Lean IT princi ples and applies them to software development. It can be characterized b y seven principles: eliminate waste, amplify learning, decide as late as po ssible, deliver as fast as possible, empower the team, build integrity in, an d see the whole.
  • 42. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 • Kanban: Kanban, meaning “visual sign” or “card” in Japanese, is a visual framewor k to implement Agile. It promotes small, continuous changes to your curre nt system. Its principles include: visualize the workflow, limit work in progr ess, manage and enhance the flow, make policies explicit, and continuous ly improve. • Crystal Clear: Crystal Clear can be used with teams of six to eight developers and it focu ses on the people, not processes or artefacts. Crystal Clear requires the following: frequent delivery of usable code to users, reflective improvemen t, and osmotic communication preferably by being co-located. • Scrum: Scrum is one of the most popular ways to implement Agile. It is an iterativ e software model that follows a set of roles, responsibilities, and meetings that never change. Sprints, usually lasting one to two weeks, allow the tea m to deliver software on a regular basis.
  • 43. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 Other Practices in Agile • Agile Modelling (AM): Agile modelling is used to model and document software systems and is a supplement to other Agile methodologies like Scrum, Extreme Programmi ng (XP), and Rational Unified Process (RUP). AM is not a complete softw are process on its own. It can help improve models with code, but it doesn ’t include programming activities. • Rational Unified Process (RUP): Created by the Rational Software Corporation, a division of IBM, RUP is a n iterative, adaptive framework for software development. According to Ra tional, RUP is like an online mentor that provides guidelines, templates, a nd examples for program development. The key aspects of RUP include a risk-driven process, use case focused development, and architecture-cent ric design.
  • 44. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 Other Practices in Agile • Lean vs Agile: Lean development focuses on eliminating and reducing waste (activities t hat don’t add any value). Lean development takes the principles from Lea n manufacturing and applies them to software development. These princip les are very similar to Agile, however Lean takes it one step further. In the development phase, you select, plan, develop, test, and deploy only one f eature before you repeat the process for the next feature. • Test-Driven Development (TDD): Test-driven development relies on repetitive, short development cycles. Fir st, a developer writes an (initially failing) automated test case for a new fe ature and quickly adds a test with the minimum amount of code to pass th at test. Then, he refactors the new code to acceptable standards.
  • 45. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 Other Practices in Agile • Scaled Agile Framework: The Scaled Agile Framework is a very structured method to help large bus inesses get started with adopting Agile. SAFe is based on Lean and Agile principles and tackles tough issues in big organizations, like architecture, i ntegration, funding, and roles at scale. SAFe has three levels: team, progr am, and portfolio. • Rapid Application Development (RAD): RAD’s approach to software development puts more emphasis on develo pment than planning tasks. It follows an incremental model, where each c omponent is developed in parallel. The phases in RAD are: business mod eling, data modeling, process modeling, application generation, and testin g and turnover.
  • 46. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04 Other Practices in Agile • Empirical Control Method: With Agile software development, you can use an Empirical Control Metho d, which means that you make decisions based on the realities you obser ve in the actual project. The empirical model of process control has three parts: visibility, inspection, and adaption.
  • 47. Methodologies To Implement Agile Methodologies that are used to implement agile Methodologies To Implement Agile 04
  • 48. Methodologies To Implement Agile How to estimate budget in agile Estimate Budget In Agile 04 Without in-depth, upfront planning, many project managers are unsure of ho w to calculate the cost and budget of an Agile project. Estimating the cost before the project even starts can always be challenging , regardless of which project methodology you use. However, in an Agile proj ect, you can tie the amount of time the project will take with its total cost. First, create a burn down chart and use the burn down rate to estimate how many sprints will be in your project and when the project will end. Then, calculate how much the team will cost based on their hourly rates. Mul tiply each person’s rate by the number of working hours per week, then multi ply that by the number of weeks in a sprint. Once you estimate the initial budget for your team, you can add any other co sts, like technology, travel, or equipment.
  • 49. Methodologies To Implement Agile How to estimate budget in agile Estimate Budget In Agile 04 You could also break down each user story into tasks. Once you have an idea of how many hours it will take to complete each task, you can estimate the project budget. And lastly, you could use planning poker to estimate the effort required for de velopment goals. Planning poker is a consensus-based, gamified technique f or estimating the effort of development goals. Each team member makes estimates by playing numbered cards face-down on the table, instead of saying it out loud. The cards are then revealed and th e estimates discussed with the whole team. (Let’s learn how we can use planning poker for Agile in another presentation)