dancing for a product release
DESCRIPTION
Discussion on how to set up a team to be ready to release many versions of a productTRANSCRIPT
![Page 2: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/2.jpg)
• From general (over) simplistic things to practical tricks
• Mix of big company and startup experiences
• From inside (direct management) and outside (consulting)
![Page 3: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/3.jpg)
• Idea of creating one identified entity
• With a name, possibly a brand
• That has multiple releases with different importances
• And where each release is infused by the personality of its creator team
Product??
![Page 4: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/4.jpg)
• The team has to deliver it
• The team has to evolve
So that a product lives
![Page 5: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/5.jpg)
Put the Team in place
![Page 6: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/6.jpg)
Years of cultural organization (Europe, East Coast…)
Tester
Dev
Product
Marketing
BOSS
High level glorious thinker
Low level manual stinker
Add the Project Manager as mid level wannabee parasite
Inside
Outside
![Page 7: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/7.jpg)
Impact of the 201X Startup paradigm
• Let’s pretend this does not exist because there are not enough people in the company and everyone is multitasked
• Let’s not hide anymore the engineering geek and make it a selling argument
• Let’s pretend a product/app is a common work
But it takes more to fight your reptilian/cultural/religious brain
![Page 8: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/8.jpg)
Change your mental schema
Tester DevProductMarketing
Dictatorial Boss
Project Manager —> Engineering Project Manager
EPM
![Page 9: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/9.jpg)
Engineering Project Manager
• Duty to make reporting and have a rigorous no lie/no bullshit attitude
• Must have no favorite partner among the other core team group
• Must anticipate (and do) the work that other do not want to do : bug triage, reporting
• Should be number one product knowledge source
![Page 10: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/10.jpg)
Technical or not?
• Decide from the start if you are a technological company
• If yes make sure that you can show your technical assets at any time
• If not think if having a technical team is a good thing
• If not Keep a QA instead of an engineer
![Page 11: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/11.jpg)
About QA
• It always come at last. Whatever you announce.
• QA people are always considered as “not good enough to be an engineer”
• They are always right
• They must feed the machine (bug), especially to do what automation can’t
![Page 12: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/12.jpg)
Don’t break the cycleEspecially at day 1
![Page 13: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/13.jpg)
Develop
Release Use/Test
![Page 14: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/14.jpg)
Versioning
• When you repeat yourself change the version each time. Reporting is essential.
• Build version versus marketing version (iOS has agvtool - set up your project).
• Version all components, make the version easy to find
Question most heard in product life cycle. Save 20% of useless talk
![Page 15: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/15.jpg)
Release
• If there is one automated piece in your system this is the release tool
• The boss should be able to make a build
• Release at regular and fixed intervals. Do not wait for engineers/designer to complete their fixes
• EPM should make sure everyone knows what’s new there. Track history
![Page 16: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/16.jpg)
Distribute (especially mobile)
• Use third party tools for mobile applications (Testflight)
• Make sure everyone is over-notified of a new build
• If you worry about who is on your distribution list, do not put her/him there. Remove people who do not install
• Use distribution to validate a development. This is NOT final release
![Page 17: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/17.jpg)
Measure
• A bug system is a metric system. It provides cold facts.
• If you argue philosophically about what is a bug (or not), a feature (or not), then stop doing this job and do cocktails
• Make sure it can integrate at all level of the workflow (gathering of bugs)
• The best tool for your team is the one people use
![Page 18: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/18.jpg)
The cycle is for everyone
• Product designer could be ask to provide 10 variations of one design
• Product launch is not done with talk : text to write, translation to make, videos to prepare
• The EPM must gather all elements
![Page 19: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/19.jpg)
Process or not?
• Process is a mean not a goal but “Without process there is no product” .
• Do not make process or tools a topic of discussion inside your company.
• Once a process decision is here, stick to it…until you change it
• If it is not adopted try again later
Yaka, Fokon happens here
![Page 20: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/20.jpg)
Tech management
![Page 21: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/21.jpg)
Landscape
• Software Engineers are the kings of today
• ….but statistically this can’t be
• And everyone like to think they are in the late part of the Gaussian curve
me = fXXXing genius
![Page 22: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/22.jpg)
2 books to read
![Page 23: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/23.jpg)
Dreyfus model of skill acquisition
• Developed by two (Stuart and Hubert) brothers in the 1980
• Model of skill acquisition and mastering
• 5 levels from Novice to Expert: they see the world in different ways
• Per skill model but….
![Page 24: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/24.jpg)
Dreyfus model
Expert Expert work from intuition
Proficient Proficient practitioners can self correct
Competent Competent can troubleshoot
Advanced Beginners
Advanced beginners don’t want the big picture
Novices Novices needs recipes
![Page 25: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/25.jpg)
Build your team
• Decide how to balance the skills and levels: e.g one architect (expert), one debugger (expert), 3 monkeys coders (Beginners)
Skills
Level
![Page 26: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/26.jpg)
Some management experience
• Startup does not give you legitimacy. This is a constant fight.
• Recruiting is the entry point: “Smart and get things done”
• Applying “best practices” should be done according to where the team stands in the Dreyfus model
• No concession should be made on the company code identity. If it looks good and coherent it probably is.
![Page 27: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/27.jpg)
Make a set of common knowledge
• Everey engineer should know this
• Some examples
- Stop and start the infrastructure
- Know an HTTP API
- Know the database model
- Measure performance of a system
![Page 28: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/28.jpg)
Technology choice
• There is no technology fundamentally better than an other. Just different paths to the same point
Tech A
Tech B
![Page 29: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/29.jpg)
So where are the differences?
• Someone who deadly wants to prove a technology is better will be better
• Depending on what are the company goal the technical target goal should be adapted,as long as you are conscious about it
• In the end the quality will come from coming back to what has been done. It takes one year to write a piece of code
![Page 30: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/30.jpg)
The signs to fire an engineer/consultant
• “We need to redo everything”
• “This is not in my code”
• “We should change to this new library”
![Page 31: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/31.jpg)
Product evolution technical impact
• Ways to upgrade between versions. Be forward and backward compatible
• Have a way to notice that there is maintenance
• Make a version obsolete with a nice feedback
• Be as much crash prone in your data technology
From day 1 have in your product
![Page 32: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/32.jpg)
Stay manual
![Page 33: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/33.jpg)
• You can not go so much faster than the speed of team
• But you must always try to do it
Team learning can be slow process
![Page 34: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/34.jpg)
• Release tool
• Automatic Bug reporting
• Automatic test
• Monitoring and notification of problems
Automation is useful
![Page 35: Dancing for a product release](https://reader034.vdocuments.site/reader034/viewer/2022052618/554a52afb4c9054b328b48fc/html5/thumbnails/35.jpg)
But sometimes keep it manual
• Automation is good only if someone read the reports
• Understanding what needs automated need manual try