SlideShare una empresa de Scribd logo
1 de 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/

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Más 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
 

Más 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
 

Último

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
"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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Último (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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
 
"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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
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
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Notas del editor

  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.