SlideShare a Scribd company logo
1 of 52
THINGS TO UNLEARN IN SOFTWARE DEVELOPMENT AlexeyKrivitsky, SCRUMguides.com for Agile Slovakia, 14 Jan 2010
2 AlexeyKrivitsky Agile coach and Scrum trainer  at SCRUMguides krivitsky@scrumguides.comtwitter.com/alexeykri Skype: alexeykrvGSM: +380.50.358.9212 Coordination of Agile Ukraine communitywww.agileukraine.org Agile Eastern Europe conferencewww.agileee.org Agile Base Camp conferencewww.agilebasecamp.org 2
The History of Vasa
The History of Vasa
The History of Vasa
The History of Vasa
The Reasons of the Tragedy A very important client Unrealistic plans Scope creep High technology risks Architectural flaws Acceptance testing failures The lead architect changed Wishful thinking Development priorities are not balanced Deployment-time mistakes Does all that sound familiar?
350 Years Later… Ship construction body of knowledge has improved a lot New domains and industries were born  Project Management became a science Why nearly four centuries later  we are still facing the same issues in our domain?
1
DILEMMA OFIMPORTANCE ANDRIGHTNTESS OF A CUSTOMER Hurry Gordon Selfridge said: «The customer is always right» But what if an important customer is not right?
Ignore employees’ preferences and comfort Unconditional agreement with customersmight lead to quality problems Employees’ motivation fades out Lowered quality of service
We accept unrealistic deadlines We agree on suboptimal solutions We let technical requirements to be dictated We are afraid to pose a denial In the end,the product will have our label Unconditional agreement with customers might lead to project failures
UnlearnTO BE UNDENIABLE Your 'yes' has no power  if you do not know how to say 'no'
LearnTO COLLABORATE Start by saying «No!» to unacceptable conditions And then invite to seek for better solutions That are realistic Professional Lead to Win-win
THE AGILE WAY Maker customers a part of the team Rely on face-to-face collaboration Run iteration planning meetings altogether Run regular demonstrations Build in trust by releasing valuable functionality early Build in quality
2
DILEMMA OFHARD PLANNING AND CONSTANT CHANGES Fixing requirements is like trying to pin a cloud Changes come inevitably
Project Scope Inevitably Changesbecause     1) Researches are made «the devil is in the details»
Project Scope Inevitably Changesbecause We often give our promises when we know too little
Project Scope Inevitably Changesbecause  2) Requirements are misunderstood
Project Scope Inevitably Changesbecause  3) Customers get 	new wishes and better ideas
Unlearn TO FIX PROJECT SCOPE [SCOPE] x [TIME] x BUDGET x QUALITY [SCOPE] x [TIME] x [BUDGET] x [QUALITY] [SCOPE] x [TIME] x [BUDGET] x [QUALITY] It is a	 «lose-lose» scenario
LearnTO MANAGE PROJECT SCOPE 1) Turn failures into learningby dividing projects into sub-projects Detail and nail down requirements only for the current sub-project Plan next sub-project based on experience of the previous ones
LearnTO MANAGE PROJECT SCOPE 2) Most likely you cannot do“all of it”so focus on the most valuable stuff On regular basis deliver the most valuable for business functionality Embrace changes to let business learn and create competitive advantages
THE AGILE WAY Let business set and change priorities for development at any time Let the Product Backlog growand evolve Work in time-boxed iterations Have a detailed plan for the current iteration Have a potentially shippable product increment after each iteration  Measure and use Team Velocity in planning
3
THE PROBLEM OF OVER-ENGENEERING  By trying to avoid changeswe tend to develop universal solutions Big Requirement Up Front (BRUF) Big Design Up Front (BDUF)
Unlearn TO TARGET FOR UNIVERSAL ARCHITECTURE It is impossible to foresee everything
LearnTO LET CHANGES HAPPEN AT MINIMAL COSTS Cheap - Simple Design Safe - Automated Test Suites With no Constrains - Refactoring Let the system architecture grow together with product knowledge
THE AGILE WAY Start development as early as possible Choose the simplest solutions that will work Reduce waste Zero-bug development strategy Root-cause analysis for each bug found
Do You Use Test-Driven Development Refactoring Continuous Integration
Some People Say «I ain’t need no unit-tests, I can write quality code without them» «I have no time for refactoring, that’s why I write correctly in the first place»
4
THE PROBLEM OF PROFESSIONAL CARELESSNESS Happens each time one does not think How the codebase will look like in ½ year What will happen to the codebase once we leave the project About the people who will support the product
UnlearnPROFESSIONALISM = BRAVERY
LearnPROFESSIONALISM = SAFETY
LearnPROFESSIONALISM = SAFETY 1) CARE ABOUT YOURSELF -  TDD -  Refactoring-  Continuous Integration Write code so that once in maintenance you can send yourself a card on a Thanksgiving day
What Developers Do? Read code Write code
What Developers Do? Read code 90% Write code 10%
LearnPROFFESIONALISM = SAFETY 2) CARE ABOUT THE OTHERS - TDD ,[object Object],Write code having in mind that the guy to support it is a serial maniac knowing your home address
THE AGILE WAY Pay attention to high quality standards of development Define Done-Done criteria of features to include: automatic build, unit testing, refactoring, customer acceptance “Let the chief control the kitchen”
5
THE PROBLEM OF A STANDARD PROCESS When do we usually decide on a methodology?
THE PROBLEM OF A STANDARD PROCESS The danger of standard process is that peoplewill miss chances to take important shortcuts T. DeMarco, T. Lister
UnlearnTO RELY ON A STANDARD APPROACHthat would solve all possible problems There is a wide range of proposals on the «market»: CMMI,RUP,XP,SCRUM …
Building in and enabling feedback loopsbetween the process components ,[object Object]
Requirements and implementation
Product releases and marketLearnTO BUILD AN ADAPTIVE META-PROCESS
LearnTO BUILD AN ADAPTIVE META-PROCESS Putting the culture of continuous improvement to the basement of the process
LearnTO BUILD AN ADAPTIVE META-PROCESS Building your own process and keeping adapting it based on learning
LearnTO BUILD A META-PROCESS Best practices Good practices
THE AGILE WAY Make all problems visible by not allowing to break rules, such as:  working in fixed length iterations conducting public demonstrations at the end of each iteration Run retrospective meetings at regular intervals Plan for process experiments

More Related Content

What's hot

What's hot (10)

機械学習応用システムのための要求工学
機械学習応用システムのための要求工学機械学習応用システムのための要求工学
機械学習応用システムのための要求工学
 
それは本当にAutomate? 改めて考えるPower Automate
それは本当にAutomate? 改めて考えるPower Automateそれは本当にAutomate? 改めて考えるPower Automate
それは本当にAutomate? 改めて考えるPower Automate
 
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&ALearn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&A
 
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
 
QCストリー~問題を解決ための手法
QCストリー~問題を解決ための手法QCストリー~問題を解決ための手法
QCストリー~問題を解決ための手法
 
Power BI Overview
Power BI OverviewPower BI Overview
Power BI Overview
 
The Path to Digital Engineering
The Path to Digital EngineeringThe Path to Digital Engineering
The Path to Digital Engineering
 
How to let them in house of quality
How to let them in house of qualityHow to let them in house of quality
How to let them in house of quality
 
Snowflake Architecture and Performance
Snowflake Architecture and PerformanceSnowflake Architecture and Performance
Snowflake Architecture and Performance
 
Lego serious play trademark guidelines version 2017
Lego serious play trademark guidelines version 2017Lego serious play trademark guidelines version 2017
Lego serious play trademark guidelines version 2017
 

Viewers also liked

SUSTAINABLE MARKETING - Final Version
SUSTAINABLE MARKETING - Final VersionSUSTAINABLE MARKETING - Final Version
SUSTAINABLE MARKETING - Final Version
Alexis Troup
 
Big Data and APIs - a recon tour on how to successfully do Big Data analytics
Big Data and APIs - a recon tour on how to successfully do Big Data analyticsBig Data and APIs - a recon tour on how to successfully do Big Data analytics
Big Data and APIs - a recon tour on how to successfully do Big Data analytics
Natalino Busa
 
ToC_training slide_set_Sniffer Aug 2015 v2 num-sm
ToC_training slide_set_Sniffer Aug 2015 v2 num-smToC_training slide_set_Sniffer Aug 2015 v2 num-sm
ToC_training slide_set_Sniffer Aug 2015 v2 num-sm
Dr Seán Doolan, MBA
 

Viewers also liked (16)

SUSTAINABLE MARKETING - Final Version
SUSTAINABLE MARKETING - Final VersionSUSTAINABLE MARKETING - Final Version
SUSTAINABLE MARKETING - Final Version
 
Big Data and APIs - a recon tour on how to successfully do Big Data analytics
Big Data and APIs - a recon tour on how to successfully do Big Data analyticsBig Data and APIs - a recon tour on how to successfully do Big Data analytics
Big Data and APIs - a recon tour on how to successfully do Big Data analytics
 
проект "горіховий сад"
проект "горіховий сад"проект "горіховий сад"
проект "горіховий сад"
 
Tarea seminario 7
Tarea seminario 7Tarea seminario 7
Tarea seminario 7
 
July 21 july24
July 21 july24July 21 july24
July 21 july24
 
Subscriber Identity Module
Subscriber Identity ModuleSubscriber Identity Module
Subscriber Identity Module
 
Arbol de Decisiones
 Arbol de Decisiones Arbol de Decisiones
Arbol de Decisiones
 
IIBA Columbus 2015 Keynote by Luke Hohmann
IIBA Columbus 2015 Keynote by Luke HohmannIIBA Columbus 2015 Keynote by Luke Hohmann
IIBA Columbus 2015 Keynote by Luke Hohmann
 
Open Best Cases_Issue 1
Open Best Cases_Issue 1Open Best Cases_Issue 1
Open Best Cases_Issue 1
 
Drammatizzazione 7^puntata aladino
Drammatizzazione 7^puntata aladinoDrammatizzazione 7^puntata aladino
Drammatizzazione 7^puntata aladino
 
ToC_training slide_set_Sniffer Aug 2015 v2 num-sm
ToC_training slide_set_Sniffer Aug 2015 v2 num-smToC_training slide_set_Sniffer Aug 2015 v2 num-sm
ToC_training slide_set_Sniffer Aug 2015 v2 num-sm
 
Documentos (2)
Documentos (2)Documentos (2)
Documentos (2)
 
CCPM折り紙ワークショップ(共有版)
CCPM折り紙ワークショップ(共有版)CCPM折り紙ワークショップ(共有版)
CCPM折り紙ワークショップ(共有版)
 
Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~
Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~
Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~
 
Ejemplos de arboles
Ejemplos de arbolesEjemplos de arboles
Ejemplos de arboles
 
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
 

Similar to Things To Unlearn In Software Development

Phoenix User Group Slides
Phoenix User Group SlidesPhoenix User Group Slides
Phoenix User Group Slides
agilebuddy
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
Mohan Late
 
Group two presentation
Group two presentationGroup two presentation
Group two presentation
Tamara Xhakaza
 

Similar to Things To Unlearn In Software Development (20)

Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
 
2
22
2
 
Phoenix User Group Slides
Phoenix User Group SlidesPhoenix User Group Slides
Phoenix User Group Slides
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Forget about Agile
Forget about AgileForget about Agile
Forget about Agile
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLC
 
20100310 liwen-waterfall (1)
20100310 liwen-waterfall (1)20100310 liwen-waterfall (1)
20100310 liwen-waterfall (1)
 
Base Logic Inc Solution Offering
Base Logic Inc Solution OfferingBase Logic Inc Solution Offering
Base Logic Inc Solution Offering
 
Software Life Cylce Model
Software Life Cylce ModelSoftware Life Cylce Model
Software Life Cylce Model
 
Scrum in Practice
Scrum in PracticeScrum in Practice
Scrum in Practice
 
Reducing Cost With Agile
Reducing Cost With AgileReducing Cost With Agile
Reducing Cost With Agile
 
Group two presentation
Group two presentationGroup two presentation
Group two presentation
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Rapid prototyping 2.0
Rapid prototyping 2.0Rapid prototyping 2.0
Rapid prototyping 2.0
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
The Agile Pretender
The Agile PretenderThe Agile Pretender
The Agile Pretender
 
Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018
 
The Corporate Start-Up, Scrum Methodology, Devops and eBay's 5 Minute Deals
The Corporate Start-Up, Scrum Methodology, Devops and eBay's 5 Minute Deals The Corporate Start-Up, Scrum Methodology, Devops and eBay's 5 Minute Deals
The Corporate Start-Up, Scrum Methodology, Devops and eBay's 5 Minute Deals
 

More from Alexey Krivitsky

More from Alexey Krivitsky (20)

Driving the second wave of Agile revolution with #OrgTopologies
Driving the second wave of Agile revolution with #OrgTopologiesDriving the second wave of Agile revolution with #OrgTopologies
Driving the second wave of Agile revolution with #OrgTopologies
 
Org Topologies at Scrum Day Europe 2022, Amsterdam
Org Topologies at Scrum Day Europe 2022, AmsterdamOrg Topologies at Scrum Day Europe 2022, Amsterdam
Org Topologies at Scrum Day Europe 2022, Amsterdam
 
Organizational Topologies: a roadmap towards a resilient and adaptive product...
Organizational Topologies: a roadmap towards a resilient and adaptive product...Organizational Topologies: a roadmap towards a resilient and adaptive product...
Organizational Topologies: a roadmap towards a resilient and adaptive product...
 
Improve your Product Backlog Refinement (PBR) Process
Improve your Product Backlog Refinement (PBR) ProcessImprove your Product Backlog Refinement (PBR) Process
Improve your Product Backlog Refinement (PBR) Process
 
#lego4scrum with Large-Scale Scrum (LeSS)
#lego4scrum with Large-Scale Scrum (LeSS)#lego4scrum with Large-Scale Scrum (LeSS)
#lego4scrum with Large-Scale Scrum (LeSS)
 
Culture follows structure
Culture follows structureCulture follows structure
Culture follows structure
 
Powerful interventions for agile coaching
Powerful interventions for agile coachingPowerful interventions for agile coaching
Powerful interventions for agile coaching
 
LeSS simulation with LEGO at #agileee 2017. (lego for scrum)
LeSS simulation with LEGO at #agileee 2017. (lego for scrum)LeSS simulation with LEGO at #agileee 2017. (lego for scrum)
LeSS simulation with LEGO at #agileee 2017. (lego for scrum)
 
Studying organizational complexity and its effects on scaling agility
Studying organizational complexity and its effects on scaling agilityStudying organizational complexity and its effects on scaling agility
Studying organizational complexity and its effects on scaling agility
 
Understanding Complexity of Organizational and System Dynamics
Understanding Complexity of Organizational and System DynamicsUnderstanding Complexity of Organizational and System Dynamics
Understanding Complexity of Organizational and System Dynamics
 
Complexity of organizational design and its effect scaling agility
Complexity of organizational design and its effect scaling agilityComplexity of organizational design and its effect scaling agility
Complexity of organizational design and its effect scaling agility
 
Agile Coaching Canvas: dream up, co-create and share your agile coaching visi...
Agile Coaching Canvas: dream up, co-create and share your agile coaching visi...Agile Coaching Canvas: dream up, co-create and share your agile coaching visi...
Agile Coaching Canvas: dream up, co-create and share your agile coaching visi...
 
Dejirafication: free your process from tools
Dejirafication: free your process from toolsDejirafication: free your process from tools
Dejirafication: free your process from tools
 
Agile Coaching Canvas at #agile2016
Agile Coaching Canvas at #agile2016Agile Coaching Canvas at #agile2016
Agile Coaching Canvas at #agile2016
 
Dejirafication - clean your process
Dejirafication - clean your processDejirafication - clean your process
Dejirafication - clean your process
 
Agile and Scrum for ORSCers
Agile and Scrum for ORSCersAgile and Scrum for ORSCers
Agile and Scrum for ORSCers
 
Agile Retrospective Kickstarter @Riga
Agile Retrospective Kickstarter @RigaAgile Retrospective Kickstarter @Riga
Agile Retrospective Kickstarter @Riga
 
Agile Coaching Canvas
Agile Coaching CanvasAgile Coaching Canvas
Agile Coaching Canvas
 
Kickstart Your Retrospectives with a Cheat Sheet
Kickstart Your Retrospectives with a Cheat SheetKickstart Your Retrospectives with a Cheat Sheet
Kickstart Your Retrospectives with a Cheat Sheet
 
How to grow learning multi-site agile organizations
How to grow learning multi-site agile organizationsHow to grow learning multi-site agile organizations
How to grow learning multi-site agile organizations
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Things To Unlearn In Software Development

  • 1. THINGS TO UNLEARN IN SOFTWARE DEVELOPMENT AlexeyKrivitsky, SCRUMguides.com for Agile Slovakia, 14 Jan 2010
  • 2. 2 AlexeyKrivitsky Agile coach and Scrum trainer at SCRUMguides krivitsky@scrumguides.comtwitter.com/alexeykri Skype: alexeykrvGSM: +380.50.358.9212 Coordination of Agile Ukraine communitywww.agileukraine.org Agile Eastern Europe conferencewww.agileee.org Agile Base Camp conferencewww.agilebasecamp.org 2
  • 7. The Reasons of the Tragedy A very important client Unrealistic plans Scope creep High technology risks Architectural flaws Acceptance testing failures The lead architect changed Wishful thinking Development priorities are not balanced Deployment-time mistakes Does all that sound familiar?
  • 8. 350 Years Later… Ship construction body of knowledge has improved a lot New domains and industries were born Project Management became a science Why nearly four centuries later we are still facing the same issues in our domain?
  • 9. 1
  • 10. DILEMMA OFIMPORTANCE ANDRIGHTNTESS OF A CUSTOMER Hurry Gordon Selfridge said: «The customer is always right» But what if an important customer is not right?
  • 11. Ignore employees’ preferences and comfort Unconditional agreement with customersmight lead to quality problems Employees’ motivation fades out Lowered quality of service
  • 12. We accept unrealistic deadlines We agree on suboptimal solutions We let technical requirements to be dictated We are afraid to pose a denial In the end,the product will have our label Unconditional agreement with customers might lead to project failures
  • 13. UnlearnTO BE UNDENIABLE Your 'yes' has no power if you do not know how to say 'no'
  • 14. LearnTO COLLABORATE Start by saying «No!» to unacceptable conditions And then invite to seek for better solutions That are realistic Professional Lead to Win-win
  • 15. THE AGILE WAY Maker customers a part of the team Rely on face-to-face collaboration Run iteration planning meetings altogether Run regular demonstrations Build in trust by releasing valuable functionality early Build in quality
  • 16. 2
  • 17. DILEMMA OFHARD PLANNING AND CONSTANT CHANGES Fixing requirements is like trying to pin a cloud Changes come inevitably
  • 18. Project Scope Inevitably Changesbecause 1) Researches are made «the devil is in the details»
  • 19. Project Scope Inevitably Changesbecause We often give our promises when we know too little
  • 20. Project Scope Inevitably Changesbecause 2) Requirements are misunderstood
  • 21. Project Scope Inevitably Changesbecause 3) Customers get new wishes and better ideas
  • 22. Unlearn TO FIX PROJECT SCOPE [SCOPE] x [TIME] x BUDGET x QUALITY [SCOPE] x [TIME] x [BUDGET] x [QUALITY] [SCOPE] x [TIME] x [BUDGET] x [QUALITY] It is a «lose-lose» scenario
  • 23. LearnTO MANAGE PROJECT SCOPE 1) Turn failures into learningby dividing projects into sub-projects Detail and nail down requirements only for the current sub-project Plan next sub-project based on experience of the previous ones
  • 24. LearnTO MANAGE PROJECT SCOPE 2) Most likely you cannot do“all of it”so focus on the most valuable stuff On regular basis deliver the most valuable for business functionality Embrace changes to let business learn and create competitive advantages
  • 25. THE AGILE WAY Let business set and change priorities for development at any time Let the Product Backlog growand evolve Work in time-boxed iterations Have a detailed plan for the current iteration Have a potentially shippable product increment after each iteration Measure and use Team Velocity in planning
  • 26. 3
  • 27. THE PROBLEM OF OVER-ENGENEERING By trying to avoid changeswe tend to develop universal solutions Big Requirement Up Front (BRUF) Big Design Up Front (BDUF)
  • 28. Unlearn TO TARGET FOR UNIVERSAL ARCHITECTURE It is impossible to foresee everything
  • 29. LearnTO LET CHANGES HAPPEN AT MINIMAL COSTS Cheap - Simple Design Safe - Automated Test Suites With no Constrains - Refactoring Let the system architecture grow together with product knowledge
  • 30. THE AGILE WAY Start development as early as possible Choose the simplest solutions that will work Reduce waste Zero-bug development strategy Root-cause analysis for each bug found
  • 31. Do You Use Test-Driven Development Refactoring Continuous Integration
  • 32. Some People Say «I ain’t need no unit-tests, I can write quality code without them» «I have no time for refactoring, that’s why I write correctly in the first place»
  • 33. 4
  • 34. THE PROBLEM OF PROFESSIONAL CARELESSNESS Happens each time one does not think How the codebase will look like in ½ year What will happen to the codebase once we leave the project About the people who will support the product
  • 37. LearnPROFESSIONALISM = SAFETY 1) CARE ABOUT YOURSELF - TDD - Refactoring- Continuous Integration Write code so that once in maintenance you can send yourself a card on a Thanksgiving day
  • 38. What Developers Do? Read code Write code
  • 39. What Developers Do? Read code 90% Write code 10%
  • 40.
  • 41. THE AGILE WAY Pay attention to high quality standards of development Define Done-Done criteria of features to include: automatic build, unit testing, refactoring, customer acceptance “Let the chief control the kitchen”
  • 42. 5
  • 43. THE PROBLEM OF A STANDARD PROCESS When do we usually decide on a methodology?
  • 44. THE PROBLEM OF A STANDARD PROCESS The danger of standard process is that peoplewill miss chances to take important shortcuts T. DeMarco, T. Lister
  • 45. UnlearnTO RELY ON A STANDARD APPROACHthat would solve all possible problems There is a wide range of proposals on the «market»: CMMI,RUP,XP,SCRUM …
  • 46.
  • 48. Product releases and marketLearnTO BUILD AN ADAPTIVE META-PROCESS
  • 49. LearnTO BUILD AN ADAPTIVE META-PROCESS Putting the culture of continuous improvement to the basement of the process
  • 50. LearnTO BUILD AN ADAPTIVE META-PROCESS Building your own process and keeping adapting it based on learning
  • 51. LearnTO BUILD A META-PROCESS Best practices Good practices
  • 52. THE AGILE WAY Make all problems visible by not allowing to break rules, such as: working in fixed length iterations conducting public demonstrations at the end of each iteration Run retrospective meetings at regular intervals Plan for process experiments
  • 53. To Unlearn ->To Learn To be undeniable -> To collaborate To fix project scope -> To manage project scope To target for universal architecture-> To let changes happen at minimal costs To mismatch professionalism with bravery -> Match professionalism with safety To rely on a standard approach -> To build a meta-process
  • 54. Have a Safe Journey! S C R U M g u i d e s