SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

Antonio Bonanno - Il Cliente Agile
Antonio Bonanno - Il Cliente AgileAntonio Bonanno - Il Cliente Agile
Antonio Bonanno - Il Cliente AgileBetter 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 INGRESBetter 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.0Better 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
 

Destacado (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 a 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 PerspectiveDanny 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 Analysisikanow
 
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 AnalysisOpen 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
 
Usability Workshop, 11-8-2012
Usability Workshop, 11-8-2012Usability Workshop, 11-8-2012
Usability Workshop, 11-8-2012Samantha Bailey
 
Week 8 & 10
Week 8 & 10Week 8 & 10
Week 8 & 10Study 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 Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial ISWC2011 - Session1INSEMTIVES Tutorial ISWC2011 - Session1
INSEMTIVES Tutorial ISWC2011 - Session1INSEMTIVES project
 
Insemtives iswc2011 session1
Insemtives iswc2011 session1Insemtives iswc2011 session1
Insemtives iswc2011 session1Elena Simperl
 
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 changingyalisassoon
 
Technical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryTechnical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryPaul Walk
 
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 WalkJisc
 
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 AssetsAyca 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 profilesPaul Walk
 
Intro to UX Design
Intro to UX DesignIntro to UX Design
Intro to UX Designjayyearley
 
Insemtives swat4ls 2012
Insemtives swat4ls 2012Insemtives swat4ls 2012
Insemtives swat4ls 2012Elena Simperl
 
Responsive Innovation in a Local Context
Responsive Innovation in a Local ContextResponsive Innovation in a Local Context
Responsive Innovation in a Local ContextPaul Walk
 

Similar a 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
 

Más de 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 industrialeBetter Software
 
Quando il software si fa amare
Quando il software si fa amareQuando il software si fa amare
Quando il software si fa amareBetter 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/incollaBetter Software
 
Better Software: Feedback Report 2010
Better Software: Feedback Report 2010Better Software: Feedback Report 2010
Better Software: Feedback Report 2010Better 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 anniBetter Software
 
The Fun Of A Program Manager
The Fun Of A Program ManagerThe Fun Of A Program Manager
The Fun Of A Program ManagerBetter 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 GISBetter Software
 
Cavallini - OpenSource e sistemi GIS
Cavallini - OpenSource e sistemi GISCavallini - OpenSource e sistemi GIS
Cavallini - OpenSource e sistemi GISBetter Software
 
Better Software Feedback Partecipanti Edizione 2009
Better Software Feedback Partecipanti Edizione 2009Better Software Feedback Partecipanti Edizione 2009
Better Software Feedback Partecipanti Edizione 2009Better 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 ITBetter 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 ManagerBetter Software
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaBetter 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 ProblematicheBetter 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.0Better Software
 
Casali + Giacoma - Design Motivazionale
Casali + Giacoma - Design MotivazionaleCasali + Giacoma - Design Motivazionale
Casali + Giacoma - Design MotivazionaleBetter 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 IdeeBetter 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
 

Más de 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...
 

Último

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Último (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

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]