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

Comparativo bubble sort e quick sort
Comparativo bubble sort e quick sortComparativo bubble sort e quick sort
Comparativo bubble sort e quick sort
Daiana de Ávila
 

What's hot (16)

Dual write strategies for microservices
Dual write strategies for microservicesDual write strategies for microservices
Dual write strategies for microservices
 
Entrepreneur Way #13 - November 2015
Entrepreneur Way #13 - November 2015Entrepreneur Way #13 - November 2015
Entrepreneur Way #13 - November 2015
 
DAT322_The Nanoservices Architecture That Powers BBC Online
DAT322_The Nanoservices Architecture That Powers BBC OnlineDAT322_The Nanoservices Architecture That Powers BBC Online
DAT322_The Nanoservices Architecture That Powers BBC Online
 
Data models in NoSQL
Data models in NoSQLData models in NoSQL
Data models in NoSQL
 
Efficiency and Cost Optimization: Rightsizing Cloud Resources with Datadog
Efficiency and Cost Optimization: Rightsizing Cloud Resources with DatadogEfficiency and Cost Optimization: Rightsizing Cloud Resources with Datadog
Efficiency and Cost Optimization: Rightsizing Cloud Resources with Datadog
 
Introduction to Apache Hadoop Ecosystem
Introduction to Apache Hadoop EcosystemIntroduction to Apache Hadoop Ecosystem
Introduction to Apache Hadoop Ecosystem
 
Anti patterns
Anti patternsAnti patterns
Anti patterns
 
Comparativo bubble sort e quick sort
Comparativo bubble sort e quick sortComparativo bubble sort e quick sort
Comparativo bubble sort e quick sort
 
Nonrelational Databases
Nonrelational DatabasesNonrelational Databases
Nonrelational Databases
 
Hadoop Ecosystem
Hadoop EcosystemHadoop Ecosystem
Hadoop Ecosystem
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
 
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDB
 
Overview on NUMA
Overview on NUMAOverview on NUMA
Overview on NUMA
 
MicroCPH - Managing data consistency in a microservice architecture using Sagas
MicroCPH - Managing data consistency in a microservice architecture using SagasMicroCPH - Managing data consistency in a microservice architecture using Sagas
MicroCPH - Managing data consistency in a microservice architecture using Sagas
 
Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud Platform
 

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

Recently uploaded (20)

Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Motion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyMotion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in Technology
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 

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