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

App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureAdam Stephensen
 
State of Mainframe DevOps
State of Mainframe DevOpsState of Mainframe DevOps
State of Mainframe DevOpsDevOps.com
 
Explain DevOps To Me Like I’m Five: DevOps for Managers
Explain DevOps To Me Like I’m Five: DevOps for ManagersExplain DevOps To Me Like I’m Five: DevOps for Managers
Explain DevOps To Me Like I’m Five: DevOps for ManagersGene Gotimer
 
Dev opscon survey summary 2013
Dev opscon survey summary 2013Dev opscon survey summary 2013
Dev opscon survey summary 2013Alan Shimel
 
Application_security_Strategic
Application_security_StrategicApplication_security_Strategic
Application_security_StrategicRamesh VG
 
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...ASFWS 2012 - Theory vs Practice in implementing Software Security related act...
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...Cyber Security Alliance
 
Mark Harrison AppDev 2021
Mark Harrison AppDev 2021Mark Harrison AppDev 2021
Mark Harrison AppDev 2021Mark Harrison
 
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricInfrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricSaba Jamalian
 
SDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileSDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileAbdel Moneim Emad
 
Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018VMware Tanzu
 
Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerAgile Impact Conference
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...DevOps for Enterprise Systems
 
Designing a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the CloudDesigning a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the CloudAnkaraCloud
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps JourneyMicro Focus
 
Virtual Desktop Infrastructure with Novell Endpoint Management Solutions
Virtual Desktop Infrastructure with Novell Endpoint Management SolutionsVirtual Desktop Infrastructure with Novell Endpoint Management Solutions
Virtual Desktop Infrastructure with Novell Endpoint Management SolutionsNovell
 
Enabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise TransformationEnabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise TransformationDevOps for Enterprise Systems
 
Iac evolutions
Iac evolutionsIac evolutions
Iac evolutionsPrancer Io
 
DevOps in the Cloud
DevOps in the CloudDevOps in the Cloud
DevOps in the CloudEran Stiller
 

What's hot (20)

App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft Azure
 
State of Mainframe DevOps
State of Mainframe DevOpsState of Mainframe DevOps
State of Mainframe DevOps
 
Explain DevOps To Me Like I’m Five: DevOps for Managers
Explain DevOps To Me Like I’m Five: DevOps for ManagersExplain DevOps To Me Like I’m Five: DevOps for Managers
Explain DevOps To Me Like I’m Five: DevOps for Managers
 
Dev opscon survey summary 2013
Dev opscon survey summary 2013Dev opscon survey summary 2013
Dev opscon survey summary 2013
 
Application_security_Strategic
Application_security_StrategicApplication_security_Strategic
Application_security_Strategic
 
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...ASFWS 2012 - Theory vs Practice in implementing Software Security related act...
ASFWS 2012 - Theory vs Practice in implementing Software Security related act...
 
Mark Harrison AppDev 2021
Mark Harrison AppDev 2021Mark Harrison AppDev 2021
Mark Harrison AppDev 2021
 
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricInfrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service Fabric
 
SDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileSDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with Agile
 
Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018
 
Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by docker
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...
 
Designing a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the CloudDesigning a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the Cloud
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
Virtual Desktop Infrastructure with Novell Endpoint Management Solutions
Virtual Desktop Infrastructure with Novell Endpoint Management SolutionsVirtual Desktop Infrastructure with Novell Endpoint Management Solutions
Virtual Desktop Infrastructure with Novell Endpoint Management Solutions
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
 
Enabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise TransformationEnabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise Transformation
 
Iac evolutions
Iac evolutionsIac evolutions
Iac evolutions
 
DevOps in the Cloud
DevOps in the CloudDevOps in the Cloud
DevOps in the Cloud
 

Similar to Dilemmas and Solutions in Modern Software Development

The Need for Speed
The Need for SpeedThe Need for Speed
The Need for SpeedCapgemini
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashedlivgeni
 
Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachFrancisXavierInyanga
 
Critical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WayCritical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WaySmartBear
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Steve Mercier
 
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile ChallengesIs Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile ChallengesFITC
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meetingSergii Shmarkatiuk
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Desmistificando Tecnologias
Desmistificando TecnologiasDesmistificando Tecnologias
Desmistificando TecnologiasJuliano Martins
 
DevOps Operations Challenges
DevOps Operations ChallengesDevOps Operations Challenges
DevOps Operations ChallengesVijaya K
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxArthur240715
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodeJohn Hawkins
 
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...XebiaLabs
 
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...AgileNetwork
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...SlideTeam
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareJuan Gomez
 

Similar to Dilemmas and Solutions in Modern Software Development (20)

The Need for Speed
The Need for SpeedThe Need for Speed
The Need for Speed
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approach
 
Critical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WayCritical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right Way
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015
 
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile ChallengesIs Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meeting
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Desmistificando Tecnologias
Desmistificando TecnologiasDesmistificando Tecnologias
Desmistificando Tecnologias
 
DevOps Operations Challenges
DevOps Operations ChallengesDevOps Operations Challenges
DevOps Operations Challenges
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and Urbancode
 
P4 Branching Overview
P4 Branching OverviewP4 Branching Overview
P4 Branching Overview
 
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
 
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de software
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Dilemmas and Solutions in Modern Software Development

  • 1.
  • 2. Dilemmas and Solutions in Modern Software Development Alon Fliess Chief Software Architect Azure MVP, MRD alonf@codevalue.net 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
  • 46.
  • 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
  • 54.
  • 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

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