0% found this document useful (0 votes)
46 views11 pages

Agile Unit - 5

The document discusses agile product development and describes its key principles and practices. It outlines the vision and planning, backlog creation, iterative development, continuous feedback, and incremental delivery processes. It also discusses feature driven development and some common agile metrics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views11 pages

Agile Unit - 5

The document discusses agile product development and describes its key principles and practices. It outlines the vision and planning, backlog creation, iterative development, continuous feedback, and incremental delivery processes. It also discusses feature driven development and some common agile metrics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

5.

1 Agile Product Development

1. Vision and Planning:

● Define Vision: Establish a clear vision for the product, outlining its purpose,
target audience, and goals.

/
● Product Roadmap: Develop a high-level product roadmap, outlining key features

om
and milestones.
● Example: Suppose a software company wants to develop a project management

.c
tool. The vision might be to create a user-friendly platform that streamlines

ot
project collaboration and tracking.

sp
2. Backlog Creation:

og
● User Stories: Break down the product features into user stories, representing
end-user requirements from a user's perspective.
bl
● Prioritization: Prioritize user stories based on customer value, business goals,
s.
and dependencies.
nv

● Example: User stories for the project management tool could include "As a
project manager, I want to create tasks and assign them to team members" or
ar

"As a team member, I want to track my tasks and progress."


um

3. Iterative Development:
yk

● Sprints: Divide the development process into fixed-length iterations or sprints


(typically 1-4 weeks).
ija

● Development: Development teams work on implementing user stories selected


from the backlog during each sprint.
//v

● Example: In the first sprint of the project management tool, the team may focus
s:

on implementing basic task creation and assignment functionality.


tp

4. Continuous Feedback and Iteration:


ht

● Sprint Review: Conduct a sprint review at the end of each iteration to


demonstrate completed work to stakeholders and gather feedback.
● Retrospective: Hold a sprint retrospective to reflect on the sprint process, identify
areas for improvement, and make adjustments.
● Example: During the sprint review for the project management tool, stakeholders
provide feedback on the task creation feature, suggesting improvements such as
adding priority levels or due dates.

5. Incremental Delivery:

● Product Increment: Each sprint delivers a potentially shippable product


increment, adding new features or enhancing existing ones.

/
om
● Continuous Integration: Integrate and test new functionality continuously
throughout the development process.
● Example: At the end of the second sprint, the project management tool may

.c
include additional features such as task prioritization and deadline tracking.

ot
sp
6. Adaptation and Evolution:

og
● Flexibility: Embrace change and adapt the product roadmap and backlog based
on customer feedback and evolving market needs.

bl
● Continuous Improvement: Continuously refine and optimize the development
process based on lessons learned and feedback.
s.
● Example: Based on user feedback and market trends, the project management
nv

tool may evolve to include features like file attachments, real-time collaboration,
and reporting capabilities over subsequent sprints.
ar
um

By following this agile product development process, teams can deliver valuable
products that meet customer needs while remaining responsive to changes and
delivering business value iteratively.
yk
ija

5.2 Feature Driven Development (FDD).


//v

Feature Driven Development (FDD) is an iterative and incremental software development


s:

methodology. Here are the eight practices within FDD, along with an example of its life
tp

cycle:
ht

Eight Practices of Feature Driven Development (FDD):


​ Develop an Overall Model:
● Objective: Develop an initial object model of the system.
● Example: In building a payroll system, start with an object model representing
employees, salaries, and tax calculations.
​ Build Features Incrementally:
● Objective: Develop features in small, manageable increments.
● Example: Implement payroll features incrementally, starting with basic salary

/
calculations and gradually adding tax calculations and deductions.

om
​ Feature List Creation:

.c
● Objective: Create a comprehensive list of features to be implemented.

ot
● Example: Compile a feature list for the payroll system, including basic

sp
functionalities like employee data input, salary calculation, and advanced features
like tax optimization.

og

​ Plan by Feature: bl
s.
● Objective: Plan and organize development tasks based on features.
nv

● Example: Organize sprints or iterations around specific features, allocating


ar

resources and timelines accordingly.


um

​ Design by Feature:
● Objective: Design and develop features collaboratively.
yk

● Example: Collaboratively design the user interface and functionality for each
ija

feature in the payroll system.


//v

​ Build by Feature:
s:

● Objective: Develop and implement features according to the design.


tp

● Example: Program and code each feature, ensuring adherence to the design
ht

specifications.
​ Regular Builds:
● Objective: Ensure regular integration and testing of developed features.
● Example: Conduct continuous integration and testing after the completion of
each feature to detect and resolve issues promptly.
​ Inspections:
● Objective: Review and assess the progress of features regularly.
● Example: Conduct peer reviews or inspections to ensure quality and
adherence to standards for each implemented feature.

Feature Driven Development Life Cycle:

/
om
​ Domain Walkthrough: Understand the project scope and define the domain model.

.c
​ Develop Overall Model: Create an object model that represents the system's initial state.

ot
​ Feature List Creation: Identify and list features to be implemented.

sp
​ Plan by Feature: Plan development cycles based on features.

og
​ Design by Feature: Collaboratively design the features.
​ Build by Feature: Develop and implement features.
​ bl
Regular Builds and Testing: Integrate and test features regularly.
s.
​ Client Sign-Off: Obtain client approval for completed features.
nv

​ Iterate and Refine: Iterate through the steps for subsequent features.
ar
um
yk
ija
//v
s:
tp
ht
5.3 Agile Metrics:
​ Ratio of Successful Sprints: This metric measures the percentage of sprints
completed successfully without major issues. It reflects the team's ability to
consistently deliver on commitments.
● Example: If a team completes 8 out of 10 sprints without significant
issues, the ratio of successful sprints would be 80%.

/
​ Velocity: Velocity measures the amount of work completed by the team in each

om
sprint. It provides insight into the team's productivity and helps in predicting
future delivery.

.c
● Example: If a team consistently completes an average of 20 story points

ot
per sprint, their velocity is 20 story points per sprint.

sp
Lean Metrics:

og
​ Focus Factor: The focus factor measures the percentage of time team members

bl
spend on value-adding activities compared to non-value-adding activities. It
reflects the efficiency of the team's workflow.
s.
● Example: If team members spend 80% of their time on coding and testing
nv

(value-adding activities) and 20% on meetings and administrative tasks


(non-value-adding activities), the focus factor is 80%.
ar
um

Kanban Metrics:
yk

​ Estimation Accuracy: Estimation accuracy measures how closely the actual


completion time matches the estimated time for tasks or user stories. It helps in
ija

improving future estimations and planning.


● Example: If a team estimates a task to take 8 hours and it actually takes
//v

10 hours to complete, the estimation accuracy is 80%.


s:

​ Sprint Burndown: Sprint burndown charts track the progress of work throughout
a sprint, showing how much work remains to be completed. It helps in visualizing
tp

and managing work in progress.


ht

● Example: A sprint burndown chart displays the remaining effort (in story
points or hours) plotted against time throughout the sprint duration.

Scrum Metrics:
​ Defect Count: Defect count measures the number of defects identified during
testing or after deployment. It helps in identifying areas for improvement in the
development process.
● Example: If a team discovers 10 defects during a sprint, the defect count
for that sprint is 10.
​ Severity of Defects: Severity categorizes defects based on their impact on the
system or user experience, ranging from minor issues to critical failures.

/
● Example: Defects may be classified as low severity (cosmetic issues),

om
medium severity (functional issues affecting usability), or high severity
(critical failures impacting functionality).

.c
ot
By tracking these metrics, Agile teams can gain insights into their performance, identify
areas for improvement, and make data-driven decisions to optimize their processes and

sp
deliver value to customers efficiently.

og
5.4 Financial and production Metrics in FDD
bl
s.
Financial Metrics:
nv

​ Inventory in FDD: Inventory refers to the cost associated with work in progress
ar

(WIP) items, such as unfinished features or tasks. It includes the expenses


incurred for resources allocated but not yet completed.
um

​ Investment in FDD: Investment measures the financial resources allocated to the


development of features and projects. It includes costs related to human
yk

​ resources, tools, infrastructure, and other project expenses.


ija

Conveying
//v

​ Operating Expense in FDD: Operating expense (OE) represents the ongoing costs
s:

incurred by the project, such as salaries, utilities, rent, and other administrative
expenses necessary for day-to-day operations.
tp

​ Throughput in FDD: Throughput measures the rate at which features or tasks are
ht

completed and delivered to customers. It reflects the efficiency of the


development process in delivering value.
​ Value-Added in FDD: Value-added activities are those that directly contribute to
meeting customer requirements and adding value to the product. It includes
activities such as feature development, testing, and implementation.
​ Return on Investment in FDD: Return on Investment (ROI) calculates the ratio of
the net benefits gained from the project to the total investment made. It helps in
assessing the profitability and effectiveness of the project.
​ Accounting for Change: This metric involves tracking the cost and impact of
changes requested during the development process. It includes the expenses
associated with implementing changes and any resulting delays or rework.
​ Accounting for Rework: Rework refers to the effort required to correct defects or

/
make changes to existing features. Accounting for rework involves quantifying

om
the time and resources spent on rework activities and identifying opportunities to
minimize rework in the future.

.c
​ Avoid Double Counting: This principle emphasizes the importance of accurately

ot
tracking and accounting for project expenses to avoid counting the same costs
multiple times, which can lead to inaccurate financial reporting.

sp
Production Metrics:

og
bl
s.
nv
ar
um
yk
ija
//v
s:
tp
ht
mating OE for an FDD Project: Estimating operating expenses involves forecasting the

/
om
ongoing costs required to support the FDD project, including salaries, equipment, and
other resources.

.c
ot
​ The Modeling Rule of Thumb: The modeling rule of thumb suggests using
simplified models or heuristics to estimate project parameters such as effort,

sp
duration, and cost based on past experience or industry standards.

og
​ Level of Effort Estimation in FDD: Level of effort estimation involves estimating
the amount of time and resources required to complete specific tasks or

​ bl
features. It helps in planning and allocating resources effectively.
The 5-Point Scale with Example: The 5-point scale is a method for estimating the
s.
level of effort or complexity of tasks or features, typically ranging from very low
nv

to very high. It provides a simple way to assess and prioritize work based on
relative effort required.
ar
um

By monitoring and analyzing these financial and production metrics, FDD teams can
gain insights into project performance, identify areas for improvement, and make
informed decisions to optimize resource allocation and maximize value delivery.
yk
ija
//v

5.5 Agile Approach to Quality Assurance


s:

The Agile approach to quality assurance emphasizes several key principles and
tp

practices to ensure high-quality software development. Let's break down each of these
points:
ht

​ Focus on User Experience: Agile teams prioritize delivering features that meet
user needs and enhance the overall user experience. User feedback is
continuously sought and incorporated into the development process to ensure
the final product meets user expectations.
​ Automation and Continuous Integration: Automation is leveraged for repetitive
tasks such as testing, deployment, and integration. Continuous Integration (CI)
ensures that changes made by developers are regularly integrated into the main
codebase, helping to identify and address issues early in the development cycle.
​ Test Coverage and Code Coverage: Test coverage measures the extent to which
software code is tested by automated tests. Code coverage measures the
percentage of code lines executed during testing. Agile teams aim for high test

/
coverage and code coverage to ensure comprehensive testing and identify areas

om
of the codebase that require additional testing.
​ Smart Testing: Agile teams focus on smart testing practices, which involve

.c
prioritizing tests based on risk and impact. Tests are designed to cover critical

ot
functionality and potential failure points first, ensuring that limited testing
resources are allocated effectively.

sp
​ Shift-Left Approach: The shift-left approach involves moving testing activities
earlier in the development process, starting from the initial stages of design and

og
development. By detecting and addressing defects early, teams can prevent

bl
issues from propagating further downstream and reduce the cost of fixing
defects.
s.
​ Bug Prevention: Agile teams prioritize proactive measures to prevent bugs from
nv

occurring in the first place. This includes conducting thorough code reviews,
adhering to coding standards and best practices, and implementing automated
ar

static code analysis tools to identify potential issues.


um

​ Risk Analysis: Agile teams conduct risk analysis to identify potential risks and
uncertainties that may impact the project's success. Risks are assessed based
on their likelihood and impact, and mitigation strategies are developed to address
yk

them proactively.
ija

​ Teamwork: Agile emphasizes collaboration and teamwork among


cross-functional team members, including developers, testers, designers, and
//v

product owners. By working together closely, team members can share


knowledge, skills, and perspectives to deliver high-quality software.
s:

​ Automate When Feasible: Automation is prioritized for repetitive and


tp

time-consuming tasks to improve efficiency and consistency. This includes


ht

automating tests, builds, deployments, and other development activities


wherever feasible.

By embracing these Agile principles and practices, teams can ensure that quality is built
into the software development process from the outset, resulting in faster delivery of
high-quality software that meets user needs and expectations.
5.6 Test Driven Development

5.7 Agile Approach in Global Software Development


agile approach in global software development and how it addresses various aspects of

/
distributed agile teams:

om
​ Communication in Distributed Agile Teams:

.c
● Agile methodologies emphasize frequent communication and
collaboration among team members, regardless of geographical

ot
locations.

sp
● Distributed agile teams leverage various communication tools and
technologies such as video conferencing, instant messaging, and

og
collaboration platforms to facilitate real-time communication and
information sharing.
bl
● Regular team meetings, stand-ups, and virtual workshops help to ensure
s.
alignment, clarify requirements, and address any issues or concerns that
nv

arise during the development process.


​ Planning in Distributed Agile Projects:
ar

● Agile planning in distributed teams involves breaking down work into


um

smaller, manageable tasks and prioritizing them based on business value


and customer needs.
● Distributed teams use collaborative planning techniques such as remote
yk

sprint planning sessions, backlog grooming, and sprint reviews to ensure


ija

that everyone is aligned on project goals and deliverables.


● Agile project management tools like Jira, Trello, or Azure DevOps are often
//v

used to facilitate planning, tracking progress, and managing work items


across distributed teams.
s:

​ Reflective Processes in Agile Distributed Teams:


tp

● Agile encourages continuous reflection and improvement through regular


retrospectives, even in distributed teams.
ht

● at the end of each sprint or iteration to reflect on what went well, what
didn't, and identify areas for improvement.
● Retrospectives provide an opportunity for distributed team members to
share feedback, discuss challenges, and collaboratively identify actionable
steps to enhance team performance and productivity.
​ Organizational Culture and Agile Distributed Teams:
● Agile transformations require a supportive organizational culture that
values transparency, collaboration, and adaptability.
● Organizations with a culture of trust, open communication, and
empowerment are better equipped to support distributed agile teams.
● Leadership plays a crucial role in fostering an agile mindset and providing
the necessary resources and support for distributed teams to thrive.
​ Business Benefits of Agile Approach in Global Software

/
Development:

om
● Improve Quality: Agile practices such as continuous integration,
automated testing, and regular feedback loops help to identify and

.c
address quality issues early in the development process, resulting in

ot
higher-quality software.

sp
● Go to Market More Quickly & Improve ROI: Agile enables faster delivery of
incremental releases, allowing organizations to get products to market

og
quicker and start generating revenue sooner, thus improving return on
investment (ROI).

bl
● Mitigate Risk and Quickly Adapt: Agile's iterative and incremental
s.
approach allows organizations to adapt to changing market conditions,
customer feedback, and emerging requirements more quickly, helping to
nv

mitigate project risks.


ar

● More Easily Manage Project Scope: Agile's flexible approach to project


management allows for easier prioritization and reprioritization of work
um

items, making it easier to manage project scope and accommodate


changing business needs.
yk

● Promote Transparency and Improve Decision-Making: Agile practices


such as regular stakeholder engagement, transparent progress tracking,
ija

and frequent inspection and adaptation promote transparency and enable


informed decision-making at all levels of the organization.
//v
s:

By embracing the agile approach in global software development, organizations can


overcome the challenges of distributed teams, improve collaboration, and deliver
tp

high-quality software products more effectively and efficiently.


ht

You might also like