SlideShare a Scribd company logo
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

Viewers also liked

Antonio Bonanno - Il Cliente Agile
Antonio Bonanno - Il Cliente AgileAntonio Bonanno - Il Cliente Agile
Antonio Bonanno - Il Cliente Agile
Better Software
 
web 2.0, copyright, diritti fondamentali
web 2.0, copyright, diritti fondamentaliweb 2.0, copyright, diritti fondamentali
web 2.0, copyright, diritti fondamentaliBetter Software
 
Alessandro Salvatico - Sviluppare J2EE con INGRES
Alessandro Salvatico - Sviluppare J2EE con INGRESAlessandro Salvatico - Sviluppare J2EE con INGRES
Alessandro Salvatico - Sviluppare J2EE con INGRES
Better Software
 
Claudio Cicali - Openid
Claudio Cicali - OpenidClaudio Cicali - Openid
Claudio Cicali - Openid
Better Software
 
Fabio Castronuovo - Intranet e la Enterprise 2.0
Fabio Castronuovo - Intranet e la Enterprise 2.0Fabio Castronuovo - Intranet e la Enterprise 2.0
Fabio Castronuovo - Intranet e la Enterprise 2.0
Better Software
 
"Urban Entrepreneurship & Economic Development" Presentation fo...
"Urban Entrepreneurship & Economic Development" Presentation fo..."Urban Entrepreneurship & Economic Development" Presentation fo...
"Urban Entrepreneurship & Economic Development" Presentation fo...
intelijazz
 
Il programmatore e le sue api
Il programmatore e le sue apiIl programmatore e le sue api
Il programmatore e le sue apiBetter Software
 

Viewers also liked (8)

Antonio Bonanno - Il Cliente Agile
Antonio Bonanno - Il Cliente AgileAntonio Bonanno - Il Cliente Agile
Antonio Bonanno - Il Cliente Agile
 
web 2.0, copyright, diritti fondamentali
web 2.0, copyright, diritti fondamentaliweb 2.0, copyright, diritti fondamentali
web 2.0, copyright, diritti fondamentali
 
Augmented reality e web
Augmented reality e webAugmented reality e web
Augmented reality e web
 
Alessandro Salvatico - Sviluppare J2EE con INGRES
Alessandro Salvatico - Sviluppare J2EE con INGRESAlessandro Salvatico - Sviluppare J2EE con INGRES
Alessandro Salvatico - Sviluppare J2EE con INGRES
 
Claudio Cicali - Openid
Claudio Cicali - OpenidClaudio Cicali - Openid
Claudio Cicali - Openid
 
Fabio Castronuovo - Intranet e la Enterprise 2.0
Fabio Castronuovo - Intranet e la Enterprise 2.0Fabio Castronuovo - Intranet e la Enterprise 2.0
Fabio Castronuovo - Intranet e la Enterprise 2.0
 
"Urban Entrepreneurship & Economic Development" Presentation fo...
"Urban Entrepreneurship & Economic Development" Presentation fo..."Urban Entrepreneurship & Economic Development" Presentation fo...
"Urban Entrepreneurship & Economic Development" Presentation fo...
 
Il programmatore e le sue api
Il programmatore e le sue apiIl programmatore e le sue api
Il programmatore e le sue api
 

Similar to Alla ricerca della user story perduta

User Experience from a Business Perspective
User Experience from a Business PerspectiveUser Experience from a Business Perspective
User Experience from a Business Perspective
Danny Mittleman
 
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
ikanow
 
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
 
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)
Robert Haines
 
Ch 3
Ch   3Ch   3
Usability Workshop, 11-8-2012
Usability Workshop, 11-8-2012Usability Workshop, 11-8-2012
Usability Workshop, 11-8-2012
Samantha Bailey
 
Week 8 & 10
Week 8 & 10Week 8 & 10
Week 8 & 10
Study Geek
 
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.
LeanDog
 
Insemtives iswc2011 session1
Insemtives iswc2011 session1Insemtives iswc2011 session1
Insemtives iswc2011 session1
Elena Simperl
 
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
 
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
Jisc
 
Technical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryTechnical Challenges in Resource Discovery
Technical Challenges in 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
Ayca Turhan
 
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
Paul Walk
 
Intro to UX Design
Intro to UX DesignIntro to UX Design
Intro to UX Design
jayyearley
 
Insemtives swat4ls 2012
Insemtives swat4ls 2012Insemtives swat4ls 2012
Insemtives swat4ls 2012
Elena Simperl
 
User-Centered Design
User-Centered DesignUser-Centered Design
User-Centered Design
Ivano Malavolta
 
All about User story
All about User storyAll about User story
All about User story
Sankalp Khandelwal
 
Responsive Innovation in a Local Context
Responsive Innovation in a Local ContextResponsive Innovation in a Local Context
Responsive Innovation in a Local Context
Paul Walk
 

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 iswc2011 session1
Insemtives iswc2011 session1Insemtives iswc2011 session1
Insemtives iswc2011 session1
 
INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial ISWC2011 - Session1INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial 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 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
 
Technical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryTechnical Challenges in Resource Discovery
Technical Challenges in Resource Discovery
 
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 Better Software

How can metrics help in improving our effectiveness?
How can metrics help in improving our effectiveness?How can metrics help in improving our effectiveness?
How can metrics help in improving our effectiveness?
Better Software
 
Software Open Source in ambito industriale
Software Open Source in ambito industrialeSoftware Open Source in ambito industriale
Software Open Source in ambito industriale
Better Software
 
Start small stay small
Start small stay smallStart small stay small
Start small stay small
Better Software
 
Quando il software si fa amare
Quando il software si fa amareQuando il software si fa amare
Quando il software si fa amare
Better Software
 
Cowboy programming e l'arte del copia/incolla
Cowboy programming e l'arte del copia/incollaCowboy programming e l'arte del copia/incolla
Cowboy programming e l'arte del copia/incolla
Better Software
 
Better Software: Feedback Report 2010
Better Software: Feedback Report 2010Better Software: Feedback Report 2010
Better Software: Feedback Report 2010
Better Software
 
Alcune lezioni che ho imparato negli ultimi due anni
Alcune lezioni che ho imparato negli ultimi due anniAlcune lezioni che ho imparato negli ultimi due anni
Alcune lezioni che ho imparato negli ultimi due anni
Better Software
 
The Fun Of A Program Manager
The Fun Of A Program ManagerThe Fun Of A Program Manager
The Fun Of A Program Manager
Better Software
 
Cavallini - L'importanza del software libero nei sistemi GIS
Cavallini - L'importanza del software libero nei sistemi GISCavallini - L'importanza del software libero nei sistemi GIS
Cavallini - L'importanza del software libero nei sistemi GIS
Better Software
 
Cavallini - OpenSource e sistemi GIS
Cavallini - OpenSource e sistemi GISCavallini - OpenSource e sistemi GIS
Cavallini - OpenSource e sistemi GIS
Better Software
 
Better Software Feedback Partecipanti Edizione 2009
Better Software Feedback Partecipanti Edizione 2009Better Software Feedback Partecipanti Edizione 2009
Better Software Feedback Partecipanti Edizione 2009
Better Software
 
Alessandro Salvatico - Ingres: il nuovo modello IT
Alessandro Salvatico - Ingres: il nuovo modello ITAlessandro Salvatico - Ingres: il nuovo modello IT
Alessandro Salvatico - Ingres: il nuovo modello IT
Better Software
 
Maurizio Mesenzani - Le competenze del Project Manager
Maurizio Mesenzani - Le competenze del Project ManagerMaurizio Mesenzani - Le competenze del Project Manager
Maurizio Mesenzani - Le competenze del Project Manager
Better Software
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In Azienda
Better Software
 
Massimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e ProblematicheMassimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Better Software
 
Roberto Ghislandi - Web Marketing e Web2.0
Roberto Ghislandi - Web Marketing e Web2.0Roberto Ghislandi - Web Marketing e Web2.0
Roberto Ghislandi - Web Marketing e Web2.0
Better Software
 
Casali + Giacoma - Design Motivazionale
Casali + Giacoma - Design MotivazionaleCasali + Giacoma - Design Motivazionale
Casali + Giacoma - Design Motivazionale
Better Software
 
Alex Martelli - Sviluppo Software: Esperienze, Consigli e Idee
Alex Martelli - Sviluppo Software: Esperienze, Consigli e IdeeAlex Martelli - Sviluppo Software: Esperienze, Consigli e Idee
Alex Martelli - Sviluppo Software: Esperienze, Consigli e Idee
Better Software
 
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
Better Software
 

More from Better Software (20)

How can metrics help in improving our effectiveness?
How can metrics help in improving our effectiveness?How can metrics help in improving our effectiveness?
How can metrics help in improving our effectiveness?
 
Software Open Source in ambito industriale
Software Open Source in ambito industrialeSoftware Open Source in ambito industriale
Software Open Source in ambito industriale
 
Start small stay small
Start small stay smallStart small stay small
Start small stay small
 
Dove l’utente è re
Dove l’utente è reDove l’utente è re
Dove l’utente è re
 
Quando il software si fa amare
Quando il software si fa amareQuando il software si fa amare
Quando il software si fa amare
 
Cowboy programming e l'arte del copia/incolla
Cowboy programming e l'arte del copia/incollaCowboy programming e l'arte del copia/incolla
Cowboy programming e l'arte del copia/incolla
 
Better Software: Feedback Report 2010
Better Software: Feedback Report 2010Better Software: Feedback Report 2010
Better Software: Feedback Report 2010
 
Alcune lezioni che ho imparato negli ultimi due anni
Alcune lezioni che ho imparato negli ultimi due anniAlcune lezioni che ho imparato negli ultimi due anni
Alcune lezioni che ho imparato negli ultimi due anni
 
The Fun Of A Program Manager
The Fun Of A Program ManagerThe Fun Of A Program Manager
The Fun Of A Program Manager
 
Cavallini - L'importanza del software libero nei sistemi GIS
Cavallini - L'importanza del software libero nei sistemi GISCavallini - L'importanza del software libero nei sistemi GIS
Cavallini - L'importanza del software libero nei sistemi GIS
 
Cavallini - OpenSource e sistemi GIS
Cavallini - OpenSource e sistemi GISCavallini - OpenSource e sistemi GIS
Cavallini - OpenSource e sistemi GIS
 
Better Software Feedback Partecipanti Edizione 2009
Better Software Feedback Partecipanti Edizione 2009Better Software Feedback Partecipanti Edizione 2009
Better Software Feedback Partecipanti Edizione 2009
 
Alessandro Salvatico - Ingres: il nuovo modello IT
Alessandro Salvatico - Ingres: il nuovo modello ITAlessandro Salvatico - Ingres: il nuovo modello IT
Alessandro Salvatico - Ingres: il nuovo modello IT
 
Maurizio Mesenzani - Le competenze del Project Manager
Maurizio Mesenzani - Le competenze del Project ManagerMaurizio Mesenzani - Le competenze del Project Manager
Maurizio Mesenzani - Le competenze del Project Manager
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In Azienda
 
Massimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e ProblematicheMassimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
 
Roberto Ghislandi - Web Marketing e Web2.0
Roberto Ghislandi - Web Marketing e Web2.0Roberto Ghislandi - Web Marketing e Web2.0
Roberto Ghislandi - Web Marketing e Web2.0
 
Casali + Giacoma - Design Motivazionale
Casali + Giacoma - Design MotivazionaleCasali + Giacoma - Design Motivazionale
Casali + Giacoma - Design Motivazionale
 
Alex Martelli - Sviluppo Software: Esperienze, Consigli e Idee
Alex Martelli - Sviluppo Software: Esperienze, Consigli e IdeeAlex Martelli - Sviluppo Software: Esperienze, Consigli e Idee
Alex Martelli - Sviluppo Software: Esperienze, Consigli e Idee
 
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
 

Recently uploaded

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

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]