SlideShare a Scribd company logo
1 of 40
Ogni riferimento a fatti realmente accaduti e/o a persone realmente
             esistenti è da ritenersi puramente casuale.

     Any resemblance to actual persons is purely coincidental
As a user I want to search the Internet so
    that I find the information I need
•   Software Engineer
                       •   Scrum Master in Funambol
                                – 6 teams
                                – 30 engineers
schepis@funambol.com   •   2,5 years = 50 iterations  3000 user stories


                       •   Links:
                                – http://www.funambol.com
                                – http://www.edschepis.net
                                – http://pragmaticagile.wordpress.com
                                  edschepis
•   Introduction to User Stories
         –   Epic/Theme/User Story/Task
         –   INVEST
         –   Estimation
         –   DONE!
•   Gugol User Stories
•   Critics
•   Conclusions
•   In general or for your particular product/service/company,
       what would you rather have your customers talk about?
         – A. “Their            is awesome”
         – B. “Their           is awesome”
         – C. “Their              is awesome”
         – D. “ 	
    	
         ”

•   First-person language... reverse engineer
•   It's not about the tools we build, it's what our tools let them do
•             better is... better



    Thanks to Kathy Sierra - Talk at Business of Software 2009 [http://www.blip.tv/file/3346148]
•   What's that?                                                       Kent Beck coined the term
                                                                          user stories in Extreme
•   3C                                                                 Programming Explained 1 st
                                                                                     Edition, 1999
         – Card
         – Conversation
         – Confirmation
•   Limitations
         – It's not just “As a ... I want to... so that...”
         – Without acceptance tests are open to interpretation
         – They require close customer contact throughout the project which in some
                cases may be difficult or may be unnecessary overhead
         – Can have difficulty scaling to large projects
         – Conversation starters... fail to serve as a form of reliable documentation of
                the system
•   User stories provide a small-scale and easy-to-use presentation of
      information
         – generally formulated in the everyday language of the user
         – contain little detail, thus remaining open to interpretation
         – should help the reader understand what it is the software should accomplish
         –      	
         	
   	
      	
 
•   Use cases in contrast describe a process and its steps in detail, and
      may be worded in terms of a formal model.
         – is intended to provide sufficient detail for it to be understood on its own
         – a generalized description of a set of interactions between the system and
               one or more actors, where an actor is either a user or another system
         –
•   Theme
           – a top-level objective that may span projects and products
           – a collection (group) of user stories
•   Epic
           – a large user story: break up epic to several user stories
•   User Story
•   Task
• Independent
      – User Stories should be as independent as possible.

• Negotiable
      – User Stories are not a contract.

• Valuable
      – User Stories should be valuable to the user.

• Estimable
      – User Stories need to be possible to estimate.

• Small
      – User Stories should be small. Not too small. But not too big.

• Testable
      – User Stories need to be worded in a way that is testable
•   Who (As a...)
         – User
         – Roles
         – Systems?!?


•   What (I want to...)
         – Action

•   Why (so that...)
         – Needs
•   Search engine           follow links on the web to request pages that
      are either not yet indexed or have been updated since they were
      last indexed
•   These pages are crawled and are added to the search engine                          .
      Searching a slightly outdated index of content which roughly
      represents the content of the web
•           	
           	
          	
           	
 
         – Accept the user query, checking to match any advanced syntax and checking
              to see if the query is misspelled
         – Check to see if the query is relevant to other vertical search databases (such
              as news search or product search) and place relevant links to a few items
              from that type of search query near the regular search results.
         – Gather a list of relevant pages for the organic search results. These results
              are ranked based on page content, usage data, and link citation data.
As a user I want to search the Internet so
    that I find the information I need
•   Why splitting is essential?
          – a user story should be split when it is too large to fit within a single iteration
          – split a large user story if a more accurate estimate is necessary
•   How to split?
          – Data Boundaries (the information, the results)
                     • along the boundaries of the data supported by the story
          – Operational Boundaries (search)
                     • separate CRUD operations
          – Orthogonal Features (security, logging)
                     • creating two versions of the story: one with and one without support
          – Performance Constraints (find quickly, millions of users)
                     • separating the functional and nonfunctional aspects into separate stories
          – Mixed Priorities (error paths)
                     • the priorities of the smaller stories are different.

•   Don’t split a large story into tasks
•   Watch out the User Stories split f re n z y (“details are not needed now”)
As a user I want to search the Internet so
    that I find the information I need
As a user I want to search the Internet so
    that I find the information I need
As a user I want to search the Internet so
     that I find the information I need
As a user I want to search the Internet so
     that I find the information I need
As a user I want to search the Internet so
    that I find the information I need
•   Data boundaries: search contents, input and results
•   Operational Boundaries: searching... “I'm Feeling Lucky”
•   Performances and scalability
•   Mixed Priorities:
         –   Ranking
         –   Advanced Search
         –   Web Services
         –   Localized searches
•   Web Search
         –   Simple input
         –   “I'm Feeling Lucky”
         –   No Ranking
         –   IP-local searches
         –   Subset of results
•   Data boundaries:
         –   News Search
         –   Image Search
         –   Code Search                       Advertising
         –   Maps Search
         –   ...
•   Advanced Search
•   Web Services
•   Support millions of users
•   Story Points are units of         size used in estimating software
       requirements as an alternative to units of time
•   Measurement of complexity vs. man-day
•   Advantages:
         – cheaper to arrive at
         – collaborative estimation - it's not just developers who can or do estimate, it is
               a product team including analyst, tester and developers
         – the estimates of size are more transparent and universally agreed upon
•   Planning Poker and other techniques
•   Fibonacci sequence
•   DoD is a checklist of valuable activities required to produce software
         – a simple list of activities (writing code, coding comments, unit testing,
              integration testing, release notes, design documents, etc.) that add
              verifiable/demonstrable value to the product
•   DoD is the primary reporting mechanism for team members
         – “This feature is done.”
•   DoD is equivalent to “potentially shippable”
•   DoD is not static
1   2         8   13




2
              2
                       ?
•   Web Search
         –   Simple input
         –   “I'm Feeling Lucky”
         –   No Ranking
         –   IP-local searches
         –   Subset of results
•   Data boundaries:
         –   News Search
         –   Image Search
         –   Code Search                       Advertising
         –   Maps Search
         –   ...
•   Advanced Search
•   Web Services
•   Support millions of users
•   Scaling:
    more than 4 billion of pages and 10Kb/page = tens of terabytes
     –   Performances
     –   Hardware requirements
     –   Handling Failures
     –   PageRank and Shards
•   Documenting Gugol with a list of “As a user..”?
•   Prototypes and Spikes
•   http://www.mountaingoatsoftware.com
•   http://en.wikipedia.org/wiki/History_of_Google
•   http://xprogramming.com
•   http://www.searchenginehistory.com/
•   http://headrush.typepad.com/
•   http://pragmaticagile.wordpress.com
Focus on what user does, not what you do


Don't build a better [x], build a better [user of x]



Thanks to Kathy Sierra - Talk at Business of Software 2009 [http://www.blip.tv/file/3346148]
Alla ricerca della User Story perduta

More Related Content

Similar to Alla ricerca della User Story perduta

Building Effective Frameworks for Social Media Analysis
Building Effective Frameworks for Social Media AnalysisBuilding Effective Frameworks for Social Media Analysis
Building Effective Frameworks for Social Media Analysis
Open Analytics
 
INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial ISWC2011 - Session1INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES project
 
How we use Hive at SnowPlow, and how the role of HIve is changing
How we use Hive at SnowPlow, and how the role of HIve is changingHow we use Hive at SnowPlow, and how the role of HIve is changing
How we use Hive at SnowPlow, and how the role of HIve is changing
yalisassoon
 
Intro to UX Design
Intro to UX DesignIntro to UX Design
Intro to UX Design
jayyearley
 

Similar to Alla ricerca della User Story perduta (20)

User Experience from a Business Perspective
User Experience from a Business PerspectiveUser Experience from a Business Perspective
User Experience from a Business Perspective
 
Building Effective Frameworks for Social Media Analysis
Building Effective Frameworks for Social Media AnalysisBuilding Effective Frameworks for Social Media Analysis
Building Effective Frameworks for Social Media Analysis
 
Building Effective Frameworks for Social Media Analysis
Building Effective Frameworks for Social Media AnalysisBuilding Effective Frameworks for Social Media Analysis
Building Effective Frameworks for Social Media Analysis
 
Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)
 
Ch 3
Ch   3Ch   3
Ch 3
 
Usability Workshop, 11-8-2012
Usability Workshop, 11-8-2012Usability Workshop, 11-8-2012
Usability Workshop, 11-8-2012
 
Week 8 & 10
Week 8 & 10Week 8 & 10
Week 8 & 10
 
Agile & UX What changes and other C.R.A.P.
Agile & UX What changes and other C.R.A.P.Agile & UX What changes and other C.R.A.P.
Agile & UX What changes and other C.R.A.P.
 
INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial ISWC2011 - Session1INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial ISWC2011 - Session1
 
Insemtives iswc2011 session1
Insemtives iswc2011 session1Insemtives iswc2011 session1
Insemtives iswc2011 session1
 
How we use Hive at SnowPlow, and how the role of HIve is changing
How we use Hive at SnowPlow, and how the role of HIve is changingHow we use Hive at SnowPlow, and how the role of HIve is changing
How we use Hive at SnowPlow, and how the role of HIve is changing
 
Technical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryTechnical Challenges in Resource Discovery
Technical Challenges in Resource Discovery
 
Technical Coping Strategies for Resource Discovery - Paul Walk
Technical Coping Strategies for Resource Discovery - Paul WalkTechnical Coping Strategies for Resource Discovery - Paul Walk
Technical Coping Strategies for Resource Discovery - Paul Walk
 
Digital Marketing Course Week 3: Digital Assets
Digital Marketing Course Week 3: Digital AssetsDigital Marketing Course Week 3: Digital Assets
Digital Marketing Course Week 3: Digital Assets
 
Towards an Agile approach to building application profiles
Towards an Agile approach to building application profilesTowards an Agile approach to building application profiles
Towards an Agile approach to building application profiles
 
Intro to UX Design
Intro to UX DesignIntro to UX Design
Intro to UX Design
 
Insemtives swat4ls 2012
Insemtives swat4ls 2012Insemtives swat4ls 2012
Insemtives swat4ls 2012
 
User-Centered Design
User-Centered DesignUser-Centered Design
User-Centered Design
 
All about User story
All about User storyAll about User story
All about User story
 
Responsive Innovation in a Local Context
Responsive Innovation in a Local ContextResponsive Innovation in a Local Context
Responsive Innovation in a Local Context
 

More from Edoardo Schepis (11)

Openshift Enterprise
Openshift EnterpriseOpenshift Enterprise
Openshift Enterprise
 
Joomla in the cloud with Openshift
Joomla in the cloud with OpenshiftJoomla in the cloud with Openshift
Joomla in the cloud with Openshift
 
Intro jbug milano
Intro jbug milanoIntro jbug milano
Intro jbug milano
 
Scrumbuts - Italian Agile Day 2010
Scrumbuts - Italian Agile Day 2010Scrumbuts - Italian Agile Day 2010
Scrumbuts - Italian Agile Day 2010
 
Funambol: introducing SCRUM in software product development - AgileDay Italia
Funambol: introducing SCRUM in software product development - AgileDay ItaliaFunambol: introducing SCRUM in software product development - AgileDay Italia
Funambol: introducing SCRUM in software product development - AgileDay Italia
 
Funambol JavaME Messaging Client: Lessons Learned - JavaONE 2008
Funambol  JavaME Messaging Client: Lessons Learned - JavaONE 2008Funambol  JavaME Messaging Client: Lessons Learned - JavaONE 2008
Funambol JavaME Messaging Client: Lessons Learned - JavaONE 2008
 
JavaME UI - JMDF 2007
JavaME UI - JMDF 2007JavaME UI - JMDF 2007
JavaME UI - JMDF 2007
 
JavaME Overview - JMDF 2007
JavaME Overview - JMDF 2007JavaME Overview - JMDF 2007
JavaME Overview - JMDF 2007
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007
 
JMDF Introduction - JMDF 2005
JMDF Introduction - JMDF 2005JMDF Introduction - JMDF 2005
JMDF Introduction - JMDF 2005
 
JavaME Deploy and Test - JMDF 2005
JavaME Deploy and Test - JMDF 2005JavaME Deploy and Test - JMDF 2005
JavaME Deploy and Test - JMDF 2005
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Alla ricerca della User Story perduta

  • 1.
  • 2.
  • 3. Ogni riferimento a fatti realmente accaduti e/o a persone realmente esistenti è da ritenersi puramente casuale. Any resemblance to actual persons is purely coincidental
  • 4.
  • 5.
  • 6.
  • 7. As a user I want to search the Internet so that I find the information I need
  • 8. Software Engineer • Scrum Master in Funambol – 6 teams – 30 engineers schepis@funambol.com • 2,5 years = 50 iterations  3000 user stories • Links: – http://www.funambol.com – http://www.edschepis.net – http://pragmaticagile.wordpress.com edschepis
  • 9. Introduction to User Stories – Epic/Theme/User Story/Task – INVEST – Estimation – DONE! • Gugol User Stories • Critics • Conclusions
  • 10.
  • 11. In general or for your particular product/service/company, what would you rather have your customers talk about? – A. “Their is awesome” – B. “Their is awesome” – C. “Their is awesome” – D. “ ” • First-person language... reverse engineer • It's not about the tools we build, it's what our tools let them do • better is... better Thanks to Kathy Sierra - Talk at Business of Software 2009 [http://www.blip.tv/file/3346148]
  • 12. What's that? Kent Beck coined the term user stories in Extreme • 3C Programming Explained 1 st Edition, 1999 – Card – Conversation – Confirmation • Limitations – It's not just “As a ... I want to... so that...” – Without acceptance tests are open to interpretation – They require close customer contact throughout the project which in some cases may be difficult or may be unnecessary overhead – Can have difficulty scaling to large projects – Conversation starters... fail to serve as a form of reliable documentation of the system
  • 13. User stories provide a small-scale and easy-to-use presentation of information – generally formulated in the everyday language of the user – contain little detail, thus remaining open to interpretation – should help the reader understand what it is the software should accomplish – • Use cases in contrast describe a process and its steps in detail, and may be worded in terms of a formal model. – is intended to provide sufficient detail for it to be understood on its own – a generalized description of a set of interactions between the system and one or more actors, where an actor is either a user or another system –
  • 14. Theme – a top-level objective that may span projects and products – a collection (group) of user stories • Epic – a large user story: break up epic to several user stories • User Story • Task
  • 15. • Independent – User Stories should be as independent as possible. • Negotiable – User Stories are not a contract. • Valuable – User Stories should be valuable to the user. • Estimable – User Stories need to be possible to estimate. • Small – User Stories should be small. Not too small. But not too big. • Testable – User Stories need to be worded in a way that is testable
  • 16. Who (As a...) – User – Roles – Systems?!? • What (I want to...) – Action • Why (so that...) – Needs
  • 17.
  • 18.
  • 19. Search engine follow links on the web to request pages that are either not yet indexed or have been updated since they were last indexed • These pages are crawled and are added to the search engine . Searching a slightly outdated index of content which roughly represents the content of the web • – Accept the user query, checking to match any advanced syntax and checking to see if the query is misspelled – Check to see if the query is relevant to other vertical search databases (such as news search or product search) and place relevant links to a few items from that type of search query near the regular search results. – Gather a list of relevant pages for the organic search results. These results are ranked based on page content, usage data, and link citation data.
  • 20. As a user I want to search the Internet so that I find the information I need
  • 21. Why splitting is essential? – a user story should be split when it is too large to fit within a single iteration – split a large user story if a more accurate estimate is necessary • How to split? – Data Boundaries (the information, the results) • along the boundaries of the data supported by the story – Operational Boundaries (search) • separate CRUD operations – Orthogonal Features (security, logging) • creating two versions of the story: one with and one without support – Performance Constraints (find quickly, millions of users) • separating the functional and nonfunctional aspects into separate stories – Mixed Priorities (error paths) • the priorities of the smaller stories are different. • Don’t split a large story into tasks • Watch out the User Stories split f re n z y (“details are not needed now”)
  • 22. As a user I want to search the Internet so that I find the information I need
  • 23. As a user I want to search the Internet so that I find the information I need
  • 24. As a user I want to search the Internet so that I find the information I need
  • 25. As a user I want to search the Internet so that I find the information I need
  • 26. As a user I want to search the Internet so that I find the information I need
  • 27. Data boundaries: search contents, input and results • Operational Boundaries: searching... “I'm Feeling Lucky” • Performances and scalability • Mixed Priorities: – Ranking – Advanced Search – Web Services – Localized searches
  • 28. Web Search – Simple input – “I'm Feeling Lucky” – No Ranking – IP-local searches – Subset of results • Data boundaries: – News Search – Image Search – Code Search Advertising – Maps Search – ... • Advanced Search • Web Services • Support millions of users
  • 29.
  • 30.
  • 31. Story Points are units of size used in estimating software requirements as an alternative to units of time • Measurement of complexity vs. man-day • Advantages: – cheaper to arrive at – collaborative estimation - it's not just developers who can or do estimate, it is a product team including analyst, tester and developers – the estimates of size are more transparent and universally agreed upon • Planning Poker and other techniques • Fibonacci sequence
  • 32. DoD is a checklist of valuable activities required to produce software – a simple list of activities (writing code, coding comments, unit testing, integration testing, release notes, design documents, etc.) that add verifiable/demonstrable value to the product • DoD is the primary reporting mechanism for team members – “This feature is done.” • DoD is equivalent to “potentially shippable” • DoD is not static
  • 33. 1 2 8 13 2 2 ?
  • 34.
  • 35. Web Search – Simple input – “I'm Feeling Lucky” – No Ranking – IP-local searches – Subset of results • Data boundaries: – News Search – Image Search – Code Search Advertising – Maps Search – ... • Advanced Search • Web Services • Support millions of users
  • 36. Scaling: more than 4 billion of pages and 10Kb/page = tens of terabytes – Performances – Hardware requirements – Handling Failures – PageRank and Shards • Documenting Gugol with a list of “As a user..”? • Prototypes and Spikes
  • 37. http://www.mountaingoatsoftware.com • http://en.wikipedia.org/wiki/History_of_Google • http://xprogramming.com • http://www.searchenginehistory.com/ • http://headrush.typepad.com/ • http://pragmaticagile.wordpress.com
  • 38.
  • 39. Focus on what user does, not what you do Don't build a better [x], build a better [user of x] Thanks to Kathy Sierra - Talk at Business of Software 2009 [http://www.blip.tv/file/3346148]