Grow Professionalism! A key to succeed with software development is to create an environment where software engineers are really treated as professionals. In return software engineers should use the opportunity to always reach for new levels of professionalism. Allow professionalism to thrive within your organization. In this talk I will discuss a cocktail of ideas like: burn your corporate coding standards, stay close to the value stream, get rid of metrics, prefer collective ownership, always train your strongest developers first, be transparent, remove mechanisms for shifting responsibilities, optimize for your 80% best developers, introduce slack, celebrate failures, and more... 45 minute keynote at Software Craftmanship Day, Equinor, Bergen, 12. November 2019 Olve Maudal
78
Embed
Olve Maudal - pvv.orgoma/GrowProfessionalism_Nov2019.pdf · Miracle Max: Don't rush me, sonny. You rush a miracle man, you get rotten miracles. Inigo: I just hope it's enough to buy
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Grow Professionalism!
A key to succeed with software development is to create an environment where software engineers are really treated as professionals. In return software engineers should use the opportunity to always reach for new levels of professionalism. Allow professionalism to thrive within your organization.
In this talk I will discuss a cocktail of ideas like: burn your corporate coding standards, stay close to the value stream, get rid of metrics, prefer collective ownership, always train your strongest developers first, be transparent, remove mechanisms for shifting responsibilities, optimize for your 80% best developers, introduce slack, celebrate failures, and more...
45 minute keynote at Software Craftmanship Day, Equinor, Bergen, 12. November 2019
Olve Maudal
The importance of a clean and functioning work environment
Safety moment
Suppose you are just going to make something nice for yourself...
then, really, anything will do. Even...
but, software development is usually about more than just making something nice for
yourself.
It is usually about making something really fancy...
together with a large team of professionals...
for some demanding customer ...
You need a clean and functional work environment
Your codebase is like a kitchen.
Keep it clean and functional so that you can create spectacular solutions for your
demanding customers!
Grow Professionalism!
A key to succeed with software development is to create an environment where software engineers are really treated as professionals. In return software engineers should use the opportunity to always reach for new levels of professionalism. Allow professionalism to thrive within your organization.
In this talk I will discuss a cocktail of ideas like: burn your corporate coding standards, stay close to the value stream, get rid of metrics, prefer collective ownership, always train your strongest developers first, be transparent, remove mechanisms for shifting responsibilities, optimize for your 80% best developers, introduce slack, celebrate failures, and more...
45 minute keynote at Software Craftmanship Day, Equinor, Bergen, 12. November 2019
Olve Maudal
There used to be a time, when it was believed that anyone could do software development
after all, how hard could it be, it was just about programming a computer...
1) get some smart people to analyze the problem
2) create a plan3) find resources 4) execute according to
the plan
and when projects failed
the respons was always:
do more up-front analysis
create a more detailed plan
find more resources
and make sure that everyone followed the plan
but the projects still failed
and the respons was, as always...
but of course...
Dark ages of software development (early 80’s to late 90’s)
1) get some smart people to analyze the problem
2) create a plan3) find resources 4) execute according to
the plan
We had only discovered a fancy way of playing the “scabby queen” game, also known as the “Old Maid” or “Svarte Per”, always try to “save your ass” by delegating responsibility to someone else.
There must be a better way...
The Agile Manifesto (2001)
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
The agile manifesto started a huge awakening process in the software industry...
(picture from the 1990 film Awakenings)
1999 2019
Grow Professionalism!
a cocktail of topics related toProfessionalism
Effectiveness Efficiencyvs
Introduce slack to become more effective!
If your company’s goal is to become fast, responsive, and agile, more efficiency is not the answer--you need more slack. (Tom DeMarco)
100% full = high efficiency, very low effectiveness50% full = high effectiveness, moderate efficiency
The more difficult tasks you need to solve, the more slack you need
Taking breaks to "sharpen your saw" is often very effective
Trust
Deming states unequivocally that merit reviews, by whatever name, including management by objectives, are the single most destructive force in American management today.
Management by objectives is... a disastera disaster!
Constraints and direction
The observer effect
When observing a programmer, he/she is much more likely to add code than to delete code. Also, you can nearly guarantee that they will not shut their eyes and think carefully about things.
Pull vs Push
Money flow and turbulence
Midnight cowboys and sustainable pace
Inigo Montoya
Miracle Max
Inigo: We need a miracle. It's very important.
Inigo: We're in a terrible rush.Miracle Max: Don't rush me, sonny.
You rush a miracle man, you get rotten miracles.
Inigo: I just hope it's enough to buy a miracle, that's all.
[Inigo knocks on the door. A face appears]
Inigo: Are you the Miracle Max who worked for the king all those years?
Inigo: We need a miracle. It's very important.
[after a while]
Inigo: Sir...sir??
Miracle Max: Huh?
Inigo: We're in a terrible rush.
Miracle Max: Don't rush me, sonny. You rush a miracle man, you get rotten miracles.
http://www.youtube.com/watch?v=1oWAtAWat4E
Do not rush miracles
Any sufficiently advanced technology is indistinguishable from magic.Arthur C. Clark (third law)
Be open, transparent and honest
Celebrate learning
Burn the corporate coding standards
The corporate coding standard is usually written by some old-school developers that are not coding anymore.