SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
@ALINPANDICHI #ITAKEUNCONF
INCREMENTAL FEATURE
DEVELOPMENT WITH
WEB COMPONENTS
A   L I V E   C O D I N G   T A L E
Alin Pandichi  |  Software Developer at MozaicLabs
SO, WHAT DO YOU DO?
Agile Talks in Bucharest
Open Space
Coding Dojo
Product Development from scratch
Global Day of Coderetreat
Software Developer
at MozaicLabs
building eventriX 
@ALINPANDICHI #ITAKEUNCONF
INCREMENTAL FEATURE
DEVELOPMENT
"increasing increments of capability"
- Wikipedia -
https://pixabay.com/en/steps-staircase-climbing-1081909/
@ALINPANDICHI #ITAKEUNCONF
https://en.wikipedia.org/wiki/Iterative_and_incremental_development
https://twitter.com/uipatternscom/status/610073038596476928
@ALINPANDICHI #ITAKEUNCONF
AS A DEVELOPER,
I WANT TECHNIQUES,
SO THAT I CAN DEAL
 WITH COMPLEXITY
https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/
@ALINPANDICHI #ITAKEUNCONF
TECHNIQUES TO DEAL
WITH COMPLEXITY
Story Slicing
Prioritization
Commit often
(baby steps)
Web Components
(composable, reusable,
interoperable)
https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/
@ALINPANDICHI #ITAKEUNCONF
https://mozaicworks.com/blog/splitting-user-stories/
https://en.wikipedia.org/wiki/MoSCoW_method
http://blog.adrianbolboaca.ro/2013/03/taking-baby-steps/
TOOLS TO DEAL WITH
COMPLEXITY
Web Components
1. Address a common
need.
2. Do one job really well.
3. Work predictably in a
wide variety of
circumstances.
4. Be useful right out of
the box.
https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/
@ALINPANDICHI #ITAKEUNCONF
https://github.com/basic-web-components/components-dev/wiki/Ten-Principles-for-Great-General-Purpose-Web-Components
TOOLS TO DEAL WITH
COMPLEXITY
Web Components
5. Be composable
6. Be styleable.
7. Be extensible.
8. Think small.
9. Adapt to the user and
device.
10. Deliver the key
benefit to HTML
authors, not just coders.
https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/
@ALINPANDICHI #ITAKEUNCONF
https://github.com/basic-web-components/components-dev/wiki/Ten-Principles-for-Great-General-Purpose-Web-Components
OK, I LIED A BIT...
Web Components =
encapsulated
and interoperable
custom elements
that extend HTML itself
https://saikoticmurhmade.deviantart.com/art/ALL-LIES-306278583
@ALINPANDICHI #ITAKEUNCONF
OK, I LIED A BIT...
Web Components =
encapsulated
and interoperable
custom elements
that extend HTML itself
https://saikoticmurhmade.deviantart.com/art/ALL-LIES-306278583
@ALINPANDICHI #ITAKEUNCONF
OK, I LIED A BIT...
Web Components =
encapsulated
and interoperable
custom elements
that extend HTML itself
https://saikoticmurhmade.deviantart.com/art/ALL-LIES-306278583
___________________________
@ALINPANDICHI #ITAKEUNCONF
FOR EXAMPLE...
https://eventrix.co
@ALINPANDICHI #ITAKEUNCONF
FOR EXAMPLE...
https://github.com/apandichi/web-components-feature-dev
@ALINPANDICHI #ITAKEUNCONF
REQUIREMENTS
Material design
A list of talks
Button to add new talk
Dialog form to add talk
Speaker suggestions
Auto-complete avatar
Delay suggestions
Loading bar
@ALINPANDICHI #ITAKEUNCONF
DEMO TIME!
@ALINPANDICHI #ITAKEUNCONF
LAYERS OF
COMPONENTS
- Debounce
  - Autosuggest
    - Field
      - Input
@ALINPANDICHI #ITAKEUNCONF
TOOLS & TECHNIQUES
Slicing
Prioritization
Baby steps
(commit often)
Web Components
(composable, reusable,
interoperable)
@ALINPANDICHI #ITAKEUNCONF
https://mozaicworks.com/blog/splitting-user-stories/
https://en.wikipedia.org/wiki/MoSCoW_method
http://blog.adrianbolboaca.ro/2013/03/taking-baby-steps/
https://developer.mozilla.org/en-US/docs/Web/Web_Components
@ALINPANDICHI #ITAKEUNCONF
https://mozaicworks.com/public-trainings-and-workshops/unit-testing-for-react-and-redux-workshop/
@ALINPANDICHI #ITAKEUNCONF
Q U E S T I O N S ?  
F I N D M E O N T W I T T E R
@AlinPandichi
@ALINPANDICHI #ITAKEUNCONF

Contenu connexe

Plus de Alin Pandichi

Coding Dojo - Berlin Clock - TDD
Coding Dojo - Berlin Clock - TDDCoding Dojo - Berlin Clock - TDD
Coding Dojo - Berlin Clock - TDDAlin Pandichi
 
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-Alin Pandichi
 
Coding Dojo - Refactoring Tennis Kata
Coding Dojo - Refactoring Tennis KataCoding Dojo - Refactoring Tennis Kata
Coding Dojo - Refactoring Tennis KataAlin Pandichi
 
Software development - the java perspective
Software development - the java perspectiveSoftware development - the java perspective
Software development - the java perspectiveAlin Pandichi
 
Java 8 - Lambdas and much more
Java 8 - Lambdas and much moreJava 8 - Lambdas and much more
Java 8 - Lambdas and much moreAlin Pandichi
 

Plus de Alin Pandichi (6)

Coding Dojo - Berlin Clock - TDD
Coding Dojo - Berlin Clock - TDDCoding Dojo - Berlin Clock - TDD
Coding Dojo - Berlin Clock - TDD
 
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-
 
Coding Dojo - Refactoring Tennis Kata
Coding Dojo - Refactoring Tennis KataCoding Dojo - Refactoring Tennis Kata
Coding Dojo - Refactoring Tennis Kata
 
Avatar.js
Avatar.jsAvatar.js
Avatar.js
 
Software development - the java perspective
Software development - the java perspectiveSoftware development - the java perspective
Software development - the java perspective
 
Java 8 - Lambdas and much more
Java 8 - Lambdas and much moreJava 8 - Lambdas and much more
Java 8 - Lambdas and much more
 

Dernier

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 

Dernier (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

Incremental Feature Development with Web Components

  • 1. @ALINPANDICHI #ITAKEUNCONF INCREMENTAL FEATURE DEVELOPMENT WITH WEB COMPONENTS A   L I V E   C O D I N G   T A L E Alin Pandichi  |  Software Developer at MozaicLabs
  • 2. SO, WHAT DO YOU DO? Agile Talks in Bucharest Open Space Coding Dojo Product Development from scratch Global Day of Coderetreat Software Developer at MozaicLabs building eventriX  @ALINPANDICHI #ITAKEUNCONF
  • 3. INCREMENTAL FEATURE DEVELOPMENT "increasing increments of capability" - Wikipedia - https://pixabay.com/en/steps-staircase-climbing-1081909/ @ALINPANDICHI #ITAKEUNCONF https://en.wikipedia.org/wiki/Iterative_and_incremental_development
  • 5. AS A DEVELOPER, I WANT TECHNIQUES, SO THAT I CAN DEAL  WITH COMPLEXITY https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/ @ALINPANDICHI #ITAKEUNCONF
  • 6. TECHNIQUES TO DEAL WITH COMPLEXITY Story Slicing Prioritization Commit often (baby steps) Web Components (composable, reusable, interoperable) https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/ @ALINPANDICHI #ITAKEUNCONF https://mozaicworks.com/blog/splitting-user-stories/ https://en.wikipedia.org/wiki/MoSCoW_method http://blog.adrianbolboaca.ro/2013/03/taking-baby-steps/
  • 7. TOOLS TO DEAL WITH COMPLEXITY Web Components 1. Address a common need. 2. Do one job really well. 3. Work predictably in a wide variety of circumstances. 4. Be useful right out of the box. https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/ @ALINPANDICHI #ITAKEUNCONF https://github.com/basic-web-components/components-dev/wiki/Ten-Principles-for-Great-General-Purpose-Web-Components
  • 8. TOOLS TO DEAL WITH COMPLEXITY Web Components 5. Be composable 6. Be styleable. 7. Be extensible. 8. Think small. 9. Adapt to the user and device. 10. Deliver the key benefit to HTML authors, not just coders. https://www.solutionsiq.com/resource/blog-post/what-big-user-stories-could-be-telling-you/ @ALINPANDICHI #ITAKEUNCONF https://github.com/basic-web-components/components-dev/wiki/Ten-Principles-for-Great-General-Purpose-Web-Components
  • 9. OK, I LIED A BIT... Web Components = encapsulated and interoperable custom elements that extend HTML itself https://saikoticmurhmade.deviantart.com/art/ALL-LIES-306278583 @ALINPANDICHI #ITAKEUNCONF
  • 10. OK, I LIED A BIT... Web Components = encapsulated and interoperable custom elements that extend HTML itself https://saikoticmurhmade.deviantart.com/art/ALL-LIES-306278583 @ALINPANDICHI #ITAKEUNCONF
  • 11. OK, I LIED A BIT... Web Components = encapsulated and interoperable custom elements that extend HTML itself https://saikoticmurhmade.deviantart.com/art/ALL-LIES-306278583 ___________________________ @ALINPANDICHI #ITAKEUNCONF
  • 14. REQUIREMENTS Material design A list of talks Button to add new talk Dialog form to add talk Speaker suggestions Auto-complete avatar Delay suggestions Loading bar @ALINPANDICHI #ITAKEUNCONF
  • 16. LAYERS OF COMPONENTS - Debounce   - Autosuggest     - Field       - Input @ALINPANDICHI #ITAKEUNCONF
  • 17. TOOLS & TECHNIQUES Slicing Prioritization Baby steps (commit often) Web Components (composable, reusable, interoperable) @ALINPANDICHI #ITAKEUNCONF https://mozaicworks.com/blog/splitting-user-stories/ https://en.wikipedia.org/wiki/MoSCoW_method http://blog.adrianbolboaca.ro/2013/03/taking-baby-steps/ https://developer.mozilla.org/en-US/docs/Web/Web_Components
  • 20. Q U E S T I O N S ?   F I N D M E O N T W I T T E R @AlinPandichi @ALINPANDICHI #ITAKEUNCONF