2. The term Software Development refers to the writing of the source code of a
computer program, its documentation, testing, and bug fixing.
One of the first design process was the Waterfall Model. This was a
sequential design process, in which progress is seen as flowing steadily
downwards (like a waterfall) through the phases of conception, initiation,
analysis, design, construction, testing, production/implementation and
maintenance.
While the Waterfall Model was in extensive use for many years, the changing
landscape of development, uncertain technology, uncertain requirements,
changing business priorities and short time to market have helped in the
evolution of Agile Development
Software Development – Origin of Agile
3. Agile
Agile software development is a group of software development methods in which
requirements and solutions evolve through collaboration between self-organizing,
cross-functional teams. It promotes adaptive planning, evolutionary development,
early delivery, continuous improvement, and encourages rapid and flexible response
to change.
The Manifesto for Agile Software Development, also known as the Agile Manifesto,
first introduced the term agile in the context of software development in 2001
Individuals and interactions over processes 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” – Agile Manifesto
4. Agile Principles
There are 12 Agile Principles
Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter -timescale.
Business people and developers must work together daily throughout the
project.
Build projects around motivated individuals. Give them the environment
and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and
within a development team is face to face conversation.
5. Agile Principles Cont….
Working software is the primary measure of progress. Agile processes
promote sustainable development.
The sponsors, developers, and users should be able to maintain a constant
pace indefinitely.
Continuous attention to technical excellence and good design enhances
agility.
Simplicity ‐-‐the art of maximizing the amount of work not done-‐-‐is
essential.
The best architectures, requirements, and designs emerge from self--
‐organizing teams.
At regular intervals, the team reflects on how to become more effective,
then tunes and adjusts its behaviour accordingly.
6. Agile Certification Bodies
Some Examples of Certification Bodies
Scrum Alliance
Scrum.org
ICAgile
LeanKanban University
Safe Agile
XP
DSDM
PMI- PMI-ACP
APMG- Agile PM
7. Scrum
Scrum is an Agile framework for completing complex projects. Scrum originally was
formalized for software development projects. On 24th September 2014, the 3 Scrum
Groups Scrum Alliance, Scrum.org and Scrum Inc endorsed a common Scrum Guide.
(http://scrumguides.org/ ) The Scrum framework highlights:
A product owner creates a prioritized wish list called a product backlog.
During sprint planning, the team pulls a small chunk from the top of that wish list, a
sprint backlog, and decides how to implement those pieces.
The team has a certain amount of time — a sprint (usually two to four weeks) — to
complete its work, but it meets each day to assess its progress (daily Scrum).
Along the way, the ScrumMaster keeps the team focused on its goal.
At the end of the sprint, the work should be potentially shippable: ready to hand to
a customer, put on a store shelf, or show to a stakeholder.
The sprint ends with a sprint review and retrospective.
As the next sprint begins, the team chooses another chunk of the product backlog
and begins working again
8. Scrum Alliance
Certified ScrumMaster® : This course offers training in the fundamentals
essential for Scrum team members or a professional Scrum master
Certified Scrum Product Owner® : This course exposes students to the
basics of Scrum from the product owner's perspective. Receive training in
the art of managing a product backlog and working with a Scrum team
Certified Scrum Developer® : The course trains team members in
advanced Agile engineering practices and other agility skills, along with the
Scrum fundamentals developers need to create working software
Certified Scrum Professional® : This certificate conveys demonstrated
experience, documented training, and proven knowledge in the art of
scrum
Certified Scrum Trainers® : They are Certified Scrum Professionals who are
qualified to teach
Certified Scrum Coaches® : They are Certified Scrum Professionals who
have a talent for guiding others to attain their unique goals
9. Scrum.org
The Professional Scrum Foundations (PSF) course is a 2-day course that
teaches Scrum in a highly practical way. Working in a series of Sprints,
teams of students build a software application, thereby facing real-life
problems.
The Professional Scrum Master (PSM) course is a 2-day course that covers
the principles and (empirical) process theory underpinning the mechanics,
rules and roles of the Scrum framework
The Professional Scrum Developer (PSD) course is a 3-day course that
teaches how to create software using the Scrum framework. Students learn
to collaborate, apply modern engineering practices, and use the Scrum
framework to cope with changes. The course teaches how Agile
engineering practices and supportive ALM tools improve a team’s
capabilities.
The Professional Scrum Product Owner (PSPO) course is a 2-day course on
how to maximize the value of software products and systems. Students
develop and solidify this understanding through instruction and team-
based exercises. The breadth of the role's responsibilities in delivering a
successful product becomes clear from an Agile perspective on product
management.
10. Scaled Agile Framework
"The impression that "our problems are different" is a common disease that afflicts
management the world over. They are different, to be sure, but the principles that will
help to improve the quality of product and services are universal in nature“
– W Edwards Deming
(More Details at http://www.scaledagileframework.com/ )
SAFe Lean - Agile Principles
Take an economic View
Apply the systems thinking
Assume variability, preserve options
Build incrementally with fast integrated learning cycles
Base milestones on Objective evaluation of working systems
Visualize and limit WIP, reduce batch sizes, and manage queue lengths
Apply cadence, synchronize with cross-domain planning
Unlock the intrinsic motivation of knowledge workers
Decentralize Decision Making
11. SAFe Certifications
The SAFe Agilist (SA) : This certification program is for executives, managers and
Agile change agents responsible for leading a Lean-Agile change initiative in a large
software enterprise.
The SAFe Practitioner (SP) : This certification program is for software developers,
testers, project managers, product managers, and other practitioners involved in
software development.
The SAFe Program Consultant (SPC) : This Training and Certification course is for
internal agile change agents and external consultants. It provides the tools to
implement agile programs and validates their knowledge in agile programs, program
portfolio management, agile architecture, and leadership so that they can launch
Agile Release Trains as part of an enterprise Lean|Agile change initiative.
The SAFe Program Consultant Trainer Certification (SPCT) : It is the highest level of
certification provided by Scaled Agile (SAI).
SAFe Product Manager/ Product Owner Certification : The Product Owner/ Product
Manager Certification program is for executives, product managers, product owners,
consultants, lean|agile leaders, and agile change agents. It consists of an overview of
the Scaled Agile Framework ™, training for Product Managers and Product Owners,
and an optional PM/PO Certification exam
12. ICAgile - The International Consortium for Agile
The Consortium believes that to achieve sustainable agility, organizations need
competent agilists at every level and across all disciplines. It is their goal to enable
this by providing a common agile learning journey for every person and discipline
within the organization to acquire knowledge, develop it into competency, and
mature it into mastery. (More details at https://icagile.com/ )
Within the ICP or ICAgile Certified Professional series there are 13
certifications. These are knowledge based certifications focussed on
fulfilling ICAgile learning objectives and in-class demonstration of
acquired knowledge
There are 8 certifications in the Expert Certifications Series. They
are competency Based certifications and require considerable field
experience and a demonstration of competency in front of an
expert panel.
The Master Certificate is an iinnovation-based certification Requires
demonstration of expertise in multiple disciplines and contribution
to the agile community
13. Lean Kanban Incorporated
The Kanban Method is a set of principles and practices that are applied to an existing
process to help an organisation solve problems it may be experiencing. More details
at http://leankanban.com/
FOUNDATIONAL PRINCIPLES
Start with what you do now
Agree to pursue evolutionary change
Initially, respect current roles, responsibilities & job titles
CORE PRACTICES
Visualize
Limit WIP
Manage Flow
Make Process Policies Explicit
Implement Feedback Loops
Improve Collaboratively, Evolve Experimentally (using models and the scientific
method)
14. Lean Kanban University
LeanKanban University (LKU) offers Certified Kanban Training based on several
accredited curricula. This training that is validated to include accurate and complete
information on the principles and practices of the Kanban Method. The training
organization, the trainer, and the training materials are all screened to assure that
they meet the qualifications to teach LKU certified Kanban training. Every LKU
Accredited Kanban Trainer and LKU Kanban Coaching Professional has verified field
experience and knowledge to support large and small Kanban implementations.
Certified Kanban Training curricula include:
1-day Introductory Kanban Training Class
2-day Foundations-Level Kanban Training Class
2- or 3-day Advanced Practitioner-Level Kanban Training Class
3- or 5-day Kanban Coaching Professional Masterclass A and B
LKU Train the Trainer 5-day course
15. DSDM
The early 1990′s saw the advent of “Rapid Application Development” (RAD). This was
a response of the applications development community with the Waterfall method
which were deemed inappropriate for a fast moving business environment. However
RAD grew in a unstructured manner which forced the need for an Industry Standard
from which the DSDM Consortium was born.
DSDM (http://www.dsdm.org/) is one of the longest established Agile approaches' to
software development. In recent versions of the method the emphasis on control has
become more explicit whilst every care was been taken to maintain optimum Agility.
In DSDM Atern (launched in 2007), the principles were redefined as:
Focus on the business need
Deliver on time
Collaborate
Never compromise quality
Build incrementally from firm foundations
Develop iteratively
Communicate continuously and clearly
Demonstrate control
16. eXtreme Programming (XP)
Extreme programming (XP) is a software development methodology which is intended
to improve software quality and responsiveness to changing customer requirements.
It advocates frequent "releases" in short development cycles and introduce
checkpoints at which new customer requirements can be adopted.
Some elements of extreme programming include: programming in pairs or doing
extensive code review, unit testing of all code, avoiding programming of features until
they are actually needed, a flat management structure, simplicity and clarity in code,
expecting changes in the customer's requirements as time passes and the problem is
better understood, and frequent communication with the customer and among
programmers. XP takes its name from the idea that the beneficial elements of
traditional software engineering practices are taken to "extreme" levels.
The absence of “command and control” have caused drawbacks, including problems
with unstable requirements, no documented compromises of user conflicts, and a lack
of an overall design specification or document
17. Agile Project Mgt
Agile Project Management provides an approach that offers agility but retains the
concepts of a project, project delivery and project management. It works alongside
more formal project management approaches such as PRINCE2® and complements
quality processes such as ISO90001 and CMMI.
Agile Project Management enables organizations to gain the benefits of an agile
approach without introducing unnecessary risks. This ensures ‘going agile’ becomes a
measured and balanced change, keeping what is good in the current organization and
retaining existing good practices around project management and delivery whilst
gaining the benefits of a more agile way of working.
Agile Project Management is the result of collaboration between APMG-International
and The DSDM Consortium. (http://www.apmg-
international.com/en/qualifications/agile-pm/agile-pm.aspx)
18. PMI-ACP (Agile Certified Practitioner)
Project Management Institute is the world's leading not-for-profit professional
membership association for the project, program and portfolio management
profession. It was founded in 1969, and is based in the USA.
The PMI-ACP is a 3 day training course preparing participant with the knowledge
required to pass the PMI-ACP®. The PMI-ACP recognizes knowledge of agile principles,
practices and tools and techniques across agile methodologies. It helps participant in
understanding Agile in-depth and equips participants in agile delivery methodologies.
This course is based upon the PMI®-recommended reference materials on Agile,
Scrum, XP, Lean, and other Agile Methods. The requirements to attend:
General Project Experience
2,000 hours working on project teams, earned within the last 5 years
Active PMP® or PgMP® will satisfy this requirement
Agile Project Experience
1500 hours working on agile project teams or with agile methodologies, in addition
to the 2,000 hours required in “general project experience”
(more details at http://www.pmi.org/Certification/New-PMI-Agile-Certification.aspx )
19. Agile : Project Management : Coverage
On one hand, project and regulatory governance (project control) has become
increasingly important in recent years. On the other hand, many Agile evangelists
consider control to be an intrinsically anti-Agile concept.
Different Agile Frameworks approach both aspects of the above in different ways as
per their perceived objects. Dividing objectives of the frameworks on four parameters
as given below, we can see the focus and coverage of the frameworks in the table in
the following slide
Corporate and Governance Practices
Agile Project Management Practices and Project Lifecycle
Agile Team Management Practices
Agile Delivery and Engineering Practices
20. What Agile Methods Cover
ref : Agile PM whitepaper from APMG International