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

Week five

The document provides an overview of Agile Software Development, detailing its phases, principles, and characteristics. It emphasizes the importance of agility in adapting to changes and customer feedback, as well as the Agile Manifesto's values. Additionally, it discusses user stories as a key tool in Agile practices for capturing user requirements effectively.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Week five

The document provides an overview of Agile Software Development, detailing its phases, principles, and characteristics. It emphasizes the importance of agility in adapting to changes and customer feedback, as well as the Agile Manifesto's values. Additionally, it discusses user stories as a key tool in Agile practices for capturing user requirements effectively.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Software Engineering

By: Ajeet Kumar


Recommended Book
• Pressman, R. S., & Bruce R. Maxim, D. (2014).
Software Engineering: A Practitioner’s Approach.
ISBN: 9780078022128.
Outline:
• What is Agility?
• Agile Software Development
• What is an agile process?
• Agility and cost of change
• Agile Manifesto
• Agility principles
• Characteristics of Agile Software Development.
• Predictive vs Descriptive
• User Stories
• Template
• Good user stories
• Spike
• User story writing workshop
• Story mapping
Agility:
• Agility is to move rapidly
• In Software Development agility is to
become more content specific and
dynamic about the product.
Agile Software Development:
Six phases:
• Concept: project scope
• Inception: picking the best people for agile
team.
• Iteration: coding and feedback
• Release: code tested and release for production
• Maintenance: maintain ongoing product usable.
• Retirement: end of product lifespan by
replacing with new one.
What is an agile process?
• For making any product, it is not easy to calculate or
predict all the aspects initially.
• Variety of changes may occur either in requirement,
designing and construction.
• Software process must adapt incrementally (require
customer feedback).
• An portion of product will be delivered in short period
of time with managing pace.
• Through this process, customer can evaluate software
regularly, provide necessary feedback to team.
Agility and cost of Change:
• Cost of changes increases nonlinearly
as a project progresses.
• Due to unit testing and pair
programming the cost is attenuated
Agile Manifesto:
• Manifesto is a declaration document which shows
some policy about how it work or productivity work.
• In software engineering, agile manifesto is a written
document that point out four values and 12 principles.
• It was developed by 17 developers on February 2001,
at The Lodge at Snowbird ski resort in Utah.
• It is a manifesto for agile software development.
• Developers were seeking an alternative from
traditionally complicated processes and heavy
documentation.
Contd:
• Four key values of agile manifesto:
1. Individuals and interactions over processes and tools: your
team and communication plays a key role here, by interactions
and sharing thoughts one can develop better products.
2. Working software over comprehensive documentation: to
minimize documentation and with the help of user stories
which accelerate the process.
3. Customer collaboration over contract negotiation: user
collaboration during the development gives fruitful
experience.
4. Responding to change over following a plan: with the help of
short iteration cycles, respond and actions leads to better
product.
Agility Principles:
To achieve agility one must follow below 12 principles of
agility:
1. Satisfy customer by early delivery on highest priority.
2. Flexible for changing requirements
3. Delivery duration should be short like in weeks or
months.
4. Business people and developers work together.
5. Motivate individuals and provide them needful
resources.
6. Try to do face-to-face communication this is most
effective way.
Contd:
• Attention towards technicality and designing of
projects with maximum optimization.
• Promote sustainable environment by maintaining pace
with sponsors, developers and user.
• Continuous attention to technical and design for
enhancing agility.
• Simplicity the art of maximizing work by excluding
unnecessary tasks.
• The self-organizing teams are the best one.
• Do regular analysis and work on improvement in
overall software development process.
Characteristics of Agile Software Development:
• Continuous Adaption
• Collaboration
• Fast delivery
• Self-directed team
• One step at a time
Predictive Vs Descriptive
• Descriptive: tells what happened in the
past using history
• Predictive: through this analysis we
come to know what will be happen in
future with the help of analyzed
patterns.
• Prescriptive: what and how should be
done to get desired output.
User Stories:
• It is a small unit of work
• A feature of software product written from
perspective of user is called user story.
• It is a end-goal from user.
• It is a tool in agile software development to get
software feature from user perspective.
• It can be written by: clients, users, managers or
development team members.
• User story overcomes detailed documentation as
user story is itself a customer-centric conversations.
Template:
• Who: the one who uses it.
• What: the thing user want.
• Why: why it is required.
Template:
• As a role, I want to action so that benefit.
• Role show the user who will interact with system:
• Action shows the ability of functionality user wish to have.
• Benefit as a result the output.
• Example: As an [supervisor], I want to [generate a report]
so that I come to know the needful results].
Good User Stories:
• A good user story have: (INVEST)
• Independent: without depending on anyone.
• Negotiable: only mention the user need instead
signing a contract.
• Valuable: shows value
• Estimable: must be estimable, which can be fit in
sprint (time bounded cycle).
• Small: small story must be completed in couple of
days.
• Testable: testable increments.
Spike:
• It is a user story that gives us
estimation of how long user story will
take to complete.
• It is a time-boxed activity/investigations
that help to make good decision and
faster delivery.
Story mapping:
• User story is a better approach for product
backlog (priority functionality).
• it gives practical and actionable way.
• A map can arrange stories into manageable
model.
• Mapping gives you detail picture of backlog.
• It gives you tool for better decision and
enhancing priorities your backlog.
• It is useful for discussing and managing scope.
Contd:
• User story map consists of 3 levels:
• User Activities
• User tasks
• User Stories
• 4th level is
• Epic
Advantages:
• Simplified format
• Increased flexibility
• Improved collaboration
Disadvantages:
• Incomplete stories
• Insufficient time
• Narrow vision
Thank you.

You might also like