SlideShare a Scribd company logo
1 of 32
Introduction to Agile Software
Requirements
Abhilash Chandran
Development Manager
Xerox
What are we going to discuss
today?
• What stories are
• Writing User Story
• Estimation
• Workshop
Books …
Product Vision
• What the product should look like when
ultimately finished
– Type of features supported
– Type of users
– Market share etc.
• Continuous change because of
– New knowledge
– New customer base
– New or changing market conditions
Product Vision…
• Should contain
– Product features (as would be listed on the
product box or web site)
– Target market/customers
– Key differentiators
Cone of uncertainty
Continuous iterations
• Traveling at night
• Embrace the change
• Write only what you have
• Do only what you know
• Add new insights
User Roles
• A user role is any type of user that interacts
with the system
• Identifying the different types of Users is the
first step in Agile Product Management
• Lack of a clear understanding of User Roles
– critical requirements can be missed or
misunderstood
– Higher probability of developing a wrong software
with unwanted features .
User story
• A sentence or a paragraph that describes
functionality of the system from the user’s
perspective
As a <type of user>
I can <perform some task>
[so that I can <achieve some goal>]
User Story…
• As a user,
I want to reserve a hotel room
• As a frequent flyer,
I want to rebook a past trip
so that I save time booking trips I take often.
3 C’s
• Card: The written description of the story
• Conversation: Verbal discussions that bring
out further details of the system
• Confirmation: the conditions of satisfaction
that are used to determine when the feature
is complete
– Should also include key conditions or constraints
Conversation
• As a user, I can cancel a reservation.
– Does the user get a full or partial refund?
– Is the refund to her credit card or is it site credit?
– How far ahead must the reservation be cancelled?
– Is that the same for all hotels?
– For all site visitors? Can frequent travellers cancel
later?
– Is a confirmation provided to the user?
– How?
Conditions of satisfaction
• As a user, I can cancel a reservation.
– Verify that a premium member can cancel the
same day without a fee.
– Verify that a non-premium member is charged
10% for a same-day cancellation.
– Verify that an email confirmation is sent.
– Verify that the hotel is notified of any cancellation
Split Stories
• As a user, I can cancel a reservation.
– As a premium site member,
I can cancel a reservation up to the last minute.
– As a site visitor, I am emailed a confirmation of
any cancelled reservation.
Epic
• A very large user story
• As a user, I can cancel a reservation.
Start with Epic
• MMF – Minimum Marketable Feature
• A basic set of features required for product
which can be marketed
Estimation
• Planning Poker
– It is about size not duration
– Identify the relative value
Activity
• User story breakdown
• Estimation
Part II
• Workshop on Clean code
Book…
Test Driven Development
Demo
• Demo with C# and MS Unit Test
Demo
• Demo with C# & Specflow
Behaviour-driven development
SOLID Principles
• Stands for five basic principles of object-
oriented programming and design
• Are guidelines that can be applied while
working on software to improve code quality
• Helps in
– low coupling,
– high cohesion
– strong encapsulation
SRP
• Single responsibility principle
A class should have only a single responsibility
(i.e. only one potential change in the software's
specification should be able to affect the
specification of the class)
OCP
• Open/closed principle
Software entities … should be open for
extension, but closed for modification
LSP
• Liskov substitution principle
Objects in a program should be replaceable with
instances of their subtypes without altering the
correctness of that program
ISP
• Interface segregation principle
Many client-specific interfaces are better than
one general-purpose interface.
DIP
• Dependency inversion principle
One should “Depend upon Abstractions. Do not
depend upon concretions.
Questions
Contact Me
• Email : c.abhilash@gmail.com
• Twitter : https://twitter.com/cabhilash
• Blog : http://www.TheAgileSchool.com

More Related Content

What's hot

Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User StoriesRam Srivastava
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User StoriesCraig Brown
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User StoriesMike Cohn
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile RequirementsMike Cohn
 
Building a mobile website
Building a mobile websiteBuilding a mobile website
Building a mobile websiteli_gordon
 

What's hot (11)

Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
User stories
User storiesUser stories
User stories
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
User Story Writing Workshop
User Story Writing WorkshopUser Story Writing Workshop
User Story Writing Workshop
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User Stories
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile Requirements
 
Building a mobile website
Building a mobile websiteBuilding a mobile website
Building a mobile website
 
User story and their slices with estimation
User story and their slices with estimationUser story and their slices with estimation
User story and their slices with estimation
 

Similar to Introduction to Agile Requirements, Estimation

Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & DiscoveryTarun Singh
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgileNetwork
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
Agile development and project management
Agile development and project managementAgile development and project management
Agile development and project managementVishal Bardoloi
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Roleeleksdev
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
Agile gathering + guidelines stories
Agile gathering + guidelines storiesAgile gathering + guidelines stories
Agile gathering + guidelines storiesfungfung Chen
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013Stefano Leli
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
 
Software Product Engineering
Software Product EngineeringSoftware Product Engineering
Software Product EngineeringSagittarius
 
Agile Requirements Discovery
Agile Requirements DiscoveryAgile Requirements Discovery
Agile Requirements Discoveryagile101
 
Adressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16thAdressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16thmarwakhalid
 

Similar to Introduction to Agile Requirements, Estimation (20)

User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approach
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
Agile development and project management
Agile development and project managementAgile development and project management
Agile development and project management
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Role
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Agile gathering + guidelines stories
Agile gathering + guidelines storiesAgile gathering + guidelines stories
Agile gathering + guidelines stories
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
Agile Techniques
Agile TechniquesAgile Techniques
Agile Techniques
 
Software Product Engineering
Software Product EngineeringSoftware Product Engineering
Software Product Engineering
 
All about User story
All about User storyAll about User story
All about User story
 
Agile Requirements Discovery
Agile Requirements DiscoveryAgile Requirements Discovery
Agile Requirements Discovery
 
Adressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16thAdressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16th
 

Recently uploaded

The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

Introduction to Agile Requirements, Estimation

  • 1. Introduction to Agile Software Requirements Abhilash Chandran Development Manager Xerox
  • 2. What are we going to discuss today? • What stories are • Writing User Story • Estimation • Workshop
  • 4. Product Vision • What the product should look like when ultimately finished – Type of features supported – Type of users – Market share etc. • Continuous change because of – New knowledge – New customer base – New or changing market conditions
  • 5. Product Vision… • Should contain – Product features (as would be listed on the product box or web site) – Target market/customers – Key differentiators
  • 7. Continuous iterations • Traveling at night • Embrace the change • Write only what you have • Do only what you know • Add new insights
  • 8. User Roles • A user role is any type of user that interacts with the system • Identifying the different types of Users is the first step in Agile Product Management • Lack of a clear understanding of User Roles – critical requirements can be missed or misunderstood – Higher probability of developing a wrong software with unwanted features .
  • 9. User story • A sentence or a paragraph that describes functionality of the system from the user’s perspective As a <type of user> I can <perform some task> [so that I can <achieve some goal>]
  • 10. User Story… • As a user, I want to reserve a hotel room • As a frequent flyer, I want to rebook a past trip so that I save time booking trips I take often.
  • 11. 3 C’s • Card: The written description of the story • Conversation: Verbal discussions that bring out further details of the system • Confirmation: the conditions of satisfaction that are used to determine when the feature is complete – Should also include key conditions or constraints
  • 12. Conversation • As a user, I can cancel a reservation. – Does the user get a full or partial refund? – Is the refund to her credit card or is it site credit? – How far ahead must the reservation be cancelled? – Is that the same for all hotels? – For all site visitors? Can frequent travellers cancel later? – Is a confirmation provided to the user? – How?
  • 13. Conditions of satisfaction • As a user, I can cancel a reservation. – Verify that a premium member can cancel the same day without a fee. – Verify that a non-premium member is charged 10% for a same-day cancellation. – Verify that an email confirmation is sent. – Verify that the hotel is notified of any cancellation
  • 14. Split Stories • As a user, I can cancel a reservation. – As a premium site member, I can cancel a reservation up to the last minute. – As a site visitor, I am emailed a confirmation of any cancelled reservation.
  • 15. Epic • A very large user story • As a user, I can cancel a reservation.
  • 16. Start with Epic • MMF – Minimum Marketable Feature • A basic set of features required for product which can be marketed
  • 17. Estimation • Planning Poker – It is about size not duration – Identify the relative value
  • 18. Activity • User story breakdown • Estimation
  • 19. Part II • Workshop on Clean code
  • 22. Demo • Demo with C# and MS Unit Test
  • 23. Demo • Demo with C# & Specflow
  • 25. SOLID Principles • Stands for five basic principles of object- oriented programming and design • Are guidelines that can be applied while working on software to improve code quality • Helps in – low coupling, – high cohesion – strong encapsulation
  • 26. SRP • Single responsibility principle A class should have only a single responsibility (i.e. only one potential change in the software's specification should be able to affect the specification of the class)
  • 27. OCP • Open/closed principle Software entities … should be open for extension, but closed for modification
  • 28. LSP • Liskov substitution principle Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program
  • 29. ISP • Interface segregation principle Many client-specific interfaces are better than one general-purpose interface.
  • 30. DIP • Dependency inversion principle One should “Depend upon Abstractions. Do not depend upon concretions.
  • 32. Contact Me • Email : c.abhilash@gmail.com • Twitter : https://twitter.com/cabhilash • Blog : http://www.TheAgileSchool.com

Editor's Notes

  1. How many features does MS excel has? How many do we use? How much does it cost to develop features which none uses