"Zombies will keep going until they either trip over something or eat your face." --@jessitron #DeliveryConf
-
-
Prikaži ovu nit
-
Software that stays alive rather than becoming a zombie requires a _team_ to support it, not just one person.
#DeliveryConfPrikaži ovu nit -
The tools are a _part_ of the sociotechnical system. There's mutual learning involved, which is the process of symmathesy.
#DeliveryConfPrikaži ovu nit -
Quality code is consistent, modern, regularly deployed, and _observable_. If you don't deploy every single week anyways, then you'll have to go through hell to deploy security updates every month.
#DeliveryConfPrikaži ovu nit -
Your people need to be in stable teams, who understand the technology, the purpose it serves, and who the customers are that we're delivering value to.
#DeliveryConfPrikaži ovu nit -
We also need a _relationship_ between the people and code involving ownership and communication. Can we _account_ for what the code is doing and why? this requires really good _events_.
#DeliveryConfPrikaži ovu nit -
and there's an overall environment that the people and code exist in - are we adequately funded? are we having conversations over priority? are we connected to needs of the business? You cannot treat software as a one-off capital expenditure that's "done".
#DeliveryConfPrikaži ovu nit -
"Companies should be powered by software, not subject to software." --
@jessitron#DeliveryConfPrikaži ovu nit -
There's only so much software a team can support. The limit isn't the speed of typing, it's cognitive overhead on how much we can _know_ and meaningfully make decisions on.
#DeliveryConfPrikaži ovu nit -
.
@jessitron gives a shoutout to@manupaisable et al's _Team Topologies_. Types of cognitive load: (1) Germane business-relevant complexity that _adds value_ (don't make teams cross multiple domains!) (2) Intrinic load required for the job eg frameworks, runtimes (3)#DeliveryConfPrikaži ovu nit -
(2) cont: maybe don't use too many different frameworks and programming languages to avoid too much context-switching & overhead... (3) Everything else, the extrinsic load imposed by your environment. Timesheets, health insurance, external processes...
#DeliveryConfPrikaži ovu nit -
In an ideal world, you shouldn't _have_ to know exactly how your CI system works, your code should just go to prod.
#DeliveryConfPrikaži ovu nit -
Pull as much cognitive load out of teams, so that you don't need 100 people scattered across many teams to support the service, you just need 10 people on one team. This requires both automation _and_ cultural change
#DeliveryConfPrikaži ovu nit -
The value of automation doesn't come just from writing code for yourself; it comes from sharing that consistency with other people so they can benefit from it too.
#DeliveryConfPrikaži ovu nit -
There's a difference between alphabetizing the glossary once, and making sure it's _continuously_ done so any additions to the glossary get automatically alphabetized.
#DeliveryConfPrikaži ovu nit -
[ed: I love
@jessitron's talks so much that I am 100% forgiving the fact that she's showing the tech of her former employer, which would be a pitch, but she no longer works there!] Tools like@atomist can be pluggable frameworks to standardize your workflow.#DeliveryConfPrikaži ovu nit -
The easier it is to keep something alive, the more likely it is your team will be able to keep it consistent and updated. Take the boring work out of the hands of humans, and free them to do the interesting work.
#DeliveryConfPrikaži ovu nit -
You also have to be able to understand your tech debt. Where are your haunted graveyards that nobody's touched in a year? What things lack licenses?
#DeliveryConfPrikaži ovu nit -
Overall, we need event pipelines to decouple our workflows. The same way we decoupled data producers/consumers with Kafka, we need to get software delivery into decoupled pipelines managed by code. Waiting is for machines, not humans.
#DeliveryConfPrikaži ovu nit -
The instant you "hand off to the DevOps team", you've messed up Step 1 of DevOps. So this means everything needs to be software as a service, on a platform... why do we have to run these platforms and SaaS ourselves?
#DeliveryConfPrikaži ovu nit -
The answer is no, you DON'T want to keep the platform alive yourself. All you want to do is add the bits that you personally need, but push outside your own domain things that become stable enough. Use Kafka as a Service. use managed Kubernetes.
#DeliveryConfPrikaži ovu nit -
Pay other people to keep software alive for you, kill off your own zombies. Outsource everything you can.
#DeliveryConfPrikaži ovu nit -
Keep learning to keep living, and don't do boring work. The only way to find out what is and isn't boring is _trying_ to automate things, which improves your understanding. [fin] http://blog.jessitron.com
#DeliveryConfPrikaži ovu nit
Kraj razgovora
Novi razgovor -
Čini se da učitavanje traje već neko vrijeme.
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.
& queer 
