SlideShare a Scribd company logo
CodeValue Architecture Next 2018 - Executive track  dilemmas and solutions in modern software development
Dilemmas and Solutions in
Modern Software Development
Alon Fliess
Chief Software Architect
Azure MVP, MRD
alonf@codevalue.net
http://alonfliess.me
2
Agenda
To Microservice or Not to Microservice?
UX Tools for Product Discovery
Planning the Unexpected: Dealing with a Rapidly Changing Reality
4
5
Eran Stiller, Chief Technology Officer (CodeValue)
To Microservice
or Not to Microservice?
Decomposition
Is this a good design?
Decomposition
Is this a good design?
Decomposition
Is this a good design?
Decomposition
Is this a good design?
The Cost of the Software Development Process
number of modules
Module
Integration
cost (complexity)
module
development
Cost (complexity)Cost
Microservices Platforms Benefits
Modern microservices platforms significantly reduce the cost of
module integration
Shifting the cost equilibrium towards more modules
Especially true when using proven PaaS platforms
Both public and private cloud based
The integration cost decreases with two factors:
Mature PaaS platform
Proven DevOps process
11
Monoliths
Why are monoliths considered a bad thing?
They’re not
They all started with good intentions
They usually become convoluted over time
Features are added
People change
Deadlines happen
Technical debt accumulated
It’s very easy to fall
12
Microservices
Are Microservices the solution?
They also start with good intentions
Will become convoluted with time as well
Without proper architecture and guidance
13
Monoliths
Natural starting point
Easier to get started and deliver value
Simpler build and deployment
Simpler scalability
Simpler security
Low latency
Intra-process communication
Simpler testing
Simpler logging and monitoring
Simpler data and database
management
Simpler transaction management
Large code base
Simple change requires whole app
to be redeployed
Increased complexity as
functionality is coupled together
Single type of database doesn’t
meet all requirements
Tend to get difficult to work with
over time
Huge resource requirements
Reduced agility over time
Coarse-grain transactions
14
Source: https://bit.ly/2vf6eov
Microservices
Smaller manageable functional units
Multiple smaller code bases
Single service provides single functionality
Single responsibility per service
Clearer separation of concerns
Independently scalable services
Polyglot persistence as applicable
Polyglot programming language as applicable
Independently deployable
Easier on-boarding process
Frequent functionality releases
Decentralized ownership
Team that develops it, manages it
Distributed System Architecture
Design, Development, Deployment, CAP theorem
Handle Increased orchestration
Troubleshooting challenges
Call Traceability
Log aggregation
Data consistency issues
Eventual consistency
Compensatory & reconciliatory procedures
Increased latency due to remote calls
Distributed Configuration Management
Organizational Maturity
Company Culture
Engineering practices
IT Operations
Software defined networks
On-demand infrastructure provisioning
Architectural complexity
15
Source: https://bit.ly/2vf6eov
Microservices Drawbacks Solution
Plan ahead
DevOps
Use supporting platforms
Cloud
Containers
Architect
Low Coupling, High Cohesion
Schema/API Versioning
16
Cohesion
The degree to which a module
performs one and only one function
Strive for high cohesion
A module can be:
Library (assembly, shared module, DLL)
File
Class
Method
COM/CORBA component
(Micro) Service
Any reusable element
Coupling
The degree to which each program module
relies on each of the other modules
Low coupling often correlates with
high cohesion, and vice versa
Low coupling is
A sign of a well-structured computer system
Good design
When combined with high cohesion
Supports high readability, maintainability, extendibility, and
reusability
Micro Service Architecture == High Cohesion & Low Coupling
Why Should I Care About Coupling
Tightly coupled systems tend to exhibit the following
developmental characteristics
A change in one module usually forces a ripple (cascading) effect
of changes in other modules
Assembly of modules might require more effort and/or time due
to the increased inter-module dependency
A particular module might be harder to reuse and/or test because
dependent modules must be included
The DevOps process becomes a nightmare!!!
19
How to Decouple Microservices
Have a managed hosting environment
Cloud, Kubernetes, Service Fabric
Use messages (not types)
Use Queues
Or use Service Locators + Load Balancers
20
So Should I Do Microservices?
YES, but only if you have:
Capable architects
Rapid compute provisioning
Mature CI/CD pipelines
Advanced DevOps culture
OR – get some experts to help 
21
Source: https://bit.ly/2oro8Pi
22
Erez Pedro, Head of UX (CodeValue)
UX Tools for Product Discovery
Agenda
What challenges can UX tools help with?
What is product discovery?
Goals
When should it be done?
Variations in discovery tools by product context
Ways to do blitz type product discovery
(GV’s Design Sprint, Design thinking)
What we do in our Discovery Workshop?
23
Hitting the target is as easy as:
Ready, Aim, Shoot!
24
Ready, Aim, Shoot!
Easy, right?
Sometimes you don’t hit the mark
You have a limited number of arrows
Moving targets
25
Design Sprint
Understand Define Diverge Decide Prototype Validate
Google Design Sprint
• Group conclusion
• Joint ownership
• Quick reviews with clarifications
Product Manager
(inbound)
Business
(outbound)
UX
Architect
Technical
Architect
Ready – Product Vision
28
Ready - need to identify a target
In the beginning it is all a blur
Need to decompose the problem
29
Ready, for what?
Business goals
Functional goals
Usability goals
30
Variation in Market Focus
31
Fun consumer product
Professional tool
High
Medium
Low
Efficiency Effectiveness Error Tolerant Easy to learn Engaging
Stand out in the crowd
32
Identifying our users
33
User analysis tools
Origin: Anthropology
Tribal behavior
It is relevant?
Duhh!
Its often about desire not always needs
35
Watch & Listen to your users
Understanding our user’s state of mind
36“Adapting empathy maps for UX design.” Paul Boag
Aim - product vision  product requirements
Concentrate on customer pain points
What will create the most value - USP?
What should the product experience feel like?
37
Focusing on biggest pain points
OnBoarding Search Criteria Review Results Comparison
& Decision
Exit
funnel
Discovery is a mental
state, not just a project
phase.
“
Customer Friend that knows The listing system Barbershop coordinator
Need to find a
barber
Time for a cut
Search for a
barbershop
Select a barbershop
What do they offer?
List of services in selected
barbershop
Select service(s)
Find available slots
List of services
<Initial>
List of services
<available>
List of services
<Requested>
Select slot and pay
List of open slots
<available>
Set a reminder
Find relevant shops
Book the slot for selected service(s)
Book in calendar
Workflow analysis
Product Visualization
in Flow
Shoot!
Release now?
Do something before?
42
The solution
Guided arrow/ missile
43
https://youtu.be/PWiU_HIZ4Jc
Testing with LoFi prototypes
45
Ronen Rubinfeld, Dev. Management & Methodology Lead (CodeValue)
Planning the unexpected…
Dealing with today's rapidly changing reality
using Agile
Today’s reality
Complexity
Uncertainty
Complexity
Ambiguity
Change
Fast
Early
Risk
CodeValue Architecture Next 2018 - Executive track  dilemmas and solutions in modern software development
So, how do we do it then?...
Complexity
Uncertainty
Risk
Change
Value
Agility
49
Today’s Products are…
The “Agile Challenge”
Bottom Up
Top Down
Work incrementally in small steps
while
Seeing the big picture
The Process
Backlog
Feature Feature
FeatureFeatureFeature
FeatureFeature Feature
Feature Feature Feature
Feature
Feature
Overall Product
Process Outline
Backlog: Views
Single Requirements Repository - Different Views
Product Backlog
• Holds all Requirements of the Product
• Regardless the expected release planning
• Managed on Epic / Feature level
Release Backlog
• Defines the scope of a given Release
• Baseline is defined at the beginning of the Release
• Requirements detailing evolves throughout the Release’s lifetime
• Additions / modifications to the Release backlog are managed in a formal process
Sprint Backlog
• Defines the scope of a given Sprint on a US level
• Finalized and signed-off close to the Sprint’s begging
• Committed upon the beginning of the Sprint
Release 1
Release 2
Release 3
Product
Backlog
Sprint 1
Sprint 2
Sprint 3
Product Backlog: Hierarchical Structure
Epic
• Top-level breakdown of the Product
• Describe the “Investment Buckets” / Main goals of the Product
• Can be considered as a “Convenience” level
Feature
• The “what” – what is implemented
• Smallest functional increment that provides value to the end-user
• Implementation should be completed within a Release
• Can be implemented by several teams
Product Backlog Item / User Story
• The “how” – Breakdown of the Features to implementation details
• Smallest functional increment that provides value to the System
• Implementation should be completed within a single Sprint
• Should be implemented by a single Team
• Reflects the architecture and potentially the org structure
Epic
Feature
User
Story
Epic
Feature
User Story
CodeValue Architecture Next 2018 - Executive track  dilemmas and solutions in modern software development
Agile Heartbeat
Release 1 Release 2
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6
3 Months 3 Months
2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks
Project
Product
BL
Release Heartbeat
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6
2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks
Release 1
Plan Implementation Stable
Product
Backlog
Release 1
Sprint1
Sprint2
Sprint3
Sprint4
Sprint5
Sprint6
Release Heartbeat
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6
2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks
Release 1
Plan Implementation Stable
Product
Backlog
Release 1
Sprint1
Sprint2
Sprint3
Sprint4
Sprint5
Sprint6
User
Story
User
Story
User
Story
User
Story
User
Story
User
Story
User
Story
User
Story
User
Story
Feature
Feature
Feature
User
Story
User
Story
User
Story
User
Story
User
Story
User
Story
User
Story User
Story
User
Story
User
Story
User
Story
Agile Heartbeat
Release 1
Plan Implementation Stable
Release 2
Plan Implementation Stable
60
Takeaways
62

More Related Content

What's hot (20)

PPTX
App Modernisation with Microsoft Azure
Adam Stephensen
 
PDF
State of Mainframe DevOps
DevOps.com
 
PDF
Explain DevOps To Me Like I’m Five: DevOps for Managers
Gene Gotimer
 
PPTX
Dev opscon survey summary 2013
Alan Shimel
 
PPTX
Application_security_Strategic
Ramesh VG
 
PDF
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...
Cyber Security Alliance
 
PPTX
Mark Harrison AppDev 2021
Mark Harrison
 
PPTX
Infrastructure less development with Azure Service Fabric
Saba Jamalian
 
PPTX
SDLC & DevOps Transformation with Agile
Abdel Moneim Emad
 
PDF
Jesse Pulfer Pivotal Overview June 2018
VMware Tanzu
 
PPTX
Erik Baardse - Bringing Agility to Traditional application by docker
Agile Impact Conference
 
PPTX
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
PDF
InterConnect 2017 : Programming languages in the enterprise: Which language s...
DevOps for Enterprise Systems
 
PPTX
Designing a Reliable Software Factory for the Cloud
AnkaraCloud
 
PPTX
The DevOps Journey
Micro Focus
 
PDF
Virtual Desktop Infrastructure with Novell Endpoint Management Solutions
Novell
 
PPTX
Intro to android (gdays)
Omolara Adejuwon
 
PDF
Enabling z Agility with DevOps and Enterprise Transformation
DevOps for Enterprise Systems
 
PDF
Iac evolutions
Prancer Io
 
PPTX
DevOps in the Cloud
Eran Stiller
 
App Modernisation with Microsoft Azure
Adam Stephensen
 
State of Mainframe DevOps
DevOps.com
 
Explain DevOps To Me Like I’m Five: DevOps for Managers
Gene Gotimer
 
Dev opscon survey summary 2013
Alan Shimel
 
Application_security_Strategic
Ramesh VG
 
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...
Cyber Security Alliance
 
Mark Harrison AppDev 2021
Mark Harrison
 
Infrastructure less development with Azure Service Fabric
Saba Jamalian
 
SDLC & DevOps Transformation with Agile
Abdel Moneim Emad
 
Jesse Pulfer Pivotal Overview June 2018
VMware Tanzu
 
Erik Baardse - Bringing Agility to Traditional application by docker
Agile Impact Conference
 
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
InterConnect 2017 : Programming languages in the enterprise: Which language s...
DevOps for Enterprise Systems
 
Designing a Reliable Software Factory for the Cloud
AnkaraCloud
 
The DevOps Journey
Micro Focus
 
Virtual Desktop Infrastructure with Novell Endpoint Management Solutions
Novell
 
Intro to android (gdays)
Omolara Adejuwon
 
Enabling z Agility with DevOps and Enterprise Transformation
DevOps for Enterprise Systems
 
Iac evolutions
Prancer Io
 
DevOps in the Cloud
Eran Stiller
 

Similar to CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in modern software development (20)

PPTX
The Need for Speed
Capgemini
 
PPTX
Agile Development unleashed
livgeni
 
PDF
Introduction to DevSecOps. An intuitiv approach
FrancisXavierInyanga
 
PPTX
Critical Capabilities to Shifting Left the Right Way
SmartBear
 
PPTX
Making software development processes to work for you
Ambientia
 
PDF
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Steve Mercier
 
PPTX
First Step in AI and DevOps --- Chapter 1.pptx
SanaRizwan21
 
PDF
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
FITC
 
PPTX
Modern software architect post the agile wave
Niels Bech Nielsen
 
PPTX
Continuous integration for se group meeting
Sergii Shmarkatiuk
 
PPT
Unit 1.ppt
MsRAMYACSE
 
PPTX
Agile & DevOps - It's all about project success
Adam Stephensen
 
ODP
Desmistificando Tecnologias
Juliano Martins
 
PDF
DevOps Operations Challenges
Vijaya K
 
PPTX
WDS trainer presentation - MLOps.pptx
Arthur240715
 
PPTX
PureApplication: Devops and Urbancode
John Hawkins
 
DOC
DevOps - Bridging Development & Operations.doc
TCCI Computer Coaching
 
PPT
P4 Branching Overview
Go2Group, Inc.
 
PPTX
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
XebiaLabs
 
PDF
Migliorare la Developer Experience in un mondo Cloud Native
Commit University
 
The Need for Speed
Capgemini
 
Agile Development unleashed
livgeni
 
Introduction to DevSecOps. An intuitiv approach
FrancisXavierInyanga
 
Critical Capabilities to Shifting Left the Right Way
SmartBear
 
Making software development processes to work for you
Ambientia
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Steve Mercier
 
First Step in AI and DevOps --- Chapter 1.pptx
SanaRizwan21
 
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
FITC
 
Modern software architect post the agile wave
Niels Bech Nielsen
 
Continuous integration for se group meeting
Sergii Shmarkatiuk
 
Unit 1.ppt
MsRAMYACSE
 
Agile & DevOps - It's all about project success
Adam Stephensen
 
Desmistificando Tecnologias
Juliano Martins
 
DevOps Operations Challenges
Vijaya K
 
WDS trainer presentation - MLOps.pptx
Arthur240715
 
PureApplication: Devops and Urbancode
John Hawkins
 
DevOps - Bridging Development & Operations.doc
TCCI Computer Coaching
 
P4 Branching Overview
Go2Group, Inc.
 
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
XebiaLabs
 
Migliorare la Developer Experience in un mondo Cloud Native
Commit University
 
Ad

Recently uploaded (20)

PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Latest Capcut Pro 5.9.0 Crack Version For PC {Fully 2025
utfefguu
 
PDF
NPD Software -Omnex systems
omnex systems
 
PDF
Introduction to Apache Iceberg™ & Tableflow
Alluxio, Inc.
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
PDF
Optimizing Tiered Storage for Low-Latency Real-Time Analytics at AI Scale
Alluxio, Inc.
 
PPTX
MiniTool Partition Wizard Crack 12.8 + Serial Key Download Latest [2025]
filmoracrack9001
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PDF
Show Which Projects Support Your Strategy and Deliver Results with OnePlan df
OnePlan Solutions
 
PPTX
Function & Procedure: Function Vs Procedure in PL/SQL
Shani Tiwari
 
PPTX
BB FlashBack Pro 5.61.0.4843 With Crack Free Download
cracked shares
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
PDF
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Latest Capcut Pro 5.9.0 Crack Version For PC {Fully 2025
utfefguu
 
NPD Software -Omnex systems
omnex systems
 
Introduction to Apache Iceberg™ & Tableflow
Alluxio, Inc.
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
Optimizing Tiered Storage for Low-Latency Real-Time Analytics at AI Scale
Alluxio, Inc.
 
MiniTool Partition Wizard Crack 12.8 + Serial Key Download Latest [2025]
filmoracrack9001
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Show Which Projects Support Your Strategy and Deliver Results with OnePlan df
OnePlan Solutions
 
Function & Procedure: Function Vs Procedure in PL/SQL
Shani Tiwari
 
BB FlashBack Pro 5.61.0.4843 With Crack Free Download
cracked shares
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Ad

CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in modern software development

  • 2. Dilemmas and Solutions in Modern Software Development Alon Fliess Chief Software Architect Azure MVP, MRD [email protected] http://alonfliess.me 2
  • 3. Agenda To Microservice or Not to Microservice? UX Tools for Product Discovery Planning the Unexpected: Dealing with a Rapidly Changing Reality 4
  • 4. 5 Eran Stiller, Chief Technology Officer (CodeValue) To Microservice or Not to Microservice?
  • 5. Decomposition Is this a good design?
  • 6. Decomposition Is this a good design?
  • 7. Decomposition Is this a good design?
  • 8. Decomposition Is this a good design?
  • 9. The Cost of the Software Development Process number of modules Module Integration cost (complexity) module development Cost (complexity)Cost
  • 10. Microservices Platforms Benefits Modern microservices platforms significantly reduce the cost of module integration Shifting the cost equilibrium towards more modules Especially true when using proven PaaS platforms Both public and private cloud based The integration cost decreases with two factors: Mature PaaS platform Proven DevOps process 11
  • 11. Monoliths Why are monoliths considered a bad thing? They’re not They all started with good intentions They usually become convoluted over time Features are added People change Deadlines happen Technical debt accumulated It’s very easy to fall 12
  • 12. Microservices Are Microservices the solution? They also start with good intentions Will become convoluted with time as well Without proper architecture and guidance 13
  • 13. Monoliths Natural starting point Easier to get started and deliver value Simpler build and deployment Simpler scalability Simpler security Low latency Intra-process communication Simpler testing Simpler logging and monitoring Simpler data and database management Simpler transaction management Large code base Simple change requires whole app to be redeployed Increased complexity as functionality is coupled together Single type of database doesn’t meet all requirements Tend to get difficult to work with over time Huge resource requirements Reduced agility over time Coarse-grain transactions 14 Source: https://bit.ly/2vf6eov
  • 14. Microservices Smaller manageable functional units Multiple smaller code bases Single service provides single functionality Single responsibility per service Clearer separation of concerns Independently scalable services Polyglot persistence as applicable Polyglot programming language as applicable Independently deployable Easier on-boarding process Frequent functionality releases Decentralized ownership Team that develops it, manages it Distributed System Architecture Design, Development, Deployment, CAP theorem Handle Increased orchestration Troubleshooting challenges Call Traceability Log aggregation Data consistency issues Eventual consistency Compensatory & reconciliatory procedures Increased latency due to remote calls Distributed Configuration Management Organizational Maturity Company Culture Engineering practices IT Operations Software defined networks On-demand infrastructure provisioning Architectural complexity 15 Source: https://bit.ly/2vf6eov
  • 15. Microservices Drawbacks Solution Plan ahead DevOps Use supporting platforms Cloud Containers Architect Low Coupling, High Cohesion Schema/API Versioning 16
  • 16. Cohesion The degree to which a module performs one and only one function Strive for high cohesion A module can be: Library (assembly, shared module, DLL) File Class Method COM/CORBA component (Micro) Service Any reusable element
  • 17. Coupling The degree to which each program module relies on each of the other modules Low coupling often correlates with high cohesion, and vice versa Low coupling is A sign of a well-structured computer system Good design When combined with high cohesion Supports high readability, maintainability, extendibility, and reusability Micro Service Architecture == High Cohesion & Low Coupling
  • 18. Why Should I Care About Coupling Tightly coupled systems tend to exhibit the following developmental characteristics A change in one module usually forces a ripple (cascading) effect of changes in other modules Assembly of modules might require more effort and/or time due to the increased inter-module dependency A particular module might be harder to reuse and/or test because dependent modules must be included The DevOps process becomes a nightmare!!! 19
  • 19. How to Decouple Microservices Have a managed hosting environment Cloud, Kubernetes, Service Fabric Use messages (not types) Use Queues Or use Service Locators + Load Balancers 20
  • 20. So Should I Do Microservices? YES, but only if you have: Capable architects Rapid compute provisioning Mature CI/CD pipelines Advanced DevOps culture OR – get some experts to help  21 Source: https://bit.ly/2oro8Pi
  • 21. 22 Erez Pedro, Head of UX (CodeValue) UX Tools for Product Discovery
  • 22. Agenda What challenges can UX tools help with? What is product discovery? Goals When should it be done? Variations in discovery tools by product context Ways to do blitz type product discovery (GV’s Design Sprint, Design thinking) What we do in our Discovery Workshop? 23
  • 23. Hitting the target is as easy as: Ready, Aim, Shoot! 24
  • 24. Ready, Aim, Shoot! Easy, right? Sometimes you don’t hit the mark You have a limited number of arrows Moving targets 25
  • 25. Design Sprint Understand Define Diverge Decide Prototype Validate Google Design Sprint
  • 26. • Group conclusion • Joint ownership • Quick reviews with clarifications Product Manager (inbound) Business (outbound) UX Architect Technical Architect
  • 27. Ready – Product Vision 28
  • 28. Ready - need to identify a target In the beginning it is all a blur Need to decompose the problem 29
  • 29. Ready, for what? Business goals Functional goals Usability goals 30
  • 30. Variation in Market Focus 31 Fun consumer product Professional tool High Medium Low Efficiency Effectiveness Error Tolerant Easy to learn Engaging
  • 31. Stand out in the crowd 32
  • 33. User analysis tools Origin: Anthropology Tribal behavior It is relevant? Duhh!
  • 34. Its often about desire not always needs 35 Watch & Listen to your users
  • 35. Understanding our user’s state of mind 36“Adapting empathy maps for UX design.” Paul Boag
  • 36. Aim - product vision  product requirements Concentrate on customer pain points What will create the most value - USP? What should the product experience feel like? 37
  • 37. Focusing on biggest pain points OnBoarding Search Criteria Review Results Comparison & Decision Exit funnel
  • 38. Discovery is a mental state, not just a project phase. “
  • 39. Customer Friend that knows The listing system Barbershop coordinator Need to find a barber Time for a cut Search for a barbershop Select a barbershop What do they offer? List of services in selected barbershop Select service(s) Find available slots List of services <Initial> List of services <available> List of services <Requested> Select slot and pay List of open slots <available> Set a reminder Find relevant shops Book the slot for selected service(s) Book in calendar Workflow analysis
  • 42. The solution Guided arrow/ missile 43 https://youtu.be/PWiU_HIZ4Jc
  • 43. Testing with LoFi prototypes
  • 44. 45 Ronen Rubinfeld, Dev. Management & Methodology Lead (CodeValue) Planning the unexpected… Dealing with today's rapidly changing reality using Agile
  • 47. So, how do we do it then?... Complexity Uncertainty Risk Change Value Agility
  • 49. The “Agile Challenge” Bottom Up Top Down Work incrementally in small steps while Seeing the big picture
  • 51. Backlog Feature Feature FeatureFeatureFeature FeatureFeature Feature Feature Feature Feature Feature Feature Overall Product Process Outline
  • 52. Backlog: Views Single Requirements Repository - Different Views Product Backlog • Holds all Requirements of the Product • Regardless the expected release planning • Managed on Epic / Feature level Release Backlog • Defines the scope of a given Release • Baseline is defined at the beginning of the Release • Requirements detailing evolves throughout the Release’s lifetime • Additions / modifications to the Release backlog are managed in a formal process Sprint Backlog • Defines the scope of a given Sprint on a US level • Finalized and signed-off close to the Sprint’s begging • Committed upon the beginning of the Sprint Release 1 Release 2 Release 3 Product Backlog Sprint 1 Sprint 2 Sprint 3
  • 53. Product Backlog: Hierarchical Structure Epic • Top-level breakdown of the Product • Describe the “Investment Buckets” / Main goals of the Product • Can be considered as a “Convenience” level Feature • The “what” – what is implemented • Smallest functional increment that provides value to the end-user • Implementation should be completed within a Release • Can be implemented by several teams Product Backlog Item / User Story • The “how” – Breakdown of the Features to implementation details • Smallest functional increment that provides value to the System • Implementation should be completed within a single Sprint • Should be implemented by a single Team • Reflects the architecture and potentially the org structure Epic Feature User Story Epic Feature User Story
  • 55. Agile Heartbeat Release 1 Release 2 Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 3 Months 3 Months 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks Project Product BL
  • 56. Release Heartbeat Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks Release 1 Plan Implementation Stable Product Backlog Release 1 Sprint1 Sprint2 Sprint3 Sprint4 Sprint5 Sprint6
  • 57. Release Heartbeat Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks 2 Weeks Release 1 Plan Implementation Stable Product Backlog Release 1 Sprint1 Sprint2 Sprint3 Sprint4 Sprint5 Sprint6 User Story User Story User Story User Story User Story User Story User Story User Story User Story Feature Feature Feature User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story
  • 58. Agile Heartbeat Release 1 Plan Implementation Stable Release 2 Plan Implementation Stable
  • 60. 62

Editor's Notes

  • #6: Alon to introduce
  • #13: https://pixabay.com/en/maldives-palma-beach-sand-3220702/ https://pixabay.com/en/hurricane-irma-home-destruction-2857982/
  • #14: https://pixabay.com/en/balls-of-wool-colors-storage-locker-2689442/ https://pixabay.com/en/flecked-heathered-wool-wool-knit-1228706/
  • #17: Free image source: https://pixabay.com/en/approval-female-gesture-hand-happy-15914/
  • #23: Alon to introduce
  • #32: Objective performance Subjective image/impression Other General relationship Attractiveness of system Ease of use Utility Degree of usage Other Compositional Sensual Emotional
  • #36: Products vary substantially, the analysis tools should adapt
  • #41: ניתוח תהליכי
  • #42: Quick
  • #43: So what should the discovery team do now? Maybe just shoot a quick one And test … (prototype)
  • #46: Alon to introduce
  • #47: קצת על הסביבה בה אנו פעלים היום: Rapidly changing environment High Complexity Uncertainty Risk Value Short time to market / Fast Technological complexity
  • #48: אז מה כל זה בעצם אומר? אנחנו חיים היום במציאות המחייבת אותנו להתמודד עם שינוי... אם בעבר אולי עוד חשבנו שניתן להמנע משינויים, היום אנחנו מבינים שלא רק שאנחנו לא יכולים להמנע מהם אלא שאנחנו רוצים לחשף אותם ולקבל את הפידבק כדי להבטיח מוצר טוב ואיכותי יותר אז מה הבעיה? עלות השינוי – ככל שהעלות שנדרשת כדי להתמודד עם השינוי גבוהה יותר, אנחנו ננסה להמנע משינויים ובטח שלא נחפש את הפידבק...
  • #49: אז בעצם, הדרך להתמודד עם כל המורכבויות שדברנו עליהן - סביבה טכנולוגית מורכבת - אי וודאות - שינוי - Risk Time to market ... היא ע"י אג'ייל אז מה זה אג'ייל? עבודה איטרטיבית ואינקרימנטלית – לספק Incriminates קטנים של value בצורה איטרטיבית כלומר באופן דחוף על מנת שנוכל לבחון את עצמנו, לקבל פידבק על מה שעשינו ולבצע את ההתאמות הנדרשות במילים אחרות – התקדמות בצעדים קטנים כשבכל צעד "מחשבים כיוון מחדש" ומחליטים איך להתקדם קדימה
  • #50: אבל.... מוצרים היום הם: מורכבים מסובכים מפותחים ע"י מס' צוותים במקביל בקיצור – מצד אחד צריך לראות את התמונה הגדולה ולהבין מה נדרש ומה רוצים לעשות, כדי לא לפספס את המטרה הסופית ומצד שני ללכת את הדרך בצעדים קטנים
  • #51: וזה בעצם האתגר העיקרי שבו אנחנו נתקלים בשימוש באג'ייל – איך מאזנים בין התמונה הגדולה לבין ההתקדמות בצעדים קטנים, Zoom-in vs. Zoom-out האתגר המרכזי באג'ייל – איך אני יכול לבצע את העבודה בצעדים קטנים כשאני לא יודע מה רוצים להשיג ולאן רוצים להגיע. האתגר הוא בעצם להיות מסוגלים לראות ולהגדיר את התמונה המלאה אבל ברמה של JUAST ENOUGH כדי לאפשר ולהגיע אליה בצעדים קטנים כאשר תוך כדי כל הזמן מעדכנים ומתאימים למציאות המשתנה ולדברים החדשים שצצים לאורך הדרך נסיון לקבע מצב מסוים ולהתייחס אליו כאל היעד הסופי הוא לא ריאלי המטרה שלנו לעשות רק מה שנחוץ כדי להבין ולאפשר להגדיר את הצעד הבא צלילה לפרטים תעשה עבור כל מקרה לגופו ממש לפני המימוש
  • #54: Emphasize that Sprint backlog is a bi-directional commitment
  • #56: תחשבו על הערך שהמשתמש של המערכת יקבל לא את העבודה שצריכה להיעשות