0% found this document useful (0 votes)
4 views

UNIT-1 PPT Agile project development with scrum

The document provides an overview of Agile project development, particularly focusing on the Scrum framework and its principles. It contrasts Agile methodologies with traditional models like Waterfall, emphasizing iterative development, customer collaboration, and adaptability to change. Additionally, it outlines various Agile methods, including Kanban, Extreme Programming, and Lean Development, along with the Agile Manifesto's core values and principles aimed at enhancing software development efficiency.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

UNIT-1 PPT Agile project development with scrum

The document provides an overview of Agile project development, particularly focusing on the Scrum framework and its principles. It contrasts Agile methodologies with traditional models like Waterfall, emphasizing iterative development, customer collaboration, and adaptability to change. Additionally, it outlines various Agile methods, including Kanban, Extreme Programming, and Lean Development, along with the Agile Manifesto's core values and principles aimed at enhancing software development efficiency.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 64

Agile Project Development with

Scrum

.
UNIT I - AGILE METHODOLOGY

• Overview of Agile

• Theories for Agile Management and Agile Software Development

• Traditional Model vs Agile Model

• Classification of Agile Methods


• Agile Manifesto and Principles
• Agile Project Management

• Agile Team Interactions , Ethics in Agile Teams and Agility in Design

• Testing ,Agile Documentations ,Agile Drivers, Capabilities and Values


Overview:Before Agile,SDLC??
Software Development Life Cycle.
The process of developing ,testing and
releasing the software into market.
Types:
1.Waterfall Model--------- Slow Process
2.Spiral Model
3.V Model
4.Win Win
5.Agile.-----------???
Waterfall Model
• Material /Product can either be a huge success
or huge failure.
INTRODUCTION TO AGILE

• Agile is a Software development methodology


based on iterative development.
• Deliver small piece of software enabling
frequent customer feedback.
• Customer don’t need to wait for long time.
Difference between Waterfall and Agile
Waterfall Agile

Requirements Clearly defined Can Change

Client involvement No Yes

Type Straight forward Complex Projects


solutions
Time frames Strict Loose

Budget Strict Big or unlimited

Team Collaboration Moderate intensive


Key pros and cons of the Waterfall approach

The Waterfall methodology gains its major plus points due


to the following features:
– Well-defined development plan
– Comprehensive documentation
– Clearly-defined requirements
– Settled budget
The Waterfall methodology lacks:
– Flexibility
– Speed of development
– Client engagement
– Autonomy (delays or bugs in one unit affect all other units)
Agile methodology

What is the Agile methodology?


The Agile methodology is a project
management approach that involves breaking
the project into phases and emphasizes
continuous collaboration and improvement.
Teams follow a cycle of planning, executing, and
evaluating.
*Process for developing software.
Agile methodology
Agile means
 ability to move quickly
responding swiftly to change
It have Sprints or iterations which are shorter in
duration (Sprints/iterations can vary from 2
weeks to 2 months)during which pre-
determined features are developed and
delivered.
Scrum
Two of the most popular ones that support the Agile development life cycle
are
1. Scrum
2. Kanban

Scrum is an Agile framework that is used to implement the ideas behind


Agile software development. It is the most popular Agile framework used in
companies.

Kanban is a highly visual method popularly used within Agile project


management. It paints a picture of the workflow process, with an aim to
identify any bottlenecks early on in the process so that a higher quality
product or service is delivered.
Q&A
• What is SDLC?
• What is Agile?
• Difference between waterfall & agile
• What is Agile methodology
• What is Scrum
• What is Kanban
Theories for Agile Management
and Agile Software Development
Traditional Model vs Agile Model
Traditional Model vs Agile Model
Classification of Agile Methods
• The goal of every Agile methodology is to embrace and adapt to change while
delivering working software as efficiently as possible.
Classification of Agile Methods

• There are 8 main Agile methodologies:


1. Scrum

2. Kanban

3. Extreme Programming (XP)

4. Lean Development

5. Crystal.

6. Dynamic systems development method(DSDM)

7. Feature Driven Development(FDD)

8. Scaled Agile Framework (SAFe)


Scrum

• Scrum is a well-known agile framework that is simple to learn and


lightweight, but like all agile techniques, it is challenging to master
completely.
• The "Scrum framework" contains a collection of processes, roles, events,
artifacts, and rules that are intended to direct the team as they carry out the
project.
Scrum Pillars and Values
The theory behind Scrum is based on the three pillars
• Transparency,
• Inspection
• Adaptation.
Scrum also recognizes five fundamental values-
• Focus,
• Courage,
• Openness,
• Commitment, and
• Respect.
Kanban
• Kanban uses a highly visual workflow
management method that allows teams to
actively manage product creation --
emphasizing continuous delivery -- without
creating more stress in the software
development lifecycle (SDLC).
• Kanban uses three basic principles:
1. visualize the workflow
2. limit the amount of work in progress
3. improve the flow of work.
Extreme Programming (XP)
• Extreme Programming, sometimes known as "XP" or
"eXtreme Programming," is an agile approach that is
concentrated on software development.
• Scrum prioritizes work at the project management level and
solicits feedback, whereas XP concentrates on best practices
for software development.
XP Core Values
The core values of XP are
– Simplicity
– Communication
– Feedback
– Courage
– Respect
Lean Development

• Lean software development methodology follows the


principle "just in time production." The lean method
indicates the increasing speed of software
development and reducing costs.
Lean development can be summarized in seven phases.
1. Eliminating Waste
2. Amplifying learning
3. Defer commitment (deciding as late as possible)
4. Early delivery
5. Empowering the team
6. Building Integrity
7. Optimize the whole
Crystal
• Crystal isn't just one technique; it's a family of tailored, situation-
specific approaches that are color-coded. Crystal can handle a
wide range of projects, from a small team developing a low-
criticality system (Crystal Clear) to a large team developing a high-
criticality system.
There are three concepts of this method-
1. Chartering: Multi activities are involved in this phase such as making a
development team, performing feasibility analysis, developing plans,
etc.
2. Cyclic delivery: under this, two more cycles consist, these are:
– Team updates the release plan.
– Integrated product delivers to the users.
3. Wrap up: According to the user environment, this phase performs
deployment, post-deployment.
Crystal.
Dynamic systems development method(DSDM)

• The project life cycle is thoroughly covered by us, which includes


everything from the business case and feasibility to
implementation in an agile project. The DSDM life cycle is
depicted in the picture below.
The eight principles are:
1. Focus on the business need
2. Deliver on time
3. Collaborate
4. Never compromise quality
5. Build incrementally from firm foundations
6. Develop iteratively
7. Communicate continuously and clearly
8. Demonstrate control
Feature Driven Development(FDD)

• This method focuses on "Designing and


Building" features. In contrast to other smart
methods, FDD describes the small steps of the
work that should be obtained separately per
function.
• A project team using the FDD methodology
will first create a general model of the
product, create a list of features, then
schedule the work.
Scaled Agile Framework (SAFe)
• Scaled Agile framework encompasses workflows, organizational
patterns, principles, and best practices to implement agile
methodologies for larger organizations.

• The SAFe framework structure comprises the body of knowledge


encompassing roles and responsibilities, handling work, and using
appropriate values.

• The SAFe methodology is ideal for large teams handling complex


projects at various levels, such as program, portfolio, and project
levels.
Agile Software Development
Theory of agile development:
 Agile software development lifecycle includes the
concept, inception, construction, release,
production, and retirement phases.
 Agile is a set of 4 core values and 12 principles
which aids continuous delivery of the software
product in a flexible way. It uses an incremental and
iterative method of software development
requiring constant collaboration with stakeholders,
documentation, planning, team effort, and delivery.
Agile Manifesto and Principles
• The Agile Manifesto is a declaration of the
values and principles expressed in Agile
methodology.
• Made up of four foundational values and 12
key principles, it aims to help uncover better
ways of developing software by providing a
clear and measurable structure that promotes
iterative development, team collaboration,
and change recognition.
Agile Manifesto and Principles
The four core values of Agile are :
• PEOPLE: Individuals and Interactions OVER
Processes and Tools
• WORK: Working software OVER comprehensive
documentation
• COMMUNICATION: Customer collaboration
OVER Contract negotiation
• FLEXIBILITY: Responding to change OVER
Following a plan
Theories for Agile Management and Agile
Software Development
Agile Principle 1

Agile Principle 1
• “Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.”

How it looks in practice:


• Product teams use minimum viable products and rapid
experimentation to test hypothesis and validate ideas.
• Frequent releases help fuel a continuous feedback cycle between
customer and product.
• Shipped and done are not the same thing. Instead of releasing a
“finished” product, iterations continue to make incremental
improvements to product based on customer and market feedback.
Agile Principle 2
Agile Principle 2
“Welcome changing requirements, even late in development. Agile processes
harness change for the customer’s competitive advantage.”

How it looks in practice:


• Product teams are guided by high-level strategic goals and perhaps even themes
below those goals. The product department’s success is measured against
progress toward those strategic goals rather than by delivery of a predefined
feature set.
• Product constantly has its ear to the ground monitoring the market, customer
feedback, and other factors which could influence product direction. When
actionable insight is uncovered, plans are adjusted to better serve customer and
business needs.
• Product strategy and tactical plans are reviewed, adjusted, and shared on a
regular cadence to reflect changes and new findings. As such, product needs to
manage the expectations of executive stakeholders appropriately and ensure
they understand the why behind changes.
Agile Principle 3

Agile Principle 3
• “Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.”
How it looks in practice:
• Agile development cycles, often called “sprints” or “iterations” break
down product initiatives into smaller chunks that can be completed
in a set timeframe. Often this timeframe is between 2 and 4 weeks
which truly is a sprint if you consider the marathon-like development
cycles waterfall teams often follow.
• Another popular alternative to agile sprints is continuous
deployment. This method of shipping software frequently works less
in terms of predetermined time boxes and more in terms of simply
deciding what to do and doing it.
Agile Principle 4

Agile Principle 4
• “Business people and developers must work together daily
throughout the project.”
How it looks in practice:
• Cross-functional agile product development teams include
product people. This means that product is represented on
the development team and bridges the gap between
technical and business aspects of the product.
• Daily update meetings, or standups, are one technique
many agile shops use to put this principle in practice and
keep everyone connected.
Agile Principle 5

Agile Principle 5
• “Build projects around motivated individuals. Give them the environment
and support they need, and trust them to get the job done.”
How it looks in practice:
• Product must clearly ensure engineering understands strategy and
requirements before development starts. This means not only sharing
user stories with the cross-functional team but also the bigger picture
outlined in the product roadmap.
• Product is not responsible for explaining “how” something should be
built. They need to share what and why, but it’s the delivery team’s job to
determine the how. Furthermore, during sprints product does not
micromanage outcome, instead they make themselves available to
answer questions and provide support as needed.
Agile Principle 6

Agile Principle 6
• “The most efficient and effective method of conveying
information to and within a development team is face-
to-face conversation.”
How it looks in practice:
• Daily standup meetings
• Collaborative backlog grooming sessions
• Sprint planning meetings
• Frequent demos
• Pair-programming
Agile Principle 7

Agile Principle 7
• “Working software is the primary measure of progress.”
How it looks in practice:
• Designing and releasing “Minimum Viable Features” rather than
fully-developed feature sets means thinking first and foremost
about the smallest things we can ship to start getting customer
feedback and validate as we continue to build software.
• A fail fast mentality means moving forward even in times of
uncertainty and testing ideas rapidly.
• Ship software often: a useful product now is better than a
perfect one later.
Agile Principle 8

Agile Principle 8
• “Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.”
How it looks in practice:
• Before every sprint, careful consideration of the amount of work that can be
committed to is made. Development teams don’t over promise on what they can
and cannot deliver. Effort estimations are a common practice in setting output
expectations for development teams.
• Everyone agrees on what will get done during a sprint. Once a sprint has begun, no
additional tasks are to be added except in rare cases.
• Product managers should act as gatekeepers to reduce the noise from other
stakeholders and to avoid squeezing in additional unplanned work during an
ongoing sprint.
• Product people should do their part in promoting a sense of psychological safety
across the cross-functional team that encourages open communication and freely
flowing feedback.
Agile Principle 9

Agile Principle 9
• “Continuous attention to technical excellence and good design
enhances agility.”
How it looks in practice:
• The team needs to be cognizant of technical debt and the
technical debt implications of any new features or initiatives
added to the backlog. Developers and product need to work
together to understand if and when technical debt is
acceptable.
• On a regular basis, product will need to allocate development
resources to refactoring efforts. Refactoring cannot be an
afterthought, it needs to be an ongoing consideration
Agile Principle 10

Agile Principle 10
• “Simplicity—the art of maximizing the amount of work not done—is
essential.”
How it looks in practice:
• Product managers need to make very focused product decisions and closely
align product strategy with organizational goals while being extremely picky
about what user stories and features actually make the cut. Using
prioritization techniques to prioritize initiatives by effort and predicted
impact is one way product teams can apply this agile principle to product
development.
• The short sprints that agile is characterized by present many opportunities
for rapid testing and experimentation which can help reduce uncertainty
around whether initiatives will truly have the predicted impact. Using
experiments to validate ideas before building them up to spec is a great way
to weed out bad ideas and identify good ones.
Agile Principle 11

Agile Principle 11
• “The best architectures, requirements, and designs
emerge from self-organizing teams.”
How it looks in practice:
• Self-organizing teams are autonomous groups within
the organization who take control and responsibility
over their respective projects and have ownership of
those areas. Different organizations practice this
principle differently. Spotify, for example uses
“product squads” to practice this.
Agile Principle 12

Agile Principle 12
• “At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly.”

How it looks in practice:


• Experimentation and testing is not limited to the product only. Agile teams are encouraged to
experiment with their processes. You may think you’re already doing something well only to
experiment with a revised version of the process and discover an even more effective method.
Experimenting with your process and team is just as important as experimenting with the
software you’re building.
• Regular retrospectives are opportunities for the team to discuss what went well, what didn’t
go so well, and where the process can be tweaked to improve things in the future. They’re an
excellent place for product managers and product owners to learn if they are communicating
effectively with developers and giving them the support they need before, during, and after
sprints.
• Another consideration to make regarding this agile principle is that in order to practice it
effectively you need to create a culture of trust and transparency that encourages openness
and frequent sharing of feedback.
Agile Project Management

• Agile project management is an iterative


approach to managing software development
projects that focuses on continuous releases
and incorporating customer feedback with
every iteration.
or
• Agile project management is an iterative
approach to delivering a project throughout
its life cycle.
How Does Agile Project Management Work?

• Agile is a very structured and detailed process that breaks


projects down into smaller, more manageable chunks of
effort and focus. As a result, teams are more transparent
and can accommodate frequent inspection and adaptation.
These smaller efforts are called sprints, and are generally
scheduled in 2-week increments.
• Agile is best applied to projects and industries that develop
products that can be built and released in versions, and
require continuous updates or improvements. Software,
music, medical devices, pharmaceuticals, and even makeup
formulations are all great candidates for the agile
methodology.
Agile Teams and Roles
Agile teams are lean and usually consist of 9 to 15 people in
various roles. The following roles make up the scrum team
and framework:
• Development team: Those who create the product,
including programmers, testers, designers, writers, and
any other hands-on workers
• owner: Bridges the gap between the dev team, the
customer, and business stakeholders
• Scrum master: Facilitates the project by supporting the
dev team, clearing blockers, and following processes
The following roles are not part of the scrum framework, but
are critically important and round out the agile project team:
• Stakeholders: Anyone with an interest in the project
• Agile mentor: The coach with experience implementing
agile projects
Agile Tools

Depending on how your agile environment is set up, there are low-
tech and high-tech communication and collaboration tools you can
use.
Low-tech tools for local teams include:
– White boards
– Sticky notes in different colors
– Colorful pens or markers
– A sprint-specific kanban board
High-tech tools for hybrid and remote teams include:
– Video conferencing software
– Webcams
– Instant messaging apps
– Web-based desktop sharing apps
– Cloud-based collaboration websites and file organization systems
– Timeline tools with multiple views and dashboards
7 Steps to Implementing Agile Project Management

• Create a roadmap.
– Begin with an implementation strategy to plan how your organization will transition. Document current processes
and problems and outline what future processes will be. Create a step-by-step roadmap to move from existing
processes to agile, including a timeframe.
• Establish a transformation team.
– Establish a transformation team and identify who is responsible for improving processes, reporting requirements,
and measuring performance across the organization.
• Communicate the changes.
– Build awareness and excitement by communicating the changes and the benefits of the new process, using tools to
educate everyone involved. The goal is to generate early support and eliminate fear and uncertainty.
• Test the process.
– Identify a pilot project to test the process and figure out how to work with agile methods. Iron out the wrinkles
while the team slowly adjusts to the new methods.
• Get feedback.
– Make mistakes, gather feedback, and improve for next time. Use the end of a sprint to hold a sprint review and
review product functionality, as well as setting expectations for the next sprint.
• Identify KPIs.
– Identify success metrics, as well as a quantifiable way to demonstrate success to stakeholders.
• Appoint a mentor.
– Train and learn together. Identify a mentor to lead the way and make sure other team members learn the same
lessons.
Agile Team Interactions
• An Agile team is in near-constant communication with the
customer, clarifying expectations, collaborating on fixes, and
communicating options not previously considered.

• This frequent interaction between the team and the customer is


what promotes creativity and heightens quality.

• Agile team interactions are an essential aspect of Agile software


development methodology.

• Agile emphasizes collaboration, communication, and teamwork, and


effective interactions within the team are crucial for project success.
KEY ASPECTS OF TEAM INTERACTIONS
• Daily Stand-up Meetings
• Collaboration and Pair Programming
• Backlog Refinement Sessions
• Sprint Planning Meetings
• Retrospectives
• Information Radiators
• Cross-functional Teams
• Effective Communication Channels
Agile Team Interactions
• Daily Stand-up Meetings: Agile teams typically hold daily stand-up meetings,
also known as daily scrums. These short meetings provide an opportunity for
team members to update each other on their progress, discuss any
challenges or roadblocks they are facing, and align their work for the day.
• Collaboration and Pair Programming: Agile teams encourage collaboration
among team members. Pair programming is a practice where two
programmers work together on the same task, sharing knowledge and
expertise. This promotes better code quality, knowledge sharing, and faster
problem-solving.
• Backlog Refinement Sessions: Agile teams regularly participate in backlog
refinement sessions. During these sessions, team members review and
prioritize items in the product backlog, discuss requirements, clarify user
stories, and estimate effort. This helps the team stay aligned and ensures
that the backlog is well-prepared for future sprints.
Agile Team Interactions
• Sprint Planning Meetings: Before each sprint, Agile teams
conduct sprint planning meetings. These meetings involve the
entire team and serve to define the scope of work for the
upcoming sprint. The team collaboratively decides which user
stories and tasks will be included in the sprint and sets
realistic goals for the iteration.
• Retrospectives: At the end of each sprint, Agile teams hold
retrospectives to reflect on the completed work. This is a time
for the team to review what went well, identify areas for
improvement, and discuss strategies to enhance their
performance in the next sprint. Retrospectives foster
continuous learning and adaptation within the team.
Agile Team Interactions
• Information Radiators: Agile teams often use information radiators, such
as task boards or Kanban boards, to visualize the progress of work. These
visual tools provide transparency to all team members, making it easier to
track tasks, identify bottlenecks, and encourage self-organization.
• Cross-functional Teams: Agile teams are typically cross-functional,
meaning they include members with diverse skills and expertise necessary
to deliver a working product. This allows for better collaboration and
reduces dependencies on external teams or individuals.
• Effective Communication Channels: Agile teams employ various
communication channels to facilitate interactions. This may include in-
person conversations, video conferencing, chat tools, or project
management software. The choice of communication channels depends
on the team's preferences and the nature of the interactions.
ETHICS in Agile Team
• Commitment: It's not enough to be assigned to a team and agree to try this new agile thing, and it's not enough simply to be dedicated. One must also be
committed to doing whatever is necessary to meet the goals outlined and to take the authority to do so to heart. It means "to carry into action deliberately"
(Merriam-Webster) or, as Yoda says, "Do, or do not. There is no try."

Focus: Don't get sidetracked. Remember what you committed to do, and focus your energies on fulfilling that promise. Distractions are not limited to the
obvious things like email and unrelated meetings. They may also be things like creating documentation because "we've always done it that way" instead of
creating documentation because it truly provides the customer with something of value.

Openness: Openness is about keeping the project status highly visible to everyone all the time. Anyone who is interested should be able to look at a wall, a
wiki page, or a dashboard in an agile project management tool and see how many features have been completed, what's currently being worked on, and the
goals of the iteration and release.Communication: People on the team must talk to each other. This gets harder to do the more geographically separated the
team is, but with tools like Skype, teams can talk to one another easily and cheaply. The point is that team members must not rely on email and
documentation alone. Verbal communication is required to clarify ideas, solve complex problems, answer questions quickly, and help team members
coordinate work efforts.

Simplicity: Beck says the XP coach should ask the team, "What is the simplest thing that could possibly work?" Then they should do that thing. Because agile
approaches develop code in increments each iteration, the thought is that it is better to develop something simple that may have to be expanded later if
needed, rather than spend a large amount of time now developing a solution that's more complicated and may, in fact, not be necessary.

Feedback: As stated earlier, our number one obligation is to provide value to the customer. In order to do that, we must obtain frequent feedback from the
customer or customer representative in order to make sure that the product we are building is meeting their expectations. And if it is not, we have the
information we need now in order to make corrections. Beck extends this meaning of feedback to include feedback from the system itself in the form of unit,
functional, and performance tests run frequently in each iteration.

Courage: In order to accept the authority and accountability for the delivery of the product, the team members all need courage. From the courage to make
decisions to the courage to say no, this is a foundational value that gives rise to all the others.

Respect: Each team member must begin by agreeing that everyone deserves to be treated with respect. Many teams clarify this with working agreements
that outline ways in which they choose to work together. And, as a result of working together to adhere to all the other values outlined here, team members
grow to respect one another beyond their shared humanity to the ways each valued colleague contributes to the whole.

Adhering to a set of values that drive positive, collaborative behaviors and result in frequent software delivery helps us to work in an ethical manner.
Agility in Design
Agility in design refers to the ability to adapt and respond quickly to changes and
feedback during the design process. It involves an iterative and incremental approach
that encourages flexibility and collaboration. Here are some aspects of agility in design:
• Iterative Design Process: Agility in design involves breaking down the design process
into iterative cycles. Each cycle includes activities such as research, ideation,
prototyping, and user testing. Iterations allow for continuous improvement based on
feedback and evolving requirements.
• Collaboration and Co-creation: Agile design encourages collaboration among
designers, developers, stakeholders, and end-users. Designers work closely with
cross-functional teams, incorporating feedback and diverse perspectives throughout
the process. Co-creation sessions facilitate collective problem-solving and foster
innovation.
• Rapid Prototyping and Testing: Agile design emphasizes quick prototyping and
testing of design concepts. Rapid prototyping allows for early validation of ideas,
gathering feedback, and making necessary iterations. This iterative approach ensures
that design solutions meet user needs and expectations.
Agility in Design
• Flexibility and Adaptability: Agility in design requires a mindset of
flexibility and adaptability. Designers should be open to change, embrace
feedback, and be willing to pivot when needed. This allows for the
incorporation of new insights and avoids a rigid adherence to initial
design assumptions.
• Continuous Learning and Improvement: Agile design promotes a culture
of continuous learning and improvement. Designers should actively seek
feedback, conduct retrospectives, and reflect on their work. This
facilitates learning from successes and failures, leading to better design
outcomes over time.
• Emphasis on User-Centricity: Agile design puts the end-user at the center
of the design process. User research, user testing, and user feedback
drive design decisions. Iterative cycles enable designers to gather
insights, refine designs, and create solutions that align with user needs.
Agile Testing
• Agile testing is a software testing practice that follows the Agile
software development methodology. In Agile development,
projects tend to evolve during each sprint among collaborators
and shareholders.
• Agile testing focuses on ensuring quality throughout the Agile
software development process.
• Continuous integration and continuous delivery are two
important aspects of agile testing.
• In continuous integration, developers integrate their code
changes into a shared mainline several times a day. In
continuous delivery, every change that passes all tests is
automatically released into production.
Agile testing
The main principles of agile testing are:
• Early and continuous testing: Testers should start testing the software early in the development process. They
should also test the software continuously throughout the development cycle.

• Whole team approach: In agile development, all team members are responsible for ensuring the quality of the
product. This includes developers, testers, business analysts, and product owners.

• Frequent deliveries: Agile teams deliver working software frequently, typically every two weeks.

• Close collaboration: There is close collaboration between all team members in an agile project. This helps to
ensure that everyone is on the same page and that there are no surprises.

• Customer involvement: Customers involve themselves throughout the agile development process. They
provide feedback at each iteration, which helps the team to make constant improvements.

• Working software: Agile teams focus on quality software management during each iteration. This is more
important than documentation or other deliverables.

• Flexible approach: Agile development is a flexible approach. Teams can change the requirements at any time
during the development process.
Agile documentation
• Agile is a lightweight framework that helps
people, teams, and organizations generate
value through adaptive solutions for complex
problems.
• Agile documentation refers to the practice of
producing documentation following the
principles setup in the Agile manifesto.
Agile documentation
The importance of agile documentation in the agile software release cycle can be
summarised as follows
1. Software and documentation shall be released simultaneously to maximize
customer experience
2. Agile documentation processes to supplement software developers providing
business agility
3. Documentation team and software developers adopting the same agile
methodology and processes helps to get consistent practices across the team
4. Agile documentation processes set the stage for tighter collaboration with software
developers
5. Agile documentation also helps with reducing time to value for customers to utilize
the software solution holistically with accurate documentation
6. Communicate technical information to your customers such that the product value
can be maximized
7. Compliance / regulatory bodies mandates to have technical documentation as part
of their software product
Critical elements to include in Agile Documentation

Project scope
• A short description detailing what needs to be covered in the technical documentation such that it meets the expectation of the
customer. Thus, the documentation should be concise, precise, and technically accurate.

Specification document
• If the software feature is meant for a highly technical audience, a technical specification document can be useful that covers
technical specification/requirements

Compliance conditions
• If any compliance conditions need to be met by the documentation, it can be detailed out. This is applicable to medical
products, manufacturing, oil and gas industries

Production support documents


• If the software product is released in different stages, then the documentation should be released for different product
environments and system settings. This includes releasing different documentation for different product versions and different
product stages such as alpha, beta, and GA

Guides for end- Users


• If addition to technical documentation, there might be a need for producing technical guides for any partners/ resellers on
configuring technical aspects of the product. This documentation might be not shared with end-users.

Training Manuals
• Based on the project scope, training manuals can also be released to bolster the impact of software documentation
Agile drivers
Agile Capabilities and Values
Agile methodologies are driven by certain capabilities and guided by a set of core values.
These capabilities and values form the foundation of Agile practices and principles. Here are
the key capabilities and values in Agile:
Agile Capabilities:
• Iterative and Incremental Delivery: Agile teams have the capability to deliver software in
small, frequent increments, allowing for early value delivery and continuous feedback.
• Adaptability: Agile teams possess the capability to embrace change and adjust their
plans and priorities based on customer feedback and evolving requirements.
• Collaboration: Agile teams have the capability to work collaboratively, fostering open
communication, knowledge sharing, and collective decision-making.
• Self-Organization: Agile teams are capable of self-organizing, meaning they have the
autonomy to make decisions, manage their work, and adapt their approach to achieve
project goals.
• Continuous Improvement: Agile teams have the capability to reflect on their work, learn
from their experiences, and continuously improve their processes, practices, and
deliverables.
Agile Capabilities and Values
Agile Values (as defined in the Agile Manifesto):
• Individuals and Interactions over Processes and Tools: Agile values the
importance of human interactions, effective communication, and collaboration
within the team and with stakeholders, prioritizing them over rigid processes
and tools.
• Working Software over Comprehensive Documentation: Agile values the delivery
of working software as the primary measure of progress, emphasizing the
practical value of software over excessive documentation.
• Customer Collaboration over Contract Negotiation: Agile values active
collaboration and involvement of customers or end-users throughout the
development process, fostering a partnership approach rather than relying
solely on contracts and negotiations.
• Responding to Change over Following a Plan: Agile values the ability to respond
to change and adapt plans based on feedback and evolving requirements,
recognizing that change is inevitable and can lead to better outcomes.

You might also like