SlideShare une entreprise Scribd logo
1  sur  27
Trends in Software Development Software Development ,[object Object]
http://www.flickr.com/photos/badjonni/2049428733/
 
Languages
 
 
 
 
λ
Open Source
 
Architecture http://www.flickr.com/photos/chijs/3664571179/
Web http://www.flickr.com/photos/psd/1805709102/
Cloud http://www.flickr.com/photos/pagedooley/2511369048/
Cloud http://www.flickr.com/photos/pagedooley/2511369048/
Scaling
Document DBs
Agile http://www.flickr.com/photos/kerrybuckley/447013910/
 
 
 
 
http://www.flickr.com/photos/alq666/3388196910/ Lean
http://www.arxta.net /
Craftsmanship http://www.flickr.com/photos/smokestack_lightnin/3534174768/
 
http://www.flickr.com/photos/damaradeaella/2822846819/

Contenu connexe

Tendances

Morphology: Compound
Morphology: CompoundMorphology: Compound
Morphology: CompoundMark O'Meara
 
Working With Young Professionals
Working With Young ProfessionalsWorking With Young Professionals
Working With Young ProfessionalsKathryn Bergeron
 
How Ebooks, File Types, and DRM Affect your Library
 How Ebooks, File Types, and DRM Affect your Library How Ebooks, File Types, and DRM Affect your Library
How Ebooks, File Types, and DRM Affect your LibraryBrian Hulsey
 
NYLA Preconference - Beyond PowerPoint
NYLA Preconference - Beyond PowerPointNYLA Preconference - Beyond PowerPoint
NYLA Preconference - Beyond PowerPointPolly Farrington
 
Ebooks: Landscape & Impl
Ebooks: Landscape & ImplEbooks: Landscape & Impl
Ebooks: Landscape & ImplBrian Hulsey
 
Morphology: Coinage
Morphology: CoinageMorphology: Coinage
Morphology: CoinageMark O'Meara
 
Tervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboid
Tervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboidTervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboid
Tervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboidIstván Kolozsi
 
Designing for Children
Designing for ChildrenDesigning for Children
Designing for ChildrenTrine Falbe
 
Digital scholarship debate
Digital scholarship debateDigital scholarship debate
Digital scholarship debateMartin Weller
 
Twitter & Teacher Collaboration - NETA 2012
Twitter & Teacher Collaboration - NETA 2012Twitter & Teacher Collaboration - NETA 2012
Twitter & Teacher Collaboration - NETA 2012Eric Langhorst
 
Anderson_Jamar_IgniteSlideShare
Anderson_Jamar_IgniteSlideShareAnderson_Jamar_IgniteSlideShare
Anderson_Jamar_IgniteSlideSharejdanderson
 
Identity, scholarship and metrics
Identity, scholarship and metricsIdentity, scholarship and metrics
Identity, scholarship and metricsMartin Weller
 
A nova web demanda novas práticas de desenvolvimento
A nova web demanda novas práticas de desenvolvimentoA nova web demanda novas práticas de desenvolvimento
A nova web demanda novas práticas de desenvolvimentoGiovanni Bassi
 
Rose Egge Presentation Final
Rose Egge Presentation FinalRose Egge Presentation Final
Rose Egge Presentation FinalRoseEgge
 
4 grundübel pechakucha
4 grundübel pechakucha4 grundübel pechakucha
4 grundübel pechakuchaMarc Löffler
 
England - Hong Kong
England - Hong KongEngland - Hong Kong
England - Hong Kong17petersy
 
Get Yourself Connected
Get Yourself ConnectedGet Yourself Connected
Get Yourself ConnectedLinda Nitsche
 

Tendances (20)

Morphology: Compound
Morphology: CompoundMorphology: Compound
Morphology: Compound
 
Working With Young Professionals
Working With Young ProfessionalsWorking With Young Professionals
Working With Young Professionals
 
How Ebooks, File Types, and DRM Affect your Library
 How Ebooks, File Types, and DRM Affect your Library How Ebooks, File Types, and DRM Affect your Library
How Ebooks, File Types, and DRM Affect your Library
 
NYLA Preconference - Beyond PowerPoint
NYLA Preconference - Beyond PowerPointNYLA Preconference - Beyond PowerPoint
NYLA Preconference - Beyond PowerPoint
 
Web 2.0: The Social Web
Web 2.0: The Social WebWeb 2.0: The Social Web
Web 2.0: The Social Web
 
Ebooks: Landscape & Impl
Ebooks: Landscape & ImplEbooks: Landscape & Impl
Ebooks: Landscape & Impl
 
Morphology: Coinage
Morphology: CoinageMorphology: Coinage
Morphology: Coinage
 
arboles
arbolesarboles
arboles
 
Tervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboid
Tervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboidTervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboid
Tervezz szokást! - WIAD, Mobile Hungary - Kolozsi István, kolboid
 
Designing for Children
Designing for ChildrenDesigning for Children
Designing for Children
 
Digital scholarship debate
Digital scholarship debateDigital scholarship debate
Digital scholarship debate
 
Twitter & Teacher Collaboration - NETA 2012
Twitter & Teacher Collaboration - NETA 2012Twitter & Teacher Collaboration - NETA 2012
Twitter & Teacher Collaboration - NETA 2012
 
Anderson_Jamar_IgniteSlideShare
Anderson_Jamar_IgniteSlideShareAnderson_Jamar_IgniteSlideShare
Anderson_Jamar_IgniteSlideShare
 
Identity, scholarship and metrics
Identity, scholarship and metricsIdentity, scholarship and metrics
Identity, scholarship and metrics
 
A nova web demanda novas práticas de desenvolvimento
A nova web demanda novas práticas de desenvolvimentoA nova web demanda novas práticas de desenvolvimento
A nova web demanda novas práticas de desenvolvimento
 
Rose Egge Presentation Final
Rose Egge Presentation FinalRose Egge Presentation Final
Rose Egge Presentation Final
 
Oklahoma 4H Roundup 2011
Oklahoma 4H Roundup 2011Oklahoma 4H Roundup 2011
Oklahoma 4H Roundup 2011
 
4 grundübel pechakucha
4 grundübel pechakucha4 grundübel pechakucha
4 grundübel pechakucha
 
England - Hong Kong
England - Hong KongEngland - Hong Kong
England - Hong Kong
 
Get Yourself Connected
Get Yourself ConnectedGet Yourself Connected
Get Yourself Connected
 

En vedette

Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...Balazs Fejes
 
FCB Partners Course Overview: Process Redesign
FCB Partners Course Overview: Process RedesignFCB Partners Course Overview: Process Redesign
FCB Partners Course Overview: Process RedesignFCBPartners
 
Special projects manager kpi
Special projects manager kpiSpecial projects manager kpi
Special projects manager kpimetbanre
 
Process innovation - Key success factor in Government Projects - Scrum Gather...
Process innovation - Key success factor in Government Projects - Scrum Gather...Process innovation - Key success factor in Government Projects - Scrum Gather...
Process innovation - Key success factor in Government Projects - Scrum Gather...Remi Hansen
 
Release management kpi
Release management kpiRelease management kpi
Release management kpianecktomyjones
 
12 Things Your People Won't Tell You They Need to Succeed
12 Things Your People Won't Tell You They Need to Succeed12 Things Your People Won't Tell You They Need to Succeed
12 Things Your People Won't Tell You They Need to SucceedChris Willis
 
Process of transition - Fisher's Transition Curve - John Fisher 2003
Process of transition  - Fisher's Transition Curve - John Fisher 2003Process of transition  - Fisher's Transition Curve - John Fisher 2003
Process of transition - Fisher's Transition Curve - John Fisher 2003Alex Clapson
 
The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...
The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...
The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...Steve Greene
 
Enterprise KPI Development Process
Enterprise KPI Development ProcessEnterprise KPI Development Process
Enterprise KPI Development ProcessQuang Ngoc
 
Process Redesign: Critical Success Factors
Process Redesign: Critical Success FactorsProcess Redesign: Critical Success Factors
Process Redesign: Critical Success FactorsBrad Power
 
Critical Success Factors of Process Redesign
Critical Success Factors of Process RedesignCritical Success Factors of Process Redesign
Critical Success Factors of Process RedesignBrad Power
 
Engaging the Organization in Process Thinking - Anonymous
Engaging the Organization in Process Thinking - AnonymousEngaging the Organization in Process Thinking - Anonymous
Engaging the Organization in Process Thinking - AnonymousBrad Power
 
Success factors for Enterprise Project Management
Success factors for Enterprise Project ManagementSuccess factors for Enterprise Project Management
Success factors for Enterprise Project ManagementAmarnath Gupta
 
Chapter 6 Information System-Critical Success Factor
Chapter 6 Information System-Critical Success FactorChapter 6 Information System-Critical Success Factor
Chapter 6 Information System-Critical Success FactorSanat Maharjan
 
STRATEGIC MANAGEMENT ON VODAFONE
STRATEGIC MANAGEMENT ON VODAFONESTRATEGIC MANAGEMENT ON VODAFONE
STRATEGIC MANAGEMENT ON VODAFONEAnjali Modi
 
Value Stream Transformation: 10 Keys to Success
Value Stream Transformation: 10 Keys to SuccessValue Stream Transformation: 10 Keys to Success
Value Stream Transformation: 10 Keys to SuccessTKMG, Inc.
 
"7-S's for Success" Framework- Key Success Factors for Program Success-(From ...
"7-S's for Success" Framework- Key Success Factors for Program Success-(From ..."7-S's for Success" Framework- Key Success Factors for Program Success-(From ...
"7-S's for Success" Framework- Key Success Factors for Program Success-(From ...ociwins
 
Lean Agile Metrics And KPIs
Lean Agile Metrics And KPIsLean Agile Metrics And KPIs
Lean Agile Metrics And KPIsYuval Yeret
 

En vedette (20)

Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...
 
FCB Partners Course Overview: Process Redesign
FCB Partners Course Overview: Process RedesignFCB Partners Course Overview: Process Redesign
FCB Partners Course Overview: Process Redesign
 
Special projects manager kpi
Special projects manager kpiSpecial projects manager kpi
Special projects manager kpi
 
Process innovation - Key success factor in Government Projects - Scrum Gather...
Process innovation - Key success factor in Government Projects - Scrum Gather...Process innovation - Key success factor in Government Projects - Scrum Gather...
Process innovation - Key success factor in Government Projects - Scrum Gather...
 
Release management kpi
Release management kpiRelease management kpi
Release management kpi
 
12 Things Your People Won't Tell You They Need to Succeed
12 Things Your People Won't Tell You They Need to Succeed12 Things Your People Won't Tell You They Need to Succeed
12 Things Your People Won't Tell You They Need to Succeed
 
Process of transition - Fisher's Transition Curve - John Fisher 2003
Process of transition  - Fisher's Transition Curve - John Fisher 2003Process of transition  - Fisher's Transition Curve - John Fisher 2003
Process of transition - Fisher's Transition Curve - John Fisher 2003
 
The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...
The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...
The Year of Living Dangerously: Extraordinary Results for an Enterprise Agile...
 
Enterprise KPI Development Process
Enterprise KPI Development ProcessEnterprise KPI Development Process
Enterprise KPI Development Process
 
Transition Management basics
Transition Management basicsTransition Management basics
Transition Management basics
 
It transition management an operational perspective
It transition management   an operational perspectiveIt transition management   an operational perspective
It transition management an operational perspective
 
Process Redesign: Critical Success Factors
Process Redesign: Critical Success FactorsProcess Redesign: Critical Success Factors
Process Redesign: Critical Success Factors
 
Critical Success Factors of Process Redesign
Critical Success Factors of Process RedesignCritical Success Factors of Process Redesign
Critical Success Factors of Process Redesign
 
Engaging the Organization in Process Thinking - Anonymous
Engaging the Organization in Process Thinking - AnonymousEngaging the Organization in Process Thinking - Anonymous
Engaging the Organization in Process Thinking - Anonymous
 
Success factors for Enterprise Project Management
Success factors for Enterprise Project ManagementSuccess factors for Enterprise Project Management
Success factors for Enterprise Project Management
 
Chapter 6 Information System-Critical Success Factor
Chapter 6 Information System-Critical Success FactorChapter 6 Information System-Critical Success Factor
Chapter 6 Information System-Critical Success Factor
 
STRATEGIC MANAGEMENT ON VODAFONE
STRATEGIC MANAGEMENT ON VODAFONESTRATEGIC MANAGEMENT ON VODAFONE
STRATEGIC MANAGEMENT ON VODAFONE
 
Value Stream Transformation: 10 Keys to Success
Value Stream Transformation: 10 Keys to SuccessValue Stream Transformation: 10 Keys to Success
Value Stream Transformation: 10 Keys to Success
 
"7-S's for Success" Framework- Key Success Factors for Program Success-(From ...
"7-S's for Success" Framework- Key Success Factors for Program Success-(From ..."7-S's for Success" Framework- Key Success Factors for Program Success-(From ...
"7-S's for Success" Framework- Key Success Factors for Program Success-(From ...
 
Lean Agile Metrics And KPIs
Lean Agile Metrics And KPIsLean Agile Metrics And KPIs
Lean Agile Metrics And KPIs
 

Plus de Kerry Buckley

Testing http calls with Webmock and VCR
Testing http calls with Webmock and VCRTesting http calls with Webmock and VCR
Testing http calls with Webmock and VCRKerry Buckley
 
Ruby nooks & crannies
Ruby nooks & cranniesRuby nooks & crannies
Ruby nooks & cranniesKerry Buckley
 
Javasccript MV* frameworks
Javasccript MV* frameworksJavasccript MV* frameworks
Javasccript MV* frameworksKerry Buckley
 
Tdd for BT E2E test community
Tdd for BT E2E test communityTdd for BT E2E test community
Tdd for BT E2E test communityKerry Buckley
 
What I learned from Seven Languages in Seven Weeks (IPRUG)
What I learned from Seven Languages in Seven Weeks (IPRUG)What I learned from Seven Languages in Seven Weeks (IPRUG)
What I learned from Seven Languages in Seven Weeks (IPRUG)Kerry Buckley
 
Adastral Park code retreat introduction
Adastral Park code retreat introductionAdastral Park code retreat introduction
Adastral Park code retreat introductionKerry Buckley
 
MongoMapper lightning talk
MongoMapper lightning talkMongoMapper lightning talk
MongoMapper lightning talkKerry Buckley
 
The secret life of bees
The secret life of beesThe secret life of bees
The secret life of beesKerry Buckley
 
Background processing
Background processingBackground processing
Background processingKerry Buckley
 
Katas, Contests and Coding Dojos
Katas, Contests and Coding DojosKatas, Contests and Coding Dojos
Katas, Contests and Coding DojosKerry Buckley
 
Kanban and Iterationless Working
Kanban and Iterationless WorkingKanban and Iterationless Working
Kanban and Iterationless WorkingKerry Buckley
 

Plus de Kerry Buckley (20)

Jasmine
JasmineJasmine
Jasmine
 
Testing http calls with Webmock and VCR
Testing http calls with Webmock and VCRTesting http calls with Webmock and VCR
Testing http calls with Webmock and VCR
 
BDD with cucumber
BDD with cucumberBDD with cucumber
BDD with cucumber
 
Ruby nooks & crannies
Ruby nooks & cranniesRuby nooks & crannies
Ruby nooks & crannies
 
TDD refresher
TDD refresherTDD refresher
TDD refresher
 
Javasccript MV* frameworks
Javasccript MV* frameworksJavasccript MV* frameworks
Javasccript MV* frameworks
 
Tdd for BT E2E test community
Tdd for BT E2E test communityTdd for BT E2E test community
Tdd for BT E2E test community
 
7li7w devcon5
7li7w devcon57li7w devcon5
7li7w devcon5
 
What I learned from Seven Languages in Seven Weeks (IPRUG)
What I learned from Seven Languages in Seven Weeks (IPRUG)What I learned from Seven Languages in Seven Weeks (IPRUG)
What I learned from Seven Languages in Seven Weeks (IPRUG)
 
Functional ruby
Functional rubyFunctional ruby
Functional ruby
 
Adastral Park code retreat introduction
Adastral Park code retreat introductionAdastral Park code retreat introduction
Adastral Park code retreat introduction
 
MongoMapper lightning talk
MongoMapper lightning talkMongoMapper lightning talk
MongoMapper lightning talk
 
Ruby
RubyRuby
Ruby
 
Cloud
CloudCloud
Cloud
 
The secret life of bees
The secret life of beesThe secret life of bees
The secret life of bees
 
Background processing
Background processingBackground processing
Background processing
 
Katas, Contests and Coding Dojos
Katas, Contests and Coding DojosKatas, Contests and Coding Dojos
Katas, Contests and Coding Dojos
 
Rack
RackRack
Rack
 
Doing REST Right
Doing REST RightDoing REST Right
Doing REST Right
 
Kanban and Iterationless Working
Kanban and Iterationless WorkingKanban and Iterationless Working
Kanban and Iterationless Working
 

Dernier

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Dernier (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Notes de l'éditeur

  1. First a disclaimer: this talk is based on my personal impressions of software development trends, so don’t treat it as company or community policy. I certainly don’t claim to be an expert on any of this, and a lot of it is just gleaned from blogs and twitter, so will reflect the particular echo chamber I happen to inhabit (mostly the Ruby, Agile and Software Craftsmanship communities). I’m not in charge of anything either – I’m just a developer…
  2. … and just to prove it, here’s my directory entry.
  3. I’ll start with the most obvious thing people probably think of when they consider development trends – languages. The general consensus seems to be that there isn’t going to be a single Next Big Language in the same way as we had FORTRAN, C, Java etc. The buzzword these days is polyglotism, meaning that people are proficient in multiple languages and use the one most suitable for the job (maybe DSLs and dynamic languages at the top of the stack, and functional languages lower down for reliability and scaling).
  4. One of the things that’s made mixing and matching multiple languages much easier has been the growth in the number of languages that can run on common platforms alongside the usual Java and C#. These all run on the Java platform, and the story’s similar on .NET.
  5. Unless you’ve lived in a cave for the past few years, it’s hard to have missed the growth of dynamic languages like Ruby and Python. This graph shows that demand for these is still way below that for Java, but it gets more interesting if you look at the graphs for growth…
  6. You can see here that Ruby in particular appears to be growing at a fast rate, presumably driven by the use of Rails for web development. But there’s another language that’s growing even faster…
  7. I searched for the term ‘Ajax’ instead of ‘Javascript’ because that’s the specific use case that’s driving the resurgence of Javascript, but you can see from the graph that demand has rocketed. Ajax had a bad reputation for years, but libraries like JQuery have removed most of the pain from using it, and allow dynamic behaviour to be added to a page in a structured unobtrusive way.
  8. As well as dynamic languages, another category that’s getting a lot of interest lately is functional languages, including for example Erlang, Haskell, OCaml, Clojure and F#. Because they avoid state and side-effects, functional languages are well-suited for massively parallel execution, which is becoming more important with the rise of multi-core processors and cloud computing. As well as these production applications, many people are learning functional languages to give them a different viewpoint, which can add another tool to your collection even when working on OO languages.
  9. Outside the enterprise world, use of open source software is almost universal, but even in large companies adoption is starting to become much more widespread (or at least more officially-approved). These are just a sample of the open source tools and products already in use in BT. Consumption is only one side of the coin though, and businesses are starting to realise the benefits of contributing to open source projects, and opening up the source of their own software. This allows collaboration and sharing of effort on common tools, leaving more capacity to concentrate development on systems and products that are core to the company’s business.
  10. Contributing to open source projects has become much easier thanks to distributed version control, and particularly sites like GitHub and BitBucket. Unlike traditional source control systems like Subversion, distributed tools like Git, Mercurial and Bazaar mean that each developer has a clone of the entire source repository, and can pull changes from anyone else. This means you can work on a fix or enhancement, control your changes locally, merge in concurrent upstream changes then either submit a patch or request that the project maintainer pulls the commits from your copy of the repository. DVCSs also allow you to easily maintain a fork of a project – for example to add support for some local requirements – without losing track of changes to the parent project. This screenshot shows part of the network of repositories for a single project – each coloured line represents one user’s copy, and the arrows show changes being merged from one to another. Obviously in BT we’re standardising on Subversion for various reasons – some of which are no doubt perfectly valid ;-) – but it’s worth being aware of tools like Git anyway, as they are rapidly becoming the norm in the open source world, and have lots of advantages.
  11. A few words about software architecture. Don’t forget that as I said earlier I’m just a developer – if anyone tries to call me an architect there’ll be trouble!
  12. From the “stating the bleedin’ obvious” department, the web (with whichever version number you choose to append to that word) continues to be central to an awful lot of software architectures, both within and outside the company. As well as the human web, this also includes web services, which are increasingly moving away from SOAP towards REST (or at least simple data over HTTP).
  13. Another buzzword that no-one can have avoided is cloud, which again means different things to different people.
  14. One thing that’s certainly already a reality is the growth of web-based services that can handle everything from hosting your application to source control, continuous integration and fault tracking. These allow small companies or independent developers to release staggeringly quickly with minimal startup cost, and to scale successful projects relatively easily.
  15. Many modern web application frameworks are designed to scale out by adding more servers, rather than scale up by running a single instance on a massive machine. This is well-suited to deployment to commodity hardware or cloud compute instances, but distributing the database layer can be difficult with traditional relational databases…
  16. The problem of distributing relational databases is one of the reasons why document-based or key-value databases are becoming more popular. Another is the tendency of frameworks like Rails to treat the database as simply somewhere to persist objects, with much of the logic that traditionally lived in the database moving up to the application layer. Document databases store relatively unstructured data in an ad hoc fashion as simple key-value pairs, a bit like a giant persistent hash. They don’t have schemas, and don’t use SQL for querying (for example CouchDB uses a Javascript view model, exposed using a RESTful JSON API.
  17. Obviously agile development methodologies continue to spread, but as adoption grows, particularly in large organisations, there’s a concern that the original intention is being watered down, with too much concentration on process at the expense of technical excellence and delivery of value.
  18. Most large organisations that adopt agile development start with Scrum, which provides a good framework to get started from, with its emphasis on iteration and lightweight project management. Unfortunately Scrum doesn’t tell you what to do within those iterations to actually develop quality software, and that’s where the trouble starts…
  19. If you start trying to develop software in two-week iterations without also having the right technical practices, it’s going to end in tears. Scrum explicitly doesn’t cover these, and Scrum experts generally recommend following the engineering practices from Extreme Programming within the management framework of Scrum.
  20. Some of the key XP practices are automated testing, pair programming, continuous integration and refactoring, and we’re starting to see many of these pushed more strongly inside BT with the work that DSO are doing on CIT. In certain parts of the wider world (such as much of the Ruby and Rails community) practices such as test-driven development have become the norm rather than the exception, but in general adoption still seems to be relatively low.
  21. While continuous integration is becoming more of a baseline practice, some teams are taking it a step further to continuous deployment, where changes are deployed almost as soon as the CI tests have completed. Flickr is a well-known example, with changes deployed multiple times in a day.
  22. Ideas from the Lean world are also starting to be applied more widely in software development, particularly in terms of reducing waste and limiting work in progress. Some teams are starting to apply a Kanban approach to user story flow, with continuous delivery instead of fixed iterations.
  23. Many of the original authors of the Agile Manifesto are now trying to promote a shift back to those original values, away from a watered-down, corporate-friendly version of Agile. One example is Brian Marick’s AR⊗TA, which stands for ‘artisanal retro-futurism crossed with team-scale anarcho-syndicalism’. The aims are similar to those of the original agile movement, but the name was chosen deliberately to stop people being able to claim ‘oh, we already do that’ without at least stopping to read about what it actually means. There’s more detail on arxta.net.
  24. Another related trend is the emerging Software Craftsmanship movement. This is a reaction to the attempted industrialisation and deskilling of software development, which many people think isn’t working out so well (I’m sure everyone has their own horror stories of outsourced development). Part of the problem with the engineering view of software development is that it sometimes makes too strong an analogy with production engineering, assuming that if we can just get the design right, then we can leave the mechanical task of ‘coding’ to lower-skilled people. In reality software development is a creative process, with a large part of the design only emerging as the code is written. The ‘production line’ part of the process is actually the steps performed by compilers and other tools, not by the people writing the code. Software Craftsmanship re-emphasises the role of the skilled developer. It encourages developers to take responsibility for their own journey from apprenticeship to mastery, by deliberate practice and learning from other craftsmen.
  25. Software Craftsmanship also recognises that a critical aspect of software development is the software itself. A professional developer should be able to take pride in their work, to insist on high quality code and refuse to deliver ‘quick hacks’ that they know will compromise maintainability in the future. Dragging things back to the BT world again, my hope is that the creation of the SE community is an indication that the technical skills of software development are starting to be taken seriously again. It’s certainly an opportunity for us as a community to demonstrate what can be achieved by small teams of good developers, and to help improve the quality and agility of BT’s software delivery.