Professional Documents
Culture Documents
Agile Software Development Rcs E43 4yr 7sem
Agile Software Development Rcs E43 4yr 7sem
U
course--B.Tech
Branch-Computer Science
& Engineering
4 Year --- 7 Semester
TH th
SUBJECT---
AGILE SOFTWARE DEVELOPMENT
Subject Code-
RCS-077/RCS-E43
Prepared by Expert team
Based on AKTU Syllabus
DETAILED SYLLABUS
UNIT I:- AGILE METHODOLOGY Theories for Agile Management – 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 – Agility
in Design, Testing – Agile Documentations – Agile Drivers, Capabilities and Values
UNIT II:- AGILE PROCESSES Lean Production – SCRUM, Crystal, Feature Driven Development-
Adaptive Software Development – Extreme Programming: Method Overview – Lifecycle – Work
Products, Roles and Practices.
UNIT III:- AGILITY AND KNOWLEDGE MANAGEMENT Agile Information Systems – Agile
Decision Making – Earl‗S Schools of KM – Institutional Knowledge Evolution Cycle –
Development, Acquisition, Refinement, Distribution, Deployment , Leveraging – KM in Software
Engineering – Managing Software Knowledge – Challenges of Migrating to Agile Methodologies –
Agile Knowledge Sharing – Role of Story-Cards – Story-Card Maturity Model (SMM).
UNIT IV:- AGILITY AND REQUIREMENTS ENGINEERING Impact of Agile Processes in RE–
Current Agile Practices – Variance – Overview of RE Using Agile – Managing Unstable
Requirements – Requirements Elicitation – Agile Requirements Abstraction Model – Requirements
Management in Agile Environment, Agile Requirements Prioritization – Agile Requirements
Modeling and Generation – Concurrency in Agile Requirements Generation.
UNIT V:- AGILITY AND QUALITY ASSURANCE Agile Product Development – Agile Metrics –
Feature Driven Development (FDD) – Financial and Production Metrics in FDD – Agile Approach
to Quality Assurance – Test Driven Development – Agile Approach in Global Software
Development.
UNIT – 1
Agile Software Development Life Cycle (SDLC) is the combination of both iterative and
incremental process models. It focuses on process adaptability and customer satisfaction by rapid
delivery of working software product. Agile SDLC breaks down the product into small incremental
builds. These builds are provided into iterations.
In the agile SDLC development process, the customer is able to see the result and understand
whether he/she is satisfied with it or not. This is one of the advantages of the agile SDLC model.
One of its disadvantages is the absence of defined requirements so, it is difficult to estimate the
resources and development cost.
Construction/ Iteration
When the team defines the requirements, the work begins. The designers and developers start
working on their project. The aims of designers and developers deploy the working product within
the estimated time. The product will go into various stages of improvement, so it includes simple,
minimal functionality.
Deployment
In this phase, the team issues a product for the user's work environment.
Testing
In this phase, the Quality Assurance team examine the product's performance and look for the
bug.
Feedback
After releasing of the product, the last step is to feedback it. In this step, the team receives
feedback about the product and works through the feedback.
Question :- Discuss the Agile SDLC Process Flow?
Answer---->
1. Concept: Project are imagined and prioritized.
2. Inception: Team members are created, funding is put in place, and basic environments
and requirements are discussed.
3. Iteration/Constriction: The software development team works to deliver working software.
It is based on requirement and feedback.
4. Release: Perform quality assurance (QA) testing, provides internal and external training,
documentation development, and final version of iteration into the product.
5. Production: It is ongoing support of the software.
Answer-----> Agile project management is rapidly rising in the 21st century. It is used for software
development projects and other IT initiatives.
However, from the mid-20th century, the concept of continuous development has taken various
forms. For example, there was James Martin's Rapid Iterative Production Prototyping (RIPP),
an approach that served as the premise for the 1991 book Rapid Application Development
(RAD).
The agile project management framework which has emerged in most recent years is known as
Scrum. This methodology features works on the development team to create a product backlog. It
also creates a prioritized list of the features, functionalities, and fixes required to deliver a
successful software system. The scrum team offers the pieces of a task in rapid increments.
Answer-----> The agile project management calls for teams to regularly evaluate cost and time as
they move through their work. They use velocity, burnup and burndown charts to measure their
work, rather than Gantt charts and project milestones to track progress.
The agile team practices to continuous development and continuous integration using technology
that automates steps to speed up the release and use of products.
The presence and participation of the project manager are not required in agile project
management. Although the presence of the project manager is essential for success under the
traditional (waterfall model) project delivery. The role of the project manager is to distribute task
among team members. However, the project manager is not obsolete in agile project
management, and many organizations use them in a large, more complex project. The
organization mostly places them in the project coordinator role.
Agile Project Management demands that team members know how to work in this new agile
methodology. The team member must be able to coordinate with each other, as well as with users.
Answer-----> Most companies today focus on delivering quality and gaining customer satisfaction
and in order to accomplish this, the challenge lies in choosing between traditional development
methodologies and agile development methodologies.
Though both these approaches have positives and negatives, making the right choice plays a
crucial role while starting a new project. The main points to consider while choosing your
development methodology are as follows:
• Business Need – Impact of implementing specified requirements, on customers’ business
• Customer Perception – Customer perspective of business impact
• Project Timeframe – Defined timeframe for the real-time implementation of the project
These disadvantages hinder project delivery in terms of cost, effort, time and end up having a
major impact on customer relationships.
• Testing can begin only after the development process is finished. Once the application is in
the testing stage, it is not possible to go back and edit anything which could have an
adverse impact on delivery dates and project costs.
• Occasionally, projects get scrapped which leads to the impression of inefficiency and
results in wasted effort and expenditure.
Traditional development methodologies are suitable only when the requirements are precise i.e.,
when the customer knows exactly what they want and can confidently say that there won’t be any
major changes in scope throughout the project development. It is not suitable for large projects
such as maintenance projects where requirements are moderate and there is a great scope for
continuous modification.
Answer-----> Unlike the traditional approaches of SDLC, Agile approaches are precise and
customer friendly. Users/Customers have the opportunity to make modifications throughout project
development phases. The advantages of Agile over traditional development methodologies
include:
• Though the problem statement/business need and solution are defined in advance, they
can be modified at any time.
• Requirements/User Stories can be provided periodically implying better chances for mutual
understanding among developer and user.
• The solution can be determined by segregating the project into different modules and can
be delivered periodically.
• The user gets an opportunity to evaluate solution modules to determine whether the
business need is being met thus ensuring quality outcomes.
• It is possible to create re-usable components.
• There is less priority on documentation which results in less time consumption and
expenditure.
Agile proposes an incremental and iterative approach to development. Consider Agile Scrum
Methodology to get good understanding of how Agile processes work. Scrum Master plays an
important role in Agile Scrum Methodology.
A Scrum Master interacts daily with the development team as well as the product owner to make
sure that the product development is in sync with the customer’s expectations. The following
diagram illustrates the lifecycle process in Agile methodologies.
During project inception, the customer splits the initial set of requirements into User Stories. The
Scrum Master or Product owner organizes these User Stories and segregates them into different
Sprints. In general, Sprint contains 3-4 User Stories to be delivered in 4 to 5 weeks, these are
approximate figures and they will be decided based the complexity of user stories.
Once the Sprint planning is done, the selected User Stories are once again split into Tasks so that
the developer can have a clear roadmap to deliver quality output. At the end of each Sprint, the
customer gets a chance to review and predict the final outcome and can propose changes if any.
The main difference between traditional and agile approaches is the sequence of project phases –
requirements gathering, planning, design, development, testing and UAT. In traditional
development methodologies, the sequence of the phases in which the project is developed is
linear where as in Agile, it is iterative. Below picture illustrate this difference.
The main project variables like cost, time, quality etc., can be compared as shown in the
following picture.
Things like project scope and requirements change during the project which make IT projects
different from construction or engineering projects. Agile methodology like Scrum is preferable in
projects involving large teams where we can expect frequent changes in requirements. As
development phases like requirement gathering, design, development and testing can start in
parallel, the entire team can be engaged in respective areas which increases productivity and
speeds up the development process.
Question :- What are the Key points while making the transition from Traditional to Agile
methodologies?
Answer---->
• Identify the factors which made the transition necessary
• Everyone, including the user, should be clear about the reasons which lead to the transition
• Identify whether it is a small project or big project
• Note the current stage of the project to be transitioned, whether development has started or
is yet to start
• Make sure the team has a good understanding of the new approach and have adapted to
their respective roles as per the new approach
• Arrange necessary training for the team
Answer----> Here are the three common roles found on an agile team:
1. Cross-functional team member–in keeping with the non-hierarchical structure of the agile
team, the cross-functional team member is mentioned first, and NOT the product owner or
team facilitator. They are professionals who deliver potentially releasable product on a
regular basis. They need to deliver work in the shortest possible time, with higher quality,
without external dependencies.
2. The product owner interacts with the customer and stakeholders as well as the team, and
they pay attention to the highest value for the customer. They typically have a business
background and have deep subject matter expertise. They create the backlog for and with
the team, in a way that delivers the highest value without creating waste.
3. This role can be called various names, such as a project manager, scrum master, as well
as a team lead, couch, or facilitator. The servant leader, no matter what he or she is called,
needs to focus on facilitation of the work done by the team, impediment removal, and
coaching. If the servant leader feels their internal coaching capability is not yet fully
developed, then they may invite external agile coaches.
Question:-How do they interact with each other, with the customers for whom the project is
being done, and the organization which is doing the project?
Answer---> Well, bear with me on this, but an analogy came to me yesterday while I was taking a
shower–it’s like how soap works to get things clean. A soap molecule must combine water and
the substance that is being cleaned, including if it is covered in something oily like grease, and
essentially have the water molecules carry away the dirt off the surface being cleaned.
One problem with this is that water and oil do not normally mix. The soap molecule has a special
structure which is that at one end, it attracts water (it is hydrophilic to use the technical term).
The other end repels water but is compatible with oil because it is itself composed of fatty
acids. The soap molecule, by combining these two properties in the same molecule, can
therefore make water and oil mix, causing the oily dirt to be carried away when the water is
washed away.
The product owner faces the customers and communicates their requirements to the cross-
functional team members. The cross-functional team members are the ones who are trying to
create a solution, so they are, like water molecules, trying to break apart the problems being
handed to them by the product owner, who gets them from the customers. The customers and the
cross-functional team members are like the “oil” and “water” that have to work together to get the
solution done.
And what causes them to be able to work together, when their roles are so different? That is the
team facilitator (who may also be called a project manager, scrum master, or other designation)–
he or she holds the team together by facilitating, coaching if necessary, and removing
impediments that would prevent them from working cohesively.
So the team facilitator has to face both the team AND the product owner in order to make sure that
the solutions that the team come up with are communicated to the customer so that the customer
is pleased with the product.
Answer----> You should consider adopting agile because it is the ethical option. This is not to say
that non-agile methods are unethical, nor is it to say that all agile teams are working ethically.
Instead this ethical choice is about embracing a method that is value-driven—both in the promise
of providing value to the customers and in the promise of the ways we choose to work together to
provide that value.
The Merriam-Webster definition of ethics is "the discipline dealing with what is good and bad, and
with moral duty and obligation." If we examine our moral obligation as software developers, our
first task is to provide value to our customers. That is why we were hired, and that is what the
customers are paying for. We have a responsibility to deliver. Agile approaches provide a
framework that enables frequent delivery of precisely what the customer needs with as little waste
as possible.
While we are obligated as professionals to provide a valued product to our customers, it should
not be at the expense of those doing the work (or those supporting the people doing the work).
Our second obligation is to treat the team humanely. If we do not create and maintain an
environment that allows the team to do challenging and fulfilling work at a sustainable pace, then
we are failing to treat these knowledge workers with respect. This also affects our first duty in that
an overworked, demoralized team may not be able to give its best effort at creating a valued and
quality product. Review the Agile Manifesto and its twelve principles to see the set of values that
drive behavior in a positive and sustainable fashion.
In addition to the Agile Manifesto, two of the most popular agile approaches, Extreme
Programming (XP) and Scrum, advocate specific values. (Again, this is not to say that other
software development approaches do not have values—just that XP and Scrum explicitly spell
them out.)
Ken Schwaber identified the following five Scrum values in his book Agile Software Development
with Scrum: commitment, focus, openness, respect, and courage. Kent Beck identified these five
XP values in his book Extreme Programming Explained: communication, simplicity, feedback,
courage, and respect. While many trainers focus on the practices to get new agile teams up and
running, it is the values that will keep the team truly agile long after the trainers and coaches
leave.
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 behaviours and result in frequent
software delivery helps us to work in an ethical manner.
This is what agile is all about! Yes, agile also allows companies to decrease their time to market,
increase quality, and eliminate waste in the process to provide a greater ROI to the organization.
And you'll find plenty of articles about these benefits as well. But the realization of these benefits is
not based just on the adoption of a set of practices; the value system must also be adopted if the
approach is to work properly. So, as you consider adopting agile, also think about whether or not
your organization's values match those of agile—and what you may want to do if they don't.
Answer----> Design plays a vital role in any software development process. The agile team also
focuses on "what to do about design"because of the following four factors:
o Many crucial factors focus on loyal designs during the planning process. Design forces
towards waterfall culture throughout product implementation.
o Designers also interact with a cross team for a limited time.
o Designers don't always have an easy way to report feedback to the engineering team.
o The presentation and logic layers are not still transparent. They are not separated clearly in
the code base, making style changes difficult.
Communication Observation: At the bottom of the pyramid, we will get the very minimum. We
should all come back from an interview and be able to list observations as we don't need any
experience to regulate what you've seen.
Interpret problems: Above the Communication Observation, it is an interpret problem. It is
explaining the user's behavior and grouping them with an over-arching problem statement.
Connecting opportunities: This is the peak of the pyramid where the most value comes in
combining the problem with potential opportunities or related patterns. This helps influence a
roadmap and make decisions about what to tackle next.
UNIT – 2
Answer-----> Scrum is a framework that helps agile teams to work together. Using it, the team
members can deliver and sustain the complex product. It encourages the team to learn through
practice, self-organize while working on the problem. Scum is a work done through the framework
and continuously shipping values to customers.
It is the most frequent software that is used by the development team. Its principle and lessons
can be applied to all kinds of teamwork. Its policy and experiences is a reason of popularity of
Scrum framework. The Scrum describes a set of tools, meetings, and roles that help the teams
structure. It also manages the work done by the team
Answer-----> Scrum and agile are not the same thing because Scrum focused on continuous
improvement, which is a core foundation of agile. Scrum framework focuses on ongoing getting
work done.
Answer----> With scrum, a product is built in a series of repetition called sprints. It breaks down
big complex projects into bite-size pieces. It makes projects more manageable, allows teams to
ship high quality, work faster, and more frequently. The sprints give them more flexibility to adapt
to the changes.
Sprints are a short, time-boxed period for Scrum team that works to complete a set amount of
work. Sprints are the core component of Scrum and agile methodology. The right sprints will help
our agile team to ship better software.
Answer----> Sprint plan is an action in Scrum that kicks off the sprint. The primary purpose of
sprint plan is to define what can deliver in the sprint. It also focuses on how the work will be
achieved. It is done in combination with the whole Scrum team members.
The sprint is a set of the period where all the work to be done. Before we start the development,
we have to set up the sprint. We need to describe how long time is required to achieve the sprint
goal and where we are going to start.
Answer----> A product backlog is a registered list of work for the development team. It is driven
from the roadmap and its requirements. The essential task is represented at the top of the product
backlog so that the team member knows what to deliver first. The developer team doesn't work
through the backlog from the product owner's side and product owner doesn't push the work to the
developer team. The developer team pulls work from the product backlog.
Backlog starts with the two "R"s
The fundamental product backlog is provided by a team's roadmap and requirements. Roadmap
repetition breaks down into several epics, and each epic will have several requirements and user
stories.
The product owner organizes each of the customer stories into a single list. This story is organized
for the development team. The product owner chooses to deliver first complete epic.
Question :- What are the The factors that influence a product owner's prioritization?
Answer---->
o Priority of customer
o Importance of getting feedback
o Relative implementation difficulty
o Symbiotic relationships between work items
Answer---> Alistair Cockburn, credited as one of the original popularizers of agile, developed the
Crystal method for IBM in 1991. He decided to focus not on developing specific step-by-step
development strategies that would work across the board for teams involved in any project, but
instead to develop guidelines for team collaboration and communication. The traits of Cockburn’s
Crystal method were therefore all based around the team itself:
• Human-powered (meaning the project should be flexible and tailored to the needs and the
preferred work modalities of people involved)
• Adaptive (meaning the approach uses no fixed tools but can be altered to meet the team’s
specific needs)
• Ultra-light (meaning this methodology does not require much documentation or reporting)
Question :- Discuss the Feature Driven Development (FDD) and Agile Modeling?
Answer----> There isn’t a single methodology that you can apply across all projects. However,
many teams are moving toward an adaptive methodology, such as Agile, and moving away from
the predictive, Waterfall methodology when developing software.
The conventional Waterfall development method follows strict phases, sticking to the original
requirements and design plan created at the beginning of the project. A project manager spends
time negotiating milestones, features, resources, working at length in the planning stages of a
project, usually developing a full-blown project plan that details how the work will be moved
through many gates to completion.
Customers finalize requirements before development begins and then a lengthy development
process occurs, with the project manager tracking every movement of the project through each
handoff and finally on to delivery.
If everything goes well, this process produces an on-time, on-budget release. The chief
drawbacks to this approach are well-documented: it is not responsive to change and it takes a
long time to deliver working software. When technology forms the field of play and drives every
change, a six month (or longer) release cycle, with requirements chiseled in stone, does not meet
the business need.
The history behind Agile software development is one of frustration with the traditional waterfall
methodology. Agile is designed to accommodate change and the need for faster software
development (as discussed in the Agile Manifesto's Values and Principles). The project leader
typically facilitates the work of the development team, eliminates bottlenecks, and helps the team
stay focused in order to deliver software iterations on a regular basis. It is less about milestones
than it is about hours, feature selection, prioritization, and meetings.
Unlike the Waterfall model, the development team ultimately decides at the beginning of a sprint
(or iteration) what can be accomplished in the timeframe and sets out to build a series of features,
delivering working software that can be installed in a production environment at the end of the
sprint. Since Agile software development methods (such as Dynamic Systems Development
Method- DSDM) are flexible, most are suitable for method tailoring – where development teams
can adapt the flow to meet the needs of the product.
Question :- Explain the the Agile Lifecycle?
Answer----->There are a variety of Agile software development (or system development)
methodologies, including, but not limited to:
• Disciplined Agile Delivery (DAD)
• Adaptive Software Development
• Agile Modeling
• Kanban
• Scrum
• Scrumban
• Extreme Programming (XP)
• Dynamic Systems Development (DSDM)
• Feature Driven Development
• Lean Software Development
The overall goal of each Agile method is to adapt to change and deliver working software as
quickly as possible. However, each methodology has slight variations in the way it defines the
phases of software development.
Furthermore, even though the goal is the same, each team’s process flow may vary depending on
the specific project or situation. As an example, the full Agile software development lifecycle
includes the concept, inception, construction, release, production, and retirement phases.
Answer----> The Agile software development lifecycle is dominated by the iterative process. Each
iteration results in the next piece of the software development puzzle - working software and
supporting elements, such as documentation, available for use by customers - until the final
product is complete. Each iteration is usually two to four weeks in length and has a fixed
completion time. Due to its time-bound nature, the iteration process is methodical and the scope of
each iteration is only as broad as the allotted time allows.
Multiple iterations will take place during the Agile software development lifecycle and each follows
its own workflow. During an iteration, it is important that the customers and business stakeholders
provide feedback to ensure that the features meet their needs.
Answer----> Test Plan is prepared at the time of Release Planning and is revised at every Sprint
Planning. Test Plan acts as a guide to the testing process in order to have the complete test
coverage.
Typical Contents of a Test Plan are −
• Test Strategy
• Test Environment
• Test Coverage
• Scope of Testing
• Test Effort and Schedule
• Testing Tools
In Agile Projects, all the Team Members are accountable for the quality of the product. Hence,
everyone participates in test planning as well.
A testers’ responsibility is to provide necessary direction and mentor the rest of the team with their
testing expertise.
User Stories
User Stories are not testing work products in principle. However, in Agile Projects, the testers
participate in the User Stories Creation. Testers write User Stories that bring value to the customer
and cover different possible behaviors of the system.
Testers also ensure that all the User Stories are testable and ensure the Acceptance Criteria.
In Test Driven Development, Unit Tests are written first to fail, Code is developed and tested to
ensure the Tests pass.
In Acceptance Test Driven Development, Acceptance Tests are written first to fail, Code is
developed and tested to ensure the Tests pass.
In other Development methods, the Testers collaborate with the rest of the Team to ensure Test
Coverage.
In all the types of methods, Continuous integration takes place, which includes continuous
integration testing.
The team can decide when and what tests are to be automated. Even if automation of the tests
requires effort and time, the resulting automated tests significantly reduce the repetitive testing
effort and time during the iterations of the Agile Project. This in turn facilitates the team to pay
more attention to the other required activities, such as new User Stories, Changes, etc.
In Scrum, the iterations are time-boxed. Hence, if a User Story testing cannot be completed in a
particular Sprint, the tester can report in the daily standup meeting that the user story cannot reach
the Done Status within that Sprint and hence needs to be kept pending to the next Sprint.
Test Results
As most of the Testing in Agile Projects is automated, the Tools generate the necessary Test
Results Logs. Testers review the Test Results Logs. The test results need to be maintained for
each sprint / release.
Question: What are Agile process and its advantages? Explain any one Agile
process?
Answer---->
Agile SDLC Model:
• Agile SDLC model is a combination of iterative and incremental process models with focus
on process adaptability and customer satisfaction by rapid delivery of working software
product.
• Agile Methods break the product into small incremental builds. These builds are provided in
iterations. Each iteration typically lasts from about one to three weeks. Every iteration
involves cross functional teams working simultaneously on various areas like planning,
requirements analysis, design, coding, unit testing, and acceptance testing.
• At the end of the iteration a working product is displayed to the customer and important
stakeholders.
• Agile model believes that every project needs to be handled differently and the existing
methods need to be tailored to best suit the project requirements. In agile the tasks are
divided to time boxes (small time frames) to deliver specific features for a release.
• Iterative approach is taken and working software build is delivered after each iteration. Each
build is incremental in terms of features; the final build holds all the features required by the
customer.
• Agile thought process had started early in the software development and started becoming
popular with time due to its flexibility and adaptability.
• Guiding principles
• Active user involvement
• Teams empowered to make decisions
• Fitness foe business purpose is criterion for deliverable acceptance
• Iterative and incremental develop needed to converge on accurate business solution
• All changes made during development are reversible
• Requirements are baselined at a high level
• Testing integrates throughout life-cycle
• Collaborative and cooperative approach between stakeholders
1. Scrum Master
The Scrum Master is a team leader and facility provider who helps the team member to follow
agile practices, so that the team member meets their commitments and customers requirements.
The scrum master plays the following responsibilities:
o They enable the close co-operation between all the roles and functions.
o They remove all the blocks which occur.
o They safeguard the team from any disturbances.
o They work with the organization to track the progress and processes of the company.
o They ensure that Agile Inspect & Adapt processes are leveraged correctly which includes
o Planned meetings
o Daily stand-ups
o Demo
o Review
o Retrospective meetings, and
o Facilitate team meetings and decision-making process.
2. Product Owner
The Product Owner is one who runs the product from a business perspective. The Product Owner
plays the following responsibilities:
o He defines the requirements and prioritizes their values.
o He sets the release date and contents.
o He takes an active role in iteration and releasing planning meetings.
o He ensures that the team is working on the most valued requirement.
o He represents the voice of the customer.
o He accepts the user stories that meet the definition of done and defined acceptance criteria.
Answer---->Every agile team contains self-sufficient team with 5 to 9 team members. The average
experience of each member ranges from 6 to 10 years. The agile team contains 3 to 4 developers,
1 tester, 1 technical lead, 1 scrum master and 1 product owner.
The Scrum master and Product owner are considered as a part of Team Interface, on the other
hand remaining members are the part of Technical Interface.
Question:- How an Agile Team plan their work?
Answer-----> The user requirement defines the requirements of the user in terms of functionalities.
There may be of two type of functionality.
o As a <User Role> I want <Functionality> so that <Business Value>
o In order to <Business value> as a <User Role> I want <Functionality>.
During software release planning, a rough estimate is given to a user requirement using relative
scale points. During iteration planning, the requirement is broken down into tasks.
Question :- Discuss the Compression between the Agile methodology and Waterfall
model:?
Answer---->
Agile methodology Waterfall model
It follows the incremental approach. It is a sequential design process.
It divides the project development lifecycle into a The software development process is
sprint. divided into distinct phases.
Agile methodology is a flexible methodology. The Waterfall is a structured software
development methodology.
Agile is the collection of many different projects. It is completed as one single project.
The test plan is reviewed after each sprint Test plan is reviewed after complete
development.
Testing team can take part in the requirements It is difficult for the test to initiate any
change phase without problems. change in needs.
Question :- What is Agile Manifesto?
Answer----> In February 2001, at the Snowbird resort in Utah, a team of 17 software developers
met to discuss lightweight development methods. The result of their meeting was the following
Agile Manifesto for software development:-
We are uncovering the better ways of developing software by doing it and helping others to do it.
Through this meeting, we have come to value -
o Individuals and interactions over Processes and tools.
o Working software over comprehensive documentation.
o Customers are collaboration over contact negotiation.
o Responding to change over following a plan.
So that, while there is value in the items on the right, we value the items on the left more.
Relative Estimation
Several agile development teams use the practice of relative estimation for features to accelerate
planning. It removes unnecessary complexity. The development team selects a few (3-5) relative
estimation categories, or buckets, and estimates all features in terms of these categories.
The concept of relative estimation or/and predefined estimation buckets that prevent the team
from wasting time on debating. When the product feature exceeds an agreed maximum estimate,
then it should be further broken down into multiple features.
Continuous Improvement
Continuous testing and constant improvement are correlated with each other. While continuous
testing, if we found any bugs or project failure, we continuously improve that bugs immediately.
We continuously refine both the project and the system. Small, Cross-functional Teams
The incremental software product is delivered at every iteration. The development teams must
also be cross-functional to be successful in developing the valuable software.
KMAgile
Agile in the KM context means rapid implementation and results, being adaptive to culture,
context, and the business environment, and focused on changing knowledge sharing mindsets
and behaviors. In our Agile approach to KM, business strategy and operational requirements
continuously and iteratively inform and evolve KM efforts to deploy knowledge capabilities faster
with meaningful results. Whether developing and then implanting new concepts, strategies, and
implementing practices, or focusing on existing KM strategies to renew or revitalize them,
improved performance and an appreciation of KM is integrated as part of the way work gets
done. Agility in sharing and transferring knowledge emerges as an iterative outcome of the
application of proven KM practices in and as part of the work environment.
In the KMAgile approach to assessment, design and development of a flexible KM strategy is
accomplished in the background while proven KM techniques are applied to existing business
challenges through short, quick win pilot projects. The results and key learnings from the KM pilots
are then quickly and iteratively combined with proven KM practices to produce a “fit for purpose”
KM strategy and roadmap to guide ongoing implementation.
Within just 12 weeks, individuals, teams and leaders participating in this effort discover new
possibilities, begin to shift their mindsets, and directly experience the business impact of new
capabilities for sharing and transferring their knowledge.
Figure 1
In Sprint 1, key stakeholders and pivotal work teams are engaged to create new possibilities
about how KM can impact their individual, team and organizational performance and gain their
commitment to
In Sprint 2, work teams are trained in simple, proven KM practices which are applied to the
handful of quick win opportunities in specific work operations.
In Sprint 3, Retrospects generate and capture the key learnings and advice from the quick wins
planned and delivered in the previous sprints. This re-usable, internal knowledge is made sense of
and characterized for reuse in the context of operations.
Question :- What is Agile Scale?
Answer----> In an Agile methodology, there are two popular frameworks- scrum and kanban. A
team level uses scrum and kanban as a framework. As their popularity increases, the industries
start to scale agile to suit larger organizations. There are two popular methods emerge to facilitate,
these are a scrum of scrums, and the Scaled Agile Framework (SAFe). The scrum and kanban
are high starting points for scaling agile within an organization.
Answer-----> It is the most attractive, agile framework for individual teams. When several scrum
team works together on a big project, the scrum of scrums is the next step for scaling agile. The
most crucial component of the scrum of scrums is a multi-team stand-up. It is a small meeting for
scrum masters to talk about the agile process.
Select a member from each team to get a start, and each team represents them at the scrum of
scrums, admirably someone in a technical role. It is a domestic meeting where the scrum master
helps to facilitate the stand-up, but it is run just like any other team stand-up.
Answer----> Scaled Agile Framework (SAFe) is another way to scale agile in large organizations.
According to the Pioneered by Dean Leffingwell, it takes the most structured approach to scale
agile than scrum of scrums. It describes three levels in the organization: portfolio, program, and
team. Such structure typically appeals to larger organizations, because Scaled Agile Framework
(SAFe) employs a tiered approach for the delivery of work.
The large area of SAFe is related to work, called themes, map to business epics, and architectural
stories.
Answer-----> The primary purpose of release planning is to make a plan to deliver an increment to
the product. It is done in the interval of every 2 to 3 months.
Answer---> Following person are involved in product releasing plan- Scrum Master, Product
Owner, Agile Development Team, Stakeholders.
o Scrum Master: The Scrum Master is a team leader and facility provider who helps the
team member to follow agile practices so that they can meet their commitments and
customers requirements.
o Product Owner: The Product Owner is one who runs the product from a business
perspective. He defines the requirements and prioritizes their values.
o Agile Development Team: Agile development team provides the judgment on the
technical feasibilities or any dependencies.
o Stakeholders: Stakeholders are the customers, subject matter, program manager act as
advisers in decisions which are made around the release planning.
Material Required:
The list of materials that is required for the releasing planning is as follows:
o Flip charts, markers, whiteboards/li>
o Posted agenda, purpose/li>
o Projector for sharing the data/tools of computers required during a planning meeting/li>
o Planning data
Planning Data:
The list of data needed during release planning are as follow:
o Previous iteration data or release planning requests
o Actions plans of previous release/iteration
o Features or defects to be considered
o Organizational and personal calendars
o Velocity from previous releases/ estimates
Output:
Following are the output of a release planning:
o Release plan
o Commitment
o Issues, dependencies, concerns, and assumptions which are to be monitored
o It suggests improving future release planning
Planning Agenda
Answer----> The primary purpose of iteration planning is for the team. The team should be a
complete set of the top-ranked product backlog items. The completion of top ranked product
backlog is a commitment in the time needed on the length of iteration and team velocity.
Question :- Who involved in the iteration planning?
Answer---->
Scrum Master: The Scrum Master is a team leader and facility provider. He helps the team
member to follow agile practices so that they can meet their commitments and customers
requirements.
Product Owner: The Product Owner deals with a complete view of the product backlog and their
acceptance criteria.
Agile Development Team: Agile delivery defines their tasks and sets the effort. The effort is to
estimate the requirements to fulfill the commitment.
Planning Process
Iteration planning involved the following steps:
o Determines how many requirements (stories) are fit in an iteration.
o Break this requirement into tasks. Assign each task to their owners.
o Each task is set to some estimated time.
o These estimates help the team members to check how many hours for each member will
be required to iterate.
o Team members are assigned tasks by seeing their velocity or capacity. Due to this, the
team member is not overburdened.
Velocity Calculation
The agile team calculates the velocity based on the previous iterations. A velocity is an average
number of units that required finishing user stories in the iteration. Assume that, a team took
10,12,8 story points in each iteration for the previous three iterations, this shows that the team can
take 10 as velocity for the next iteration.
Planned velocity tells the team how many user requirements can be completed in the current
iteration. If the team instantly finishes the work assigned, then more user requirements can be
pulled in. Otherwise, the requirement can be moved out too to the next iteration.
Task capacity
Three factors determine the capacity of the team:
o Total number of ideal working hours in a day
o A person gives total days in each iteration
o Percentage of time a member is entirely available for the team.
Considered a team has 6 members, committed to work full time of 8 hours a day on a project. And
no member is on leave during iteration, and then the task capacity for two-week iteration will be-
6 x 8 x 10 = 480 hours
Answer----> The agile product backlog in Scrum is a list of prioritized features. It contains a short
description of all the functionalities desired in the product. In usual scenario, items should be
broken down into user stories. Commonly, a Scrum team and its product owner write everything
that they can think for agile backlog prioritization.
Answer----> Each product should have its own product backlog. It can be a set of large to very
large features.
Multiple team members can work on a single product backlog.
Ranking of product is based on the technical value, business value, risk management, or strategic
fitness.
Highest priorities items are decomposed into smaller stories during release planning. This is
because they can be completed in future iterations.
Question:- What are the Product Backlog comprises the following different types
of items:?
Answer---->
o Features
o Bugs
o Technical work
o Knowledge acquisition
Question :- What is Agile Tools?
Answer----> In agile development, leading as project management is not the easiest job. Jumping
between your daily scrums to your next sprint, it causes hard to focus on the work. The agile
development tools fulfill your needs, and does it for you.
There are several agile tools available in the market. Some of them are listed below:
Jira is a tool developed by Australian Company Atlassian. It is used for issue tracking, bug
tracking, and project management. The bugs and issues are related to your software and
Mobile apps. The Jira dashboard consists of many useful functions and features. This function and
features make secure handling of issues.
Agile Software Features:
o Issue tracking
o Bug tracking
o Boards
o Epics
o Custom fields
Question :- What is ClickUp?
Answer---->
ClickUp is one of the ultimate agile management tools. It is used for anyone who uses agile
methodology. It is the only project management tool whose goal is "to move quickly and easily".
CuickUp is in the hand of some of the most famous agile team, including Google and Apple! It is
a free forever plan, so, the team can get their hand of ClickUp.
Agile Software Features:
o Create epics
o Use story points
o Analyze sprint performance
o Time estimates
o Start and due dates
o Time tracking
Github
Github is one of the largest hosted Git serve where the developers can store all of their codes for
a vast number of projects there. The Github provides such a facility of record edits across an
entire team in real time.
Github is also integrated with many other tools so, many people such as developer and product
owner can work on the same code at the same time.
The project manager can make the Github work for their team. It includes lots of project
management tools which help him to inspect what the development team is working on.
Planbox is a tool that tracks the process of burndown charts. Using this everyone knows how far
you are from the Sprint?s completion/goal. Burndown charts are most important part of the agile
cycle. Planbox also integrates the customer bug reports, and fixes, making it useful for a wide
range of users.
It has an advance reporting features which make it easy to review the status and areas where
improvement is needed at Daily Scrum.
Question :- Discuss the Agile Testing?
Answer----> Agile Development is team-centric and developers and testers take part in all the
project and development activities. The Teamwork maximizes success of testing in Agile projects.
A Tester in Agile team has to participate and contribute to all the project activities and at the same
time has to leverage the expertise in testing.
An Agile tester should have traditional testing skills. In addition, Agile tester needs −
• Good interpersonal skills.
• Ability to act positive and solution-oriented with team members and stakeholders.
• Ability to display critical, quality-oriented, skeptical thinking about the product.
• Aptitude to be pro-active to actively acquire information from the stakeholders.
• Skills to work effectively with customers and stakeholders in defining testable User Stories,
the Acceptance Criteria.
• Talent to be a good team member working with developers in producing quality code.
• Usability of testing skills to have the right test cases at the right time and at the right level
and executing them well within the duration of the sprint.
• Ability to evaluate and report test results, test progress and the product quality.
• Openness to respond to changes quickly, including changing, adding or improving test
cases.
• Potential to self-organize work.
• Enthusiasm to continuous skill growth.
• Competency in Test Automation, Test-driven Development (TDD), Acceptance Test-driven
Development (ATDD), Behavior Driven Development (BDD) and experience based Testing.
Answer----> Tester in Agile Team participates in all the project and development activities to
contribute the best of the testing expertise.
Agile Tester Activities include −
• Ensuring proper use of testing tools.
• Configuring, using and managing the test environments and the test data.
• Mentoring other team members in relevant aspects of testing.
• Ensuring that appropriate testing tasks are scheduled during the release and sprint
planning.
• Understanding, implementing and updating test strategy.
• Collaborating with developers, customer and stakeholders in clarifying requirements, in
terms of testability, consistency and completeness.
• Performing the right tests at the right time and at right test levels.
• Reporting defects and working with the team in resolving them.
• Measuring and reporting test coverage across all applicable coverage dimensions.
• Participating in sprint retrospectives, proactively suggesting and implementing
improvements.
Answer----> Test Planning should start during the release planning and update during each sprint.
Test planning should cover the following tasks −
• Defining test scope, extent of testing, test and sprint goals.
• Deciding on the test environment, test tools, test data and configurations.
• Assigning testing of features and characteristics.
• Scheduling test tasks and defining frequency of tests.
• Identifying test methods, techniques, tools and test data.
• Ascertaining prerequisites such as predecessor tasks, expertise and training.
• Identifying dependencies such as functions, code, system components, vendor, technology,
tools, activities, tasks, teams, test types, test levels and constraints.
• Setting priorities considering the customer/user importance and dependencies.
• Arriving at the time duration and effort required to test.
• Identifying tasks at each sprint planning.
Answer----> Sprint Zero involves preparation activities before the first sprint. A tester needs to
collaborate with the team on the following activities −
• Identifying scope
• Dividing user stories into sprints
• Creating system architecture
• Planning, acquiring and installing tools (including testing tools)
• Creating the initial test strategy for all the test levels
• Defining test metrics
• Specifying the acceptance criteria, also called the definition of “Done”
• Defining exit criteria
• Creating Scrum board
• Setting the direction for testing throughout the sprints
Answer----> In Agile, a quality working product should be ready for release at any point of time in
the development lifecycle. This implies continuous integration as a part of development. An Agile
tester needs to support continuous integration with continuous testing.
To accomplish this, a tester needs to −
• Understand the integration strategy.
• Identify all dependencies between functions and features.
• Pairing − Two team members work together at the same keyboard. As one of them tests,
the other reviews/analyzes testing. The two team members can be
o One tester and one developer
o One tester and one business analyst
o Two testers
• Incremental Test Design − Test cases are built from user stories, starting with simple tests
and moving to more complex tests.
• Mind Mapping − A mind map is a diagram to organize the information visually. Mind
mapping can be used as an effective tool in Agile testing, using which information regarding
the necessary test sessions, test strategies and test data can be organized.
UNIT – 5
Test Progress also has a direct impact on development progress. This is because a User Story
can be moved to Done status only after the Acceptance Criteria is reached. This, in turn, is
decided by Test Status as the Acceptance Criteria is judged by a Test Status.
If there are any delays or blockages in test progress, the entire team discusses and works
collaboratively to resolve the same.
In Agile Projects, changes take place quite often. When many changes take place, we can expect
that the Test Status, Test Progress and Product Quality to evolve constantly.
The Agile testers need to get that information to the team so that the appropriate decisions can be
made at the right time to stay on track for successful completion of each iteration.
When changes happen, they can affect existing features from previous iterations. In such cases,
manual and automated tests must be updated to deal effectively with regression risk. Regression
testing is also needed.
To secure overall product quality, the Agile team needs to obtain customer feedback on whether
the product meets customer expectations. This needs to be carried out at the end of each
iteration, and the feedback will be an input for subsequent iterations.
Answer----> In Agile projects, quality products can be delivered if Agile testing is successful.
The following points need to be considered for the success of Agile testing −
• Agile testing is based on test first and continuous testing approaches. Hence, the traditional
testing tools, which are built on test-last approach, may not be suitable. Hence, while
choosing the Testing Tools in Agile projects, the alignment to Agile testing needs to be
verified.
• Reduce total testing time by automating tests earlier in the development lifecycle.
• Agile testers need to maintain their pace to align to the development release schedule.
Hence, proper planning, tracking, and re-planning of the testing activities need to be done
on the fly with product quality as the goal.
• Manual testing accounts to 80% of the testing in the projects. Hence, testers with expertise
are need to be part of the Agile team.
• Participation of these testers with expertise throughout the development lifecycle makes the
entire team focus on quality product meeting customer expectations.
o Defining user stories emphasizing product behavior expected by the end users.
o Identifying Acceptance Criteria at user story level / task level as per customer
expectations.
o Effort and duration estimation for testing activities.
o Planning testing activities.
o Aligning with the development team to ensure production of code that meets the
requirements with an upfront test design.
o Test first and continuous testing to ensure that done status is reached meeting the
acceptance criteria at the expected time.
o Ensuring testing at all levels within the sprint.
o Regression testing at the end of each sprint.
o Collecting and analyzing product metrics that are useful for the success of the
project.
o Analyzing defects to identify which need to be fixed in the current Sprint and which
can be delayed to subsequent Sprints.
o Focusing on what is important from the Customer’s point of view.
Lisa Crispin has defined seven key Factors for Agile Testing Success −
• Whole Team approach − In this kind of approach, the developers train the testers and the
testers train other team members. This helps everyone to understand every task in the
project, thereby collaboration and contribution will have maximum benefit. Collaboration of
testers with customers is also an important factor to set their expectations right at the
beginning and translating the acceptance criteria to the required to pass the test.
• Agile Testing Mindset − The testers are proactive in continually improving the quality and
collaborating constantly with the rest of the team.
• Automate Regression Testing − Design for testability and drive development with tests.
Start simple and allow the team to choose the tools. Be ready to provide advice.
• Provide and Obtain Feedback − As this is a core Agile value, the entire team should be
open for feedback. As the testers are expert feedback providers, need to focus on relevant
and necessary information. In return, on obtaining feedback should accommodate test case
changes and testing.
• Build a Foundation of Core Agile Practices − Focus on testing alongside coding,
continuous integration, collaborative test environments, working incrementally, acceptance
for changes, maintaining synergy.
• Collaborate with Customers − Elicit examples, understanding, and checking the
requirements mapping to the product behavior, setting up Acceptance Criteria, obtaining
feedback.
• Look at the Big Picture − Drive development with business-facing tests and examples
using real world test data and thinking about impacts on other areas.
• Verification only (Critique Product) − Critique Product Tests are used for discovering
inadequacies in the finished Product
Answer-----> Combining the two aspects of Testing Types, the following Agile Testing
Quadrants are derived by Brian Marick −
The Agile Testing Quadrants provide a helpful taxonomy to help teams identify, plan and execute
the testing needed.
• Quadrant Q1 − Unit Level, Technology Facing, and supports the developers. Unit tests
belong to this Quadrant. These tests can be Automated tests.
• Quadrant Q2 − System level, business facing, and conform product behavior. Functional
tests belong to this quadrant. These tests are either manual or automated.
• Quadrant Q3 − System or User Acceptance Level, Business Facing and focus on real time
scenarios. User Acceptance Tests belong to this quadrant. These tests are manual.
• Quadrant Q4 − System or Operational Acceptance Level, Technology Facing and Focus
on Performance, Load, Stress, Maintainability, Scalability Tests. Special tools can be used
for these tests along with automation testing.
Combining these, the Agile Testing Quadrants that reflect What-Testing-When can be
visualized as follows −
Answer----> Test Plan is prepared at the time of Release Planning and is revised at every Sprint
Planning. Test Plan acts as a guide to the testing process in order to have the complete test
coverage.
Answer----> Agile Testing activities can be managed effectively using Kanban concepts. The
following ensure testing to be completed in time within an iteration / sprint and thus focus on the
delivery of quality product.
• User Stories that are testable and effectively sized result in development and testing within
the specified time limits.
• WIP (Work-In-Progress) limit allows to focus on a limited number of user stories at a time.
• Kanban board that represents the workflow visually, helps to track the testing activities and
bottlenecks, if any.
• Kanban team collaboration concept lets resolution of bottlenecks as they are identified,
without wait time.
• Preparation of Test Cases upfront, maintaining the test suite as the development
progresses and obtaining Customer Feedback helps in eliminating Defects within the
iteration / sprint.
• Definition of Done (DoD) is said to be Done-Done in the sense that a Story reaches a
completion state only after the testing is also complete.
Answer----> In Product development, the releases can be tracked with feature Kanban board.
Features for a particular release are assigned to the Feature Kanban board that tracks the feature
development status visually.
The Features in a release are broken into stories and developed within the release using agile
approach.
The following Agile Testing activities ensure quality delivery in every release and at the end of all
releases as well −
• Testers participate in User Story Creation and thus ensure –
o All the possible Behaviors of the System are captured by means of User Stories and
the Non-functional Requirements that are part of the User Stories.
o User Stories are Testable.
o Size of the User Stories allow Development and Testing to be complete (DoneDone)
within the Iteration.
Answer----> Story Exploration is the communication within an Agile team to explore Story
understanding when the product owner passes a story for acceptance for development.
The product owner comes up with the story based on the functionality expected by the system.
The developers do more exploring on each story before they mark it ready for acceptance. Testers
also participate in the communication from testing perspective to make it as testable as possible.
Finalization of the Story is based on constant and continuous communication among the Product
Owner, Developers and Testers.
Estimation
Estimation happens in Release Planning and each Iteration Planning.
In Release Planning, the testers provide −
• Information on what testing activities are required
• Effort Estimation for the same
In Iteration planning, the testers contribute to deciding on what and how many stories can be
included in an iteration. The decision depends on the Test Effort and Test Schedule Estimation.
The Story Estimation reflects the test estimation as well.
In Kanban, Done-Done is accomplished only when a story is developed and tested and marked as
complete without defects.
Hence, Test Estimation plays a major Role in story estimation.
Answer---> Story Planning begins after a Story has been estimated and assigned to current
Iteration.
Story Planning includes the following test tasks −
• Prepare Test Data
• Extend Acceptance Tests
• Execute Manual Tests
• Conduct Exploratory Testing sessions
• Automate Continuous Integration Tests
In addition to these Testing Tasks, other tasks also may be required, such as −
• Performance Testing
• Regression Testing
• Updates of related Continuous Integration Tests
Question :- What is Story Progression?
Answer----> Story Progression uncovers additional tests that are required resulted by continuous
communication between the developers and testers. In situations where the developers need
more clarity on implementation, testers perform exploratory testing.
Continuous Testing is performed during Story Progression and includes Continuous Integration
Testing. The entire team participates in the testing activities.
Answer----> Story Acceptance occurs when the story reaches the Done-Done state. i.e., the story
is developed and tested and signaled as complete.
Story testing is said to be completed when all the tests relevant to the story pass or level of test
automation is met.
Answer----> Agile Definition of done is defined into three different stages called User Story
(Requirement), Iteration, and product Release. These are given below:
Answer----> A user story is a requirement which is formulated into few sentences. The user
requirement is the everyday language of user. This user story should be completed within
iteration. The user story is done when
o All the related code and documentation have been checked-in.
o The product passed all the processes of unit test.
o All the processes of the acceptance test case have been moved.
o The product owner must have accepted the story.
o The help text (documentation) is written.
Answer---->The product release is a major occasion that represents an internal and external
delivery of work. It also tests the version of the product or system.
The product release is done when:
o The system is stress tested.
o Performance is high.
o Contain the security validation in the product.
o Disaster recovery plan is tested.
IMPORTANT QUESTIONS AND ANSWERS
Answer----> Agile manifesto uncovers the better way of developing software by doing it and
helping others to do it. Agile has 4 manifesto and 12 principles which defines:
o Individuals and interactions, i.e., self-motivating and self-organized should be encouraged.
o Demonstrate the working software at regular intervals with comprehensive documentation.
o Customers are collaboration over contact negotiation.
o Responding to change over following a plan.
3. Deliver the Working Software: Deliver the working software frequently, ranging from a few
weeks to a few months with considering the shortest period.
Answer---> The burn-up chart depicts the amount of work done in the project, whereas the burn-
down chart illustrates the amount of work remaining in the project. Thus, the burn-up and burn-
down are used to describe the progress report of the project.
Answer----> The daily stand-up is the day-to-day meeting (mostly in the morning) in which the
whole team meets around 15 minutes to find the answer for the following three questions:
o What was done yesterday?
o What is your plan for today?
o Is there any obstacle that restricts you to complete your task?
Answer----> There are three different roles in scrum. These are the Scrum Master, Product
Owner, Agile Development Team:
o Scrum Master: The Scrum Master is a team leader and facility provider who help the team
member to follow agile practices so that they can meet their commitments and customers
requirements.
o Product Owner: The Product Owner is one who runs the product from a business
perspective. He defines the requirements and prioritizes their values.
o Agile Development Team: Agile development team provides the judgment on the
technical feasibilities or any dependencies.
Question:- 10) What are different ceremonies and their importance in Scrum?
Answer----> To clearly express the Scrum planning, Scrum review, Scrum Daily stand up, and
scrum retrospective is the purpose of the ceremony. The importance of these ceremonies is to use
sprint as per your project.
Question:- 11) What do you know about Scrum ban?
Answer---> Scrum-ban is a Scrum and Kanban-based model for software development. This
model is used in the project that needs continuous maintenance, various programming error, or
some sudden changes.
Answer----> The agile testing is the software testing process which is fully based on the principle
of agile software development. It is the iterative approach where the user story becomes the
output of the collaboration between the product owner and the development team.
Answer----> The agile tester is one who implements the principle of agile software development
principles for software testing. An excellent agile tester has the following skills:
o He must be familiar with the principles and concept of agile.
o He must be excellent communication skill to communicate with the team and the clients.
o He can set the priority of a task according to customer requirements.
o He should able to understand the customer requirement properly.
o He should understand the project risk due to changing demand.
Question:- 16) Is it ever suggested to use waterfall over Scrum? If yes, explain when.?
Answer----> Yes, sometimes we use waterfall module over scrum. This is because when the client
requirement is simple, small, well-defined, fully understood, predictable, and the subject does not
change until the project complete.
Question:- 17) Name some methodologies and development where you have used the agile
model.?
Answer----> While answering this type of question, keep in mind to mention those methodologies
from which you are familiar whit.
Some of the methodologies where agile is used are:
o Crystal methodologies
o Lean software development
o Dynamic development
o Feature-driven development
Question:- 19) What is the difference between the agile & traditional way of working?
Answer-----> The traditional way of development is that which follow the sequential where design -
> development -> testing etc. is performed whereas, in agile development, all of this is done in
every iteration/sprint.
Question :- 20) Why does Scrum encourage the use of automated testing for projects?
Answer----> Due to faster possible delivery of the project, the Scrum development encourages to
use automated (automated performance or automated regression) testing. While answering this
question, you should explain some tools that you have used for automated testing.