SlideShare a Scribd company logo
1 of 20
Download to read offline
Case Studies In
              JIT Requirements
                   Analysis
    Neil Ernst and Gail Murphy
   University of British Columbia
nernst@cs.ubc.ca | murphy@cs.ubc.ca
Just-In-Time Requirements practices are
          different yet effective
“Traditional” RE
Requirements team separate and siloed, “transom-
style” handoffs




                                                   3
“Traditional” RE
Typically (if not ideally) done once, at inception




                                                     4
“Traditional” RE
Store artifacts in management tool




                                     5
Pejoratively called:
Big Requirements Up Front


                             6
Just-in-time RE
assume change and react, rather than plan
RE is ongoing and continuous
lightweight and iterative (?)
developers talk to “Product Owner”

                      e.g. specification by example, behavior-
                      driven development (BDD), feature
                      driven development, user stories,
                      acceptance testing.
                                                                7
Research Questions

1. How does JIT RE manifest itself in practice?



  2. What problems might be encountered?




                                              8
Methodology

Choose 3 software projects that are successful, relatively
distinct and open*.




Study each project’s software process holistically, starting at
the task level.

Choose a representative requirement for detailed study.
                                                                  9
Flexible Indexing




   Inverted index: terms point to containing documents
Flexible indexing: add frequency, weights, boosts directly to
                           index                            10
2004: Idea proposed on wiki (Doug Cutting)

2006: Email discussion about implementation (Grant
Ingersoll)

2008: First JIRA ticket created (Michael McCandless)

2009: Feature progress misses release 2.9; code later
released for stress testing by others (McCandless)

2009: Unicode incompatibility detected (Robert Muir)

2010: Feature branch integrated into trunk (all)


2012: Feature ships as 4.0 Alpha
“  "Have you tried any actual tests swapping these
      approaches in as your terms index impl?”
 “No – changing something like this requires a lot of
coding, so it's better to do thought experiments
          first to winnow down the options."


“     Mike, this change to byte[ ] in TermRef will break
    backwards compatibility, without some special
      attention paid to the utf-16 to utf-8 conversion.


“
In my opinion it would be better to think in the future
 how we can improve lucene in the following ways:
 The term dictionary should be more "DFA-friendly",
                        [etc.]
Observations (Lucene)
•   Requirements arise organically. Never nailed down.




•   Strategic vision emergent rather than directed. No hard deadlines.

•   JIRA is central to RE process.

•   Detailed knowledge lives inside the developer/requester.


                                                                     13
Common Practices (JIT In Practice)

•   Just-in-Time Requirements

•   Feature-oriented

•   As-needed Traceability

•   Exploratory and iterative development

•   Community-mindedness


                                            14
Departures

•   No big-picture thinking

•   No separate prioritization

•   Unclear feature provenance

•   No repeatable elicitation or
    reuse



                                   15
Understanding RE Practices

                                  Reflective
Requirements+Analysis




                        Multiple dimensions                               CONNECT
                                                        Firefox
                             Simple Priority
                                                                          Lucene

                                    Ad-hoc         Personal)projects


                                               Ad-hoc     List         Links   Models   Req Spec

                                                          Requirements+Management

                                                                                              16
But ...
      “I chose RE as a research area [after seeing] that
   insufficient RE causes inconsistent, incomplete and
incorrect requirements specifications and is responsible for
    a significant number of problems encountered in
                   development projects.”
            – Klaus Pohl, preface to RE textbook




                                                         17
Ultimate Empirical Question

                   Diminishing RE return    Idealized RE

                                              Reality?
  Software Value




                                           Perception
                       Amount of RE

                                                           18
Related Work

•   Plenty of industry focus:

    •   Leffingwell, Agile Manifesto, Agile BABOK, BDD etc.

•   Social nature of RE in OSS explored by Walter Scacchi.

•   Emmanuel Letier exploring requirements prediction.

•   Marco Lormans and Arie Gurfinkel worked on requirements
    coverage.


                                                             19
Just-In-Time Requirements practices are
         different yet effective

            when?              how?
                       why?

         Neil Ernst • @neilernst • neilernst.net
                                              20

More Related Content

Viewers also liked

production ppt of mcdonald
production ppt of mcdonaldproduction ppt of mcdonald
production ppt of mcdonald
Student council
 

Viewers also liked (18)

Leading a Lean Turnaround Workshop by Art Byrne
Leading a Lean Turnaround Workshop by Art ByrneLeading a Lean Turnaround Workshop by Art Byrne
Leading a Lean Turnaround Workshop by Art Byrne
 
Pepe jeans case study presentation
Pepe jeans case study presentationPepe jeans case study presentation
Pepe jeans case study presentation
 
Jit And Lean
Jit And LeanJit And Lean
Jit And Lean
 
JIT case study of Toyota
JIT case study of ToyotaJIT case study of Toyota
JIT case study of Toyota
 
Just in time
Just in timeJust in time
Just in time
 
Project report on just in time production
Project report on just in time productionProject report on just in time production
Project report on just in time production
 
production ppt of mcdonald
production ppt of mcdonaldproduction ppt of mcdonald
production ppt of mcdonald
 
The Toyota Way (Toyota Production System) [Operations Management]
The Toyota Way (Toyota Production System) [Operations Management]The Toyota Way (Toyota Production System) [Operations Management]
The Toyota Way (Toyota Production System) [Operations Management]
 
BASIC OF TOYOTA PRODUCTION SYSTEM
BASIC OF TOYOTA PRODUCTION SYSTEMBASIC OF TOYOTA PRODUCTION SYSTEM
BASIC OF TOYOTA PRODUCTION SYSTEM
 
Operation management, toyota production system
Operation management, toyota production systemOperation management, toyota production system
Operation management, toyota production system
 
Jit In Toyota
Jit In ToyotaJit In Toyota
Jit In Toyota
 
Just In Time (JIT) Systems
Just In Time (JIT) SystemsJust In Time (JIT) Systems
Just In Time (JIT) Systems
 
Toyota production system
Toyota production systemToyota production system
Toyota production system
 
McDonald's presentation
McDonald's presentationMcDonald's presentation
McDonald's presentation
 
Just in time
Just in timeJust in time
Just in time
 
JUST- IN-TIME (LEAN) PURCHASING
JUST- IN-TIME (LEAN) PURCHASINGJUST- IN-TIME (LEAN) PURCHASING
JUST- IN-TIME (LEAN) PURCHASING
 
PPT ON Just in time technique (JIT)
PPT ON Just in time technique (JIT)PPT ON Just in time technique (JIT)
PPT ON Just in time technique (JIT)
 
Just In Time
Just In TimeJust In Time
Just In Time
 

More from Neil Ernst

Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements
Neil Ernst
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
Neil Ernst
 

More from Neil Ernst (13)

Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
 
Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015
 
Using AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsUsing AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute Tradeoffs
 
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent ReasoningSupporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
Requirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionRequirements Evolution Drives Software Evolution
Requirements Evolution Drives Software Evolution
 
Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements
 
Adoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringAdoption-Centric Knowledge Engineering
Adoption-Centric Knowledge Engineering
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Reasoning with optional and preferred requirements
Reasoning with optional and preferred requirementsReasoning with optional and preferred requirements
Reasoning with optional and preferred requirements
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
Using requirements to retrace software evolution history
 
On the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycleOn the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycle
 

Recently uploaded

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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)

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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Case Studies in Just-in-Time Requirements Analysis

  • 1. Case Studies In JIT Requirements Analysis Neil Ernst and Gail Murphy University of British Columbia nernst@cs.ubc.ca | murphy@cs.ubc.ca
  • 2. Just-In-Time Requirements practices are different yet effective
  • 3. “Traditional” RE Requirements team separate and siloed, “transom- style” handoffs 3
  • 4. “Traditional” RE Typically (if not ideally) done once, at inception 4
  • 7. Just-in-time RE assume change and react, rather than plan RE is ongoing and continuous lightweight and iterative (?) developers talk to “Product Owner” e.g. specification by example, behavior- driven development (BDD), feature driven development, user stories, acceptance testing. 7
  • 8. Research Questions 1. How does JIT RE manifest itself in practice? 2. What problems might be encountered? 8
  • 9. Methodology Choose 3 software projects that are successful, relatively distinct and open*. Study each project’s software process holistically, starting at the task level. Choose a representative requirement for detailed study. 9
  • 10. Flexible Indexing Inverted index: terms point to containing documents Flexible indexing: add frequency, weights, boosts directly to index 10
  • 11. 2004: Idea proposed on wiki (Doug Cutting) 2006: Email discussion about implementation (Grant Ingersoll) 2008: First JIRA ticket created (Michael McCandless) 2009: Feature progress misses release 2.9; code later released for stress testing by others (McCandless) 2009: Unicode incompatibility detected (Robert Muir) 2010: Feature branch integrated into trunk (all) 2012: Feature ships as 4.0 Alpha
  • 12. “ "Have you tried any actual tests swapping these approaches in as your terms index impl?” “No – changing something like this requires a lot of coding, so it's better to do thought experiments first to winnow down the options." “ Mike, this change to byte[ ] in TermRef will break backwards compatibility, without some special attention paid to the utf-16 to utf-8 conversion. “ In my opinion it would be better to think in the future how we can improve lucene in the following ways: The term dictionary should be more "DFA-friendly", [etc.]
  • 13. Observations (Lucene) • Requirements arise organically. Never nailed down. • Strategic vision emergent rather than directed. No hard deadlines. • JIRA is central to RE process. • Detailed knowledge lives inside the developer/requester. 13
  • 14. Common Practices (JIT In Practice) • Just-in-Time Requirements • Feature-oriented • As-needed Traceability • Exploratory and iterative development • Community-mindedness 14
  • 15. Departures • No big-picture thinking • No separate prioritization • Unclear feature provenance • No repeatable elicitation or reuse 15
  • 16. Understanding RE Practices Reflective Requirements+Analysis Multiple dimensions CONNECT Firefox Simple Priority Lucene Ad-hoc Personal)projects Ad-hoc List Links Models Req Spec Requirements+Management 16
  • 17. But ... “I chose RE as a research area [after seeing] that insufficient RE causes inconsistent, incomplete and incorrect requirements specifications and is responsible for a significant number of problems encountered in development projects.” – Klaus Pohl, preface to RE textbook 17
  • 18. Ultimate Empirical Question Diminishing RE return Idealized RE Reality? Software Value Perception Amount of RE 18
  • 19. Related Work • Plenty of industry focus: • Leffingwell, Agile Manifesto, Agile BABOK, BDD etc. • Social nature of RE in OSS explored by Walter Scacchi. • Emmanuel Letier exploring requirements prediction. • Marco Lormans and Arie Gurfinkel worked on requirements coverage. 19
  • 20. Just-In-Time Requirements practices are different yet effective when? how? why? Neil Ernst • @neilernst • neilernst.net 20