SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Fix-Price ProjectsFix-Price Projects
And AgileAnd Agile
PyCon 7, 2016PyCon 7, 2016
live slides @ tinyurl.com/pycon7-fix
Peter BittnerPeter Bittner
Developer (of people, companies, code)
Co-founder Painless Software
@peterbittner, django@bittner.it
behave-django codeship-yaml django-analytical django-apptemplates django-organice
You Know That WellYou Know That Well
deadline
overtime
features
still missing
deployment
big-bang
release
bugs, bugs, bugs
(regression)
customer
complaints
renegotiations
(price pressure)
unpaid fixes
(liability)
Who's Guilty?Who's Guilty?
#1 Incompetent developers
#2 Customer (feature changes)
#3 "Agile" doesn't work
#4 Maybe it has to be that way?
“ Agile does not exist.Agile does not exist.
-- the infamous Peter Bittner
It's really not a method, but just a set of
best practices derived from experience
(in software development)
AgendaAgenda
Why fix-price projects?
3 dimensions of a project
(Failing) Classic approach I+II
(Demanding) Successful approach
A) Sales ProcessA) Sales Process
B) Project Execution
It's a planned economy (annual plan)
Budget known in advance
Target dates depend on goals + budget
Revenue expected from
new features
Sums up to total profit
Reliable dimensionsReliable dimensions
Estimated dimensionsEstimated dimensions
Why Fix-Price Projects?Why Fix-Price Projects?
3 Dimensions of a Project3 Dimensions of a Project
1. Time
2. Budget
3. Features
“ Failing projects nail all 3 of them.
(Failing) Classic Approach(Failing) Classic Approach
All features + fixed deadline + fixed budget
Must be estimated competitively
Buffers are never sufficient
Not ready for change = renegotiations
“ You try to do the impossible.
(Failing) Classic Approach II(Failing) Classic Approach II
They will buy it (low risk)
Time to get to know them
Place to sell your approach
Room to come up with an estimation
Offer a workshopOffer a workshop
You try to do it allYou try to do it all
Your goal: rough estimation
Because you want all features (too)
And meet budget + time
"I told you at the workshop" syndrome
“ Good!
“ Bad!
Successful ApproachSuccessful Approach
Fix deadline + budget
Total estimation = non-binding
("plausibility check")
Explain advantages of sprint-wise billing
Sprint-wise billingSprint-wise billing
Reduce risk (always deliver a working product)
Freedom to change your mind (change features)
Get what you need (not what you ordered)
Critical ElementsCritical Elements
Ship early, ship often
Build first what creates
most value
Never ever touch the
deadline!
Plan a going-live party
with customer
On timeOn time On budgetOn budget
Welcome change: Reprioritise,
reorder, redo features (before
sprint starts)
Stick to the process: No overtime,
no changes in a running sprint (full
concentration)
Bill every sprint ("when time is
exhausted")
“ Fixed working hours = no renegotiation
Software that "simply works"
– tested!
I got what I need –
awesome!
On time, on budget,
working solutions
AgendaAgenda
(Failing) Traditional setup
(Successful) Test-driven setup
Why it makes sense
What do we need?
A) Sales Process
B) Project ExecutionB) Project Execution
(Failing) Traditional Setup(Failing) Traditional Setup
Long acceptance test phase in the end
A lot of manual testing
Regression after bug fixes
No guarantee of stable implementation
Risky defects liability period
A closing test phaseA closing test phase
“ Big bang release.
(Successful) Test-driven Setup(Successful) Test-driven Setup
Acceptance test specification in concept phase
Tests implemented by programmers
Tests executed automatically
Extremely short handover in the end
Regression under control
Upfront specificationUpfront specification
“ Building trust. Gaining speed.
Why It Makes SenseWhy It Makes Sense
No additional budget required
Product stability
Waste less money for bug fixing
Cheap repeatability of testing
Focus on advanced quality topics
“ Make the same things earlier.
What Do We Need?What Do We Need?
1. User stories
2. Test specifications
“ Acceptance criteria = Scenarios.
Tools & ResourcesTools & Resources
,
Jira: , PyCharm, ...
behave behave-django
Behave Pro
https://painless.software/test-driven-project
Wow, isn't that what
we were always
looking for?
It's awesome,
honey.
Buy it?
Buy it!
Thank you!Thank you!
for your precious timefor your precious time
Painless SoftwarePainless Software
Less pain, more fun.

Contenu connexe

Tendances

Agile Metrics - how to use metrics to manage agile teams
Agile Metrics - how to use metrics to manage agile teamsAgile Metrics - how to use metrics to manage agile teams
Agile Metrics - how to use metrics to manage agile teamsXBOSoft
 
Agile Base Camp - Agile metrics
Agile Base Camp - Agile metricsAgile Base Camp - Agile metrics
Agile Base Camp - Agile metricsSerge Kovaleff
 
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"Délio Almeida
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, OverviewBayard Randel
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyPayod Soni
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slidesgilashikwa
 
Requirementless testing
Requirementless testingRequirementless testing
Requirementless testingJulen Mohanty
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overviewsunilkumar_
 
Devil&Details On Agile Contracts
Devil&Details On Agile ContractsDevil&Details On Agile Contracts
Devil&Details On Agile Contractscrsadun
 
Lean Software Development - Part I
Lean Software Development - Part ILean Software Development - Part I
Lean Software Development - Part IPrasun Jain
 
Project Delivery
Project DeliveryProject Delivery
Project DeliveryCODETE
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfallgosain20
 
Focus: Lean Delivery Workflow
Focus: Lean Delivery WorkflowFocus: Lean Delivery Workflow
Focus: Lean Delivery WorkflowRob Knight
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overviewguestb4c770
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to ScrumPavel Dabrytski
 

Tendances (20)

Agile Metrics - how to use metrics to manage agile teams
Agile Metrics - how to use metrics to manage agile teamsAgile Metrics - how to use metrics to manage agile teams
Agile Metrics - how to use metrics to manage agile teams
 
Agile Base Camp - Agile metrics
Agile Base Camp - Agile metricsAgile Base Camp - Agile metrics
Agile Base Camp - Agile metrics
 
Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
 
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
 
Agile dashboard
Agile dashboardAgile dashboard
Agile dashboard
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, Overview
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slides
 
Agile metrics
Agile metricsAgile metrics
Agile metrics
 
Requirementless testing
Requirementless testingRequirementless testing
Requirementless testing
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Agile Metrics V6
Agile Metrics V6Agile Metrics V6
Agile Metrics V6
 
Devil&Details On Agile Contracts
Devil&Details On Agile ContractsDevil&Details On Agile Contracts
Devil&Details On Agile Contracts
 
Lean Software Development - Part I
Lean Software Development - Part ILean Software Development - Part I
Lean Software Development - Part I
 
Project Delivery
Project DeliveryProject Delivery
Project Delivery
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfall
 
Focus: Lean Delivery Workflow
Focus: Lean Delivery WorkflowFocus: Lean Delivery Workflow
Focus: Lean Delivery Workflow
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to Scrum
 

En vedette

NRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile ProjectsNRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile ProjectsRainer Stropek
 
Debbie Madden Budgeting vs Estimating for Agile Projects
Debbie Madden Budgeting vs Estimating for Agile ProjectsDebbie Madden Budgeting vs Estimating for Agile Projects
Debbie Madden Budgeting vs Estimating for Agile ProjectsDebbie Madden
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Giulio Roggero
 
Agile Estimation for Fixed Price Model
Agile Estimation for Fixed Price ModelAgile Estimation for Fixed Price Model
Agile Estimation for Fixed Price Modeljayanth72
 

En vedette (6)

NRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile ProjectsNRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile Projects
 
Debbie Madden Budgeting vs Estimating for Agile Projects
Debbie Madden Budgeting vs Estimating for Agile ProjectsDebbie Madden Budgeting vs Estimating for Agile Projects
Debbie Madden Budgeting vs Estimating for Agile Projects
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015
 
#NoEstimates Thinking
#NoEstimates Thinking#NoEstimates Thinking
#NoEstimates Thinking
 
Agile Estimation for Fixed Price Model
Agile Estimation for Fixed Price ModelAgile Estimation for Fixed Price Model
Agile Estimation for Fixed Price Model
 
Agile budget v1.01
Agile budget v1.01Agile budget v1.01
Agile budget v1.01
 

Similaire à Fix-Price Projects And Agile – PyCon Sette

What's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methodsWhat's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methodsBruno Sbille
 
Your Client Wants What
Your Client Wants WhatYour Client Wants What
Your Client Wants Whatlazygolfer
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPeter Bittner
 
Sonic Manufacturing Technologies, Inc.
Sonic Manufacturing Technologies, Inc.Sonic Manufacturing Technologies, Inc.
Sonic Manufacturing Technologies, Inc.manmeetwirk
 
Agile Austin - Peer Code Review An Agile Process
Agile Austin -  Peer Code Review An Agile ProcessAgile Austin -  Peer Code Review An Agile Process
Agile Austin - Peer Code Review An Agile Processgsporar
 
reverse engineering process and product planning techniques
reverse engineering process and product planning techniquesreverse engineering process and product planning techniques
reverse engineering process and product planning techniquesShankar Rao
 
Agile Programming Techniques
Agile Programming TechniquesAgile Programming Techniques
Agile Programming TechniquesHosam Bayomy
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development PracticesLemi Orhan Ergin
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementDavid Updike
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or FictionMatt Ganis
 
Why don't small companies do big a agile?
Why don't small companies do big a agile?Why don't small companies do big a agile?
Why don't small companies do big a agile?activelylazy
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Processgsporar
 
Lean Tools and resulting ROI 2015
Lean Tools and resulting ROI 2015Lean Tools and resulting ROI 2015
Lean Tools and resulting ROI 2015Bill Bearnson
 
Learn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream managementLearn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream managementLance Knight
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 

Similaire à Fix-Price Projects And Agile – PyCon Sette (20)

What's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methodsWhat's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methods
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Your Client Wants What
Your Client Wants WhatYour Client Wants What
Your Client Wants What
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development Dnvironment
 
Sonic Manufacturing Technologies, Inc.
Sonic Manufacturing Technologies, Inc.Sonic Manufacturing Technologies, Inc.
Sonic Manufacturing Technologies, Inc.
 
Agile Austin - Peer Code Review An Agile Process
Agile Austin -  Peer Code Review An Agile ProcessAgile Austin -  Peer Code Review An Agile Process
Agile Austin - Peer Code Review An Agile Process
 
reverse engineering process and product planning techniques
reverse engineering process and product planning techniquesreverse engineering process and product planning techniques
reverse engineering process and product planning techniques
 
Agile Programming Techniques
Agile Programming TechniquesAgile Programming Techniques
Agile Programming Techniques
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior Management
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or Fiction
 
LeanSigma for IW 2005
LeanSigma for IW 2005LeanSigma for IW 2005
LeanSigma for IW 2005
 
Innovation Team Plan
Innovation Team PlanInnovation Team Plan
Innovation Team Plan
 
Why don't small companies do big a agile?
Why don't small companies do big a agile?Why don't small companies do big a agile?
Why don't small companies do big a agile?
 
Egov Projects For Fun Profit
Egov Projects For Fun Profit Egov Projects For Fun Profit
Egov Projects For Fun Profit
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Process
 
Lean Tools and resulting ROI 2015
Lean Tools and resulting ROI 2015Lean Tools and resulting ROI 2015
Lean Tools and resulting ROI 2015
 
prod-dev-management.pptx
prod-dev-management.pptxprod-dev-management.pptx
prod-dev-management.pptx
 
Learn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream managementLearn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream management
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 

Plus de Peter Bittner

PyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere scriptPyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere scriptPeter Bittner
 
Python Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts AgainPython Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts AgainPeter Bittner
 
APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)Peter Bittner
 
Pee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development KitPee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development KitPeter Bittner
 
EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersPeter Bittner
 
Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Peter Bittner
 
A guide to modern software development 2018
A guide to modern software development 2018A guide to modern software development 2018
A guide to modern software development 2018Peter Bittner
 
Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017Peter Bittner
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoPeter Bittner
 
Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)Peter Bittner
 
Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)Peter Bittner
 

Plus de Peter Bittner (13)

PyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere scriptPyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere script
 
Python Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts AgainPython Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts Again
 
APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)
 
Pee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development KitPee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development Kit
 
Managing 100+ WAFs
Managing 100+ WAFsManaging 100+ WAFs
Managing 100+ WAFs
 
EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python Developers
 
Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)
 
A guide to modern software development 2018
A guide to modern software development 2018A guide to modern software development 2018
A guide to modern software development 2018
 
Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)
 
Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)
 
Linux auf meinem PC
Linux auf meinem PCLinux auf meinem PC
Linux auf meinem PC
 

Dernier

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Dernier (20)

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

Fix-Price Projects And Agile – PyCon Sette

  • 1. Fix-Price ProjectsFix-Price Projects And AgileAnd Agile PyCon 7, 2016PyCon 7, 2016 live slides @ tinyurl.com/pycon7-fix
  • 2. Peter BittnerPeter Bittner Developer (of people, companies, code) Co-founder Painless Software @peterbittner, django@bittner.it behave-django codeship-yaml django-analytical django-apptemplates django-organice
  • 3. You Know That WellYou Know That Well deadline overtime features still missing deployment big-bang release bugs, bugs, bugs (regression) customer complaints renegotiations (price pressure) unpaid fixes (liability)
  • 4. Who's Guilty?Who's Guilty? #1 Incompetent developers #2 Customer (feature changes) #3 "Agile" doesn't work #4 Maybe it has to be that way?
  • 5. “ Agile does not exist.Agile does not exist. -- the infamous Peter Bittner It's really not a method, but just a set of best practices derived from experience (in software development)
  • 6. AgendaAgenda Why fix-price projects? 3 dimensions of a project (Failing) Classic approach I+II (Demanding) Successful approach A) Sales ProcessA) Sales Process B) Project Execution
  • 7. It's a planned economy (annual plan) Budget known in advance Target dates depend on goals + budget Revenue expected from new features Sums up to total profit Reliable dimensionsReliable dimensions Estimated dimensionsEstimated dimensions Why Fix-Price Projects?Why Fix-Price Projects?
  • 8. 3 Dimensions of a Project3 Dimensions of a Project 1. Time 2. Budget 3. Features “ Failing projects nail all 3 of them.
  • 9. (Failing) Classic Approach(Failing) Classic Approach All features + fixed deadline + fixed budget Must be estimated competitively Buffers are never sufficient Not ready for change = renegotiations “ You try to do the impossible.
  • 10. (Failing) Classic Approach II(Failing) Classic Approach II They will buy it (low risk) Time to get to know them Place to sell your approach Room to come up with an estimation Offer a workshopOffer a workshop You try to do it allYou try to do it all Your goal: rough estimation Because you want all features (too) And meet budget + time "I told you at the workshop" syndrome “ Good! “ Bad!
  • 11. Successful ApproachSuccessful Approach Fix deadline + budget Total estimation = non-binding ("plausibility check") Explain advantages of sprint-wise billing Sprint-wise billingSprint-wise billing Reduce risk (always deliver a working product) Freedom to change your mind (change features) Get what you need (not what you ordered)
  • 12. Critical ElementsCritical Elements Ship early, ship often Build first what creates most value Never ever touch the deadline! Plan a going-live party with customer On timeOn time On budgetOn budget Welcome change: Reprioritise, reorder, redo features (before sprint starts) Stick to the process: No overtime, no changes in a running sprint (full concentration) Bill every sprint ("when time is exhausted") “ Fixed working hours = no renegotiation
  • 13. Software that "simply works" – tested! I got what I need – awesome! On time, on budget, working solutions
  • 14. AgendaAgenda (Failing) Traditional setup (Successful) Test-driven setup Why it makes sense What do we need? A) Sales Process B) Project ExecutionB) Project Execution
  • 15. (Failing) Traditional Setup(Failing) Traditional Setup Long acceptance test phase in the end A lot of manual testing Regression after bug fixes No guarantee of stable implementation Risky defects liability period A closing test phaseA closing test phase “ Big bang release.
  • 16. (Successful) Test-driven Setup(Successful) Test-driven Setup Acceptance test specification in concept phase Tests implemented by programmers Tests executed automatically Extremely short handover in the end Regression under control Upfront specificationUpfront specification “ Building trust. Gaining speed.
  • 17. Why It Makes SenseWhy It Makes Sense No additional budget required Product stability Waste less money for bug fixing Cheap repeatability of testing Focus on advanced quality topics “ Make the same things earlier.
  • 18. What Do We Need?What Do We Need? 1. User stories 2. Test specifications “ Acceptance criteria = Scenarios.
  • 19. Tools & ResourcesTools & Resources , Jira: , PyCharm, ... behave behave-django Behave Pro https://painless.software/test-driven-project
  • 20. Wow, isn't that what we were always looking for? It's awesome, honey. Buy it? Buy it!
  • 21. Thank you!Thank you! for your precious timefor your precious time Painless SoftwarePainless Software Less pain, more fun.