SlideShare a Scribd company logo
Infrastructure code in agile  software development Elad Sofer – Agile coach blog.thescrumster.com [email_address] Twitter:  @ eladsof
What is infrastructure code? ,[object Object]
Infrastructure code is Good! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Software infrastructure  The traditional way - Common problems
#1 - It’s never DONE
#2 - Too big to handle
#3 – Who’s code is this?
#4 – Becomes the bottleneck
#5 – Too much functionality
#6 – House of cards
#7 – Hero culture
#8 –  Component Teams Component A Component B Component C Infrastructure
#8 –  Component Teams Release feature list: Feature 1 – A(20%) B(30%) I(50%) Feature 2 – A(40%) B(20%) I(40%) Feature 3 – B(50%) C(10%), I(40%) Feature 4 – A(40%) C(10%), I(50%)  Feature 5 – A(20%) C(50%) I(30%) Total Effort needed: A – 120 B – 100 C – 70 D – 210 Component A Component B Component C Infrastructure
#8 –  Component Teams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Software infrastructure  The agile way
Agile s/w development ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Incremental development
Simplicity
Shared code ownership.
Feature areas UI Business logic Data model Infrastructure Security related Features User admin related features Item CRUD   related features Reporting related features
Feature teams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Business results oriented.
Infrastructure grows
Collaborative.
spiral (waterfall)  vs.  iterative
Balance discipline and flexibility.  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 

More Related Content

What's hot

GlobalIDGroup_MarkCutter
GlobalIDGroup_MarkCutterGlobalIDGroup_MarkCutter
GlobalIDGroup_MarkCutter
Rahul Vats
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
Lemi Orhan Ergin
 
Sra1(swt) ppt2
Sra1(swt) ppt2Sra1(swt) ppt2
Sra1(swt) ppt2
Sravan Kumar
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
tigneb
 
Getting Started With QA Automation
Getting Started With QA AutomationGetting Started With QA Automation
Getting Started With QA Automation
Giovanni Scerra ☃
 
20080531 Intro To Dependency Injection & Inversion Of Control
20080531 Intro To Dependency Injection & Inversion Of Control20080531 Intro To Dependency Injection & Inversion Of Control
20080531 Intro To Dependency Injection & Inversion Of Control
donnfelker
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
bryanbibat
 
.NET Career Direction
.NET Career Direction.NET Career Direction
.NET Career Direction
Volodymyr Voytyshyn
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
matthidinger
 
Post-REST Manifesto
Post-REST ManifestoPost-REST Manifesto
Post-REST Manifesto
Jakub Nesetril
 
Harmony in API Design
Harmony in API DesignHarmony in API Design
Harmony in API Design
Jakub Nesetril
 
Blue Prism Top Interview Questions | Edureka
Blue Prism Top Interview Questions | EdurekaBlue Prism Top Interview Questions | Edureka
Blue Prism Top Interview Questions | Edureka
Edureka!
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scale
Rahul Dighe
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
Ashis Kumar Chanda
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
Yan Cui
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in Action
Lemi Orhan Ergin
 
How To Become An Excellent Software Engineer, by Lee Bob Black
How To Become An Excellent Software Engineer, by Lee Bob BlackHow To Become An Excellent Software Engineer, by Lee Bob Black
How To Become An Excellent Software Engineer, by Lee Bob Black
SkilledUp
 
Idol software presentation
Idol software presentationIdol software presentation
Idol software presentation
darleneputnam
 
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Artjoker
 
Test Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTech
Test Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTechTest Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTech
Test Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTech
QA InfoTech
 

What's hot (20)

GlobalIDGroup_MarkCutter
GlobalIDGroup_MarkCutterGlobalIDGroup_MarkCutter
GlobalIDGroup_MarkCutter
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
 
Sra1(swt) ppt2
Sra1(swt) ppt2Sra1(swt) ppt2
Sra1(swt) ppt2
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
 
Getting Started With QA Automation
Getting Started With QA AutomationGetting Started With QA Automation
Getting Started With QA Automation
 
20080531 Intro To Dependency Injection & Inversion Of Control
20080531 Intro To Dependency Injection & Inversion Of Control20080531 Intro To Dependency Injection & Inversion Of Control
20080531 Intro To Dependency Injection & Inversion Of Control
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
 
.NET Career Direction
.NET Career Direction.NET Career Direction
.NET Career Direction
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
 
Post-REST Manifesto
Post-REST ManifestoPost-REST Manifesto
Post-REST Manifesto
 
Harmony in API Design
Harmony in API DesignHarmony in API Design
Harmony in API Design
 
Blue Prism Top Interview Questions | Edureka
Blue Prism Top Interview Questions | EdurekaBlue Prism Top Interview Questions | Edureka
Blue Prism Top Interview Questions | Edureka
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scale
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in Action
 
How To Become An Excellent Software Engineer, by Lee Bob Black
How To Become An Excellent Software Engineer, by Lee Bob BlackHow To Become An Excellent Software Engineer, by Lee Bob Black
How To Become An Excellent Software Engineer, by Lee Bob Black
 
Idol software presentation
Idol software presentationIdol software presentation
Idol software presentation
 
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
 
Test Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTech
Test Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTechTest Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTech
Test Automation - Insights Into Frameworks by Anup Patnaik, QA InfoTech
 

Viewers also liked

SE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalSE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram final
Tomer Peretz
 
Domain specific languages
Domain specific languagesDomain specific languages
Domain specific languages
Dror Helper
 
Leading agile teams
Leading agile teamsLeading agile teams
Leading agile teams
Elad Sofer
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
Elad Sofer
 
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalks
Elad Sofer
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
Elad Sofer
 
It's More complex than you think
It's More complex than you thinkIt's More complex than you think
It's More complex than you think
Elad Sofer
 
More with LeSS - short intro
More with LeSS - short introMore with LeSS - short intro
More with LeSS - short intro
Elad Sofer
 
Feedback - The Secret ingredient of success
Feedback - The Secret ingredient of successFeedback - The Secret ingredient of success
Feedback - The Secret ingredient of success
Elad Sofer
 
Why move to Scrum ?
Why move to Scrum ?Why move to Scrum ?
Why move to Scrum ?
Elad Sofer
 
Scrum intro
Scrum intro Scrum intro
Scrum intro
Elad Sofer
 
Scrum training day 1
Scrum training day 1Scrum training day 1
Scrum training day 1
Elad Sofer
 
Scrum training day 2
Scrum training day 2Scrum training day 2
Scrum training day 2
Elad Sofer
 
Less intro workshop
Less intro workshopLess intro workshop
Less intro workshop
Elad Sofer
 
Lean sw development il tech-talks
Lean sw development   il tech-talksLean sw development   il tech-talks
Lean sw development il tech-talks
Elad Sofer
 
Agile estimation and planning
Agile estimation and planning Agile estimation and planning
Agile estimation and planning
Elad Sofer
 
Practical-Agile Product owner workshop
Practical-Agile Product owner workshopPractical-Agile Product owner workshop
Practical-Agile Product owner workshop
Elad Sofer
 
Advanced Scrum master workshop
Advanced Scrum master workshopAdvanced Scrum master workshop
Advanced Scrum master workshop
Elad Sofer
 
Get rid of boring retrospectives
Get rid of boring retrospectivesGet rid of boring retrospectives
Get rid of boring retrospectives
Elad Sofer
 

Viewers also liked (19)

SE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalSE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram final
 
Domain specific languages
Domain specific languagesDomain specific languages
Domain specific languages
 
Leading agile teams
Leading agile teamsLeading agile teams
Leading agile teams
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
 
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalks
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
 
It's More complex than you think
It's More complex than you thinkIt's More complex than you think
It's More complex than you think
 
More with LeSS - short intro
More with LeSS - short introMore with LeSS - short intro
More with LeSS - short intro
 
Feedback - The Secret ingredient of success
Feedback - The Secret ingredient of successFeedback - The Secret ingredient of success
Feedback - The Secret ingredient of success
 
Why move to Scrum ?
Why move to Scrum ?Why move to Scrum ?
Why move to Scrum ?
 
Scrum intro
Scrum intro Scrum intro
Scrum intro
 
Scrum training day 1
Scrum training day 1Scrum training day 1
Scrum training day 1
 
Scrum training day 2
Scrum training day 2Scrum training day 2
Scrum training day 2
 
Less intro workshop
Less intro workshopLess intro workshop
Less intro workshop
 
Lean sw development il tech-talks
Lean sw development   il tech-talksLean sw development   il tech-talks
Lean sw development il tech-talks
 
Agile estimation and planning
Agile estimation and planning Agile estimation and planning
Agile estimation and planning
 
Practical-Agile Product owner workshop
Practical-Agile Product owner workshopPractical-Agile Product owner workshop
Practical-Agile Product owner workshop
 
Advanced Scrum master workshop
Advanced Scrum master workshopAdvanced Scrum master workshop
Advanced Scrum master workshop
 
Get rid of boring retrospectives
Get rid of boring retrospectivesGet rid of boring retrospectives
Get rid of boring retrospectives
 

Similar to Infrastructure code in Agile software development

20070921 Uni Softwareengineering
20070921 Uni Softwareengineering20070921 Uni Softwareengineering
20070921 Uni Softwareengineering
Tony Bibbs
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
David Portnoy
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
Sam Nasr, MCSA, MVP
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and Microservices
Amazon Web Services
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
rupeshchanchal
 
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays
 
Secrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without codingSecrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without coding
Newton Day Uploads
 
Resume
ResumeResume
Site-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdfSite-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdf
DeepakGupta747774
 
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
SmartBear
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
David Solivan
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
Klocwork
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
Evan Leybourn
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
Lemi Orhan Ergin
 
The Modern Software Architect
The Modern Software ArchitectThe Modern Software Architect
The Modern Software Architect
Niels Bech Nielsen
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Preetam Palwe
 
Teamwork Presentation
Teamwork PresentationTeamwork Presentation
Teamwork Presentation
Pietro Polsinelli
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
Mohamed Samy
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
Enkitec
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
Ólafur Andri Ragnarsson
 

Similar to Infrastructure code in Agile software development (20)

20070921 Uni Softwareengineering
20070921 Uni Softwareengineering20070921 Uni Softwareengineering
20070921 Uni Softwareengineering
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and Microservices
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
 
Secrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without codingSecrets of going codeless - How to build enterprise apps without coding
Secrets of going codeless - How to build enterprise apps without coding
 
Resume
ResumeResume
Resume
 
Site-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdfSite-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdf
 
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
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
 
The Modern Software Architect
The Modern Software ArchitectThe Modern Software Architect
The Modern Software Architect
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Teamwork Presentation
Teamwork PresentationTeamwork Presentation
Teamwork Presentation
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 

More from Elad Sofer

Three steps to transform from a waterfall to an Agile org
Three steps to transform from a waterfall to an Agile orgThree steps to transform from a waterfall to an Agile org
Three steps to transform from a waterfall to an Agile org
Elad Sofer
 
Descaling agile webinar
Descaling agile webinarDescaling agile webinar
Descaling agile webinar
Elad Sofer
 
Lego farm game for simulating Scrum
Lego farm game for simulating ScrumLego farm game for simulating Scrum
Lego farm game for simulating Scrum
Elad Sofer
 
Scrum master basics
Scrum master basics Scrum master basics
Scrum master basics
Elad Sofer
 
Its all about the Feedback loop
Its all about the Feedback loopIts all about the Feedback loop
Its all about the Feedback loop
Elad Sofer
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation
Elad Sofer
 

More from Elad Sofer (6)

Three steps to transform from a waterfall to an Agile org
Three steps to transform from a waterfall to an Agile orgThree steps to transform from a waterfall to an Agile org
Three steps to transform from a waterfall to an Agile org
 
Descaling agile webinar
Descaling agile webinarDescaling agile webinar
Descaling agile webinar
 
Lego farm game for simulating Scrum
Lego farm game for simulating ScrumLego farm game for simulating Scrum
Lego farm game for simulating Scrum
 
Scrum master basics
Scrum master basics Scrum master basics
Scrum master basics
 
Its all about the Feedback loop
Its all about the Feedback loopIts all about the Feedback loop
Its all about the Feedback loop
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation
 

Recently uploaded

Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
ScyllaDB
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
Tobias Schneck
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
manji sharman06
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 

Recently uploaded (20)

Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 

Infrastructure code in Agile software development

Editor's Notes

  1. בחברה שעבדתי בה , נפתח פרויקט חדש , הוקצה לו תקציב ואחרי תכנון מפורט ומדוקדק הוא יצא לדרך . ההחלטה היתה לפתח קודם כל את התשתית בצוות ייעודי ואחרי שהתשתית תהיה " גמורה " יצרפו עוד צוותים לפיתוח האפליקציה עצמה . יצאנו לדרך והתחלנו לפתח את התשתית , כעבור חצי שנה בערך החברה נתקלה בקשיים כספיים ובתור צעדי קיצוץ הוחלט בשלב ראשון להקפיא את כל הפיתוחים שאין להם עדיין לקוח , ומובן מאליו שאין לקוחות לתשתית של פרויקט ולכן היינו מועמדים טבעיים לסגירה , ואכן כך קרה . בשורה התחתונה בוזבזה חצי שנה של פיתוח לא כולל הזמן שהושקע ותכנון וניהול של הפרויקט .
  2. לשכבת התשתית יש נטייה ממגוון סיבות להפוך למפלצת קוד ענקית , שמאוד קשה לגעת בה אם אתה לא מכיר אותה מהעבר , היא עמוסה בפוקציונאליות שנכתבה מזמן ואף אחד כבר לא מכיר ואף אחד לא מוכן לגעת בה . סימן אזהרה הוא כשהתשתית הופכת להיות גדולה יותר מהאפליקציה עצמה . כשהקוד הוא גדול באופן טבעי יש בו יותר באגים ויותר קשה לבצע שינויים .
  3. כשהתשתית מפותחת ע " י צוות ייעודי נוצר מצב של בעלות על הקוד משני הכיוונים . אם צריך משהו שקשור לקוד התשתיתי אז תמיד מפנים אצבע אל איש התשתיות – זה שלו , דברו איתו . ואם בכל זאת מישהו ינסה לגעת בקוד התשתיתי שאינו חבר בקליקה הסגורה המכונה צוות תשתיות , מייד יקפצו עליו כל הרודוויילרים .
  4. מה קורה כשמגלים באג בתשתית ? צריך לתקן אותו זה ברור , אבל מה קורה לאפליקציה ? היא לא מתפקדת כמו שצריך . אז ע " מ לתקן את הבאג יש שתי אפשרויוית : הראשונה היא למצוא " איש תשתיות " פנוי שיתקן את הבאג ( ומאוד קשה למצוא כזה ) ובנוסף כעיקרון מנחה , אנשי תשתיות לא אוהבים לתקן באגים , הם מעדיפים לטעון שלא משתמשים בתשתית כמו שצריך . השנייה היא לשנות את קוד האפליקציה כך שיתאים לתשתית , אפילו אם היא " עקומה " קצת ובכך לפגוע בקוד האפליקטיבי . השלישית היא לא להשתמש בתשתית ולכתוב את הפונקציונאליות הנדרשת ברמת האפליקציה . כל אחת מהלטרניטיבות – לא משהו !
  5. כשכותבים תשתית לשם תשתית נוצרת הבעיה של נתק מהמציאות העסקית , נתק מהצרכים האמיתיים , דבר זה גורם בין השאר לכתיבה של אין סוף פיצ ' רים תשתיתיים שאין ולא יהיה לאף אחד צורך בהם , זה קורה בגלל שלמרות שברור לכולם שהתשתית היא לא מוצר סופי ומוגמר , מתייחסים אליה כאילו היא כזאת ואז על כל פיסת פונקציונאליות ש " אולי נזדקק לה " התשובה לשאלה האם לפתח היא כן . לדוגמא : למה שלא נוסיף אפשרות לייצא את האלמנטים שלנו ב - XML , זה יכול להיות חשוב אם ירצו להתממשק אלינו בעתיד , או אולי להדפיס את המידע ב - JMX . מעבר להשפעה על גודל הקוד ועל כמות הבאגים , מעבר לעובדה שזה מסרבל את השימוש בתשתית כי לא ברור באיזה דרך להשתמש בה , זה גם בזבוז זמן וכסף . היתה אפליקציה שהייתי מעורב בפיתוח שלה עוד בתחילת ימי בתוכנה , וזיהו מראש שיש שם לוגיקה עסקית מבוססת מכונת מצבים , מייד הלכו וביקשו מצוות תשתיות לפתח תשתית למכונת מצבים , צוות תשתיות אכן פיתח מכונת מצבים מאפס , שכוללת הגדרת מצבים , הגדרת מעבר בין מצבים עם תמיכה בתנאים למעבר מצב , מצב התחלתי מיוחד , מצב סופי מיוחד להצלחה \\ מצב סופי מיוחד לכישלון ומנוע שאמור ע " פ הגדרת המצבים להריץ את מכונת המצבים . נשמע סה " כ טוב , אבל .... מיותר לחלוטין . מכונת המצבים כללה בד " כ לא יותר משלושה מצבים מעבר להתחלה והסיום , לא היה כמעט כפילות בין מצבים במכונות שונות היה אפשר לעשות את זה ללא שום תשתית , בחצי מהזמן , ובאיכות גבוהה הרבה יותר .
  6. מכיוון שתשתית היא גדולה וסבוכה , היא הופכת עם הזמן למאוד מאוד רגישה לשינויים , כמו מגדל קלפים , אם תשנה את ה - IF הלא נכון אתה עלול להפיל את כל המגדל . ובניגוד למגדל קלפים לא תמיד תהיה הפריווילגה לגלות ת זה בזמן אמת , לפעמים נגלה את זה רק אצל הלקוח , כי למשל השינוי עובד מעולה ב - Solaris 10 אבל ב - Solaris 10.5 הוא גורם לבעיית ביצועים קשה ... אני מאמין שכמעט כולנו נתקלנו בשינויים תשתיתיים , אפילו קטנים יחסית , שהפילו מערכות שלמות .
  7. קיום של שכבת תשתיות שמפותחת ע " י צוות יעודי שבו מומחים ייעודיים מעודדת בצורה ישירה ועקיפה תרבות של גיבורי על , כאלה שנחלצים לעזרה ברגע האחרון ומצילים את היום . לעיתים קרובות מידי הגיבורים הללו הם אותם אנשי תשתית בעצמם שאחראים באופן מסוים לבעיה , אבל כשהם פותרים אותה , ובתור גיבורים מומחים , מות רלהם מה שלאחרים אסור , כלומר לבצע שינויים תשתיתיים , לשנות אפליקציה , לבצע מעקפים בקוד ועוד מיני חוכמות . כשסופרמן מציל מטוס זה לא משנה אם הוא הפיל בניין או שתיים על הדרך . התרבות הזאת מחלחלת לכל שכבות הארגון , ומתחילים להעריך פתרון באגים יותר ממניעת באגים .
  8. Every change can disrupt the entire system.
  9. Every change can disrupt the entire system.
  10. Every change can disrupt the entire system.
  11. Develop the infrastructure in a “step by step” approach – No BUFx
  12. Develop only what is required for the current iteration – No more no less.
  13. Infra code changes can be done by more than one person or team. Reduces bottlenecks. The right organizational structure – Cross functional Feature teams.
  14. Infrastructure code should be tightly coupled with the “real world”. The developers writing infra code should understand the feature the infra is required for. The developers writing infra code should also develop the business side of the feature.
  15. Infrastructure code emerges. Not every feature needs to be part of the infrastructure from the start.
  16. Collaboration should happen Inside teams and within teams. Teams should have open communication channels to discuss infrastructure issues. Create COP – Communities of practice. Have a wiki. Build a process to support this.