Aircraft Carriers and Paper Airplanes
What’s more valuable, a big old company with assets, or a small nimble company with ideas?
What’s more valuable, a big old company with assets, or a small nimble company with ideas?
Functional stupidity is: don’t self-reflect, don’t ask why, and only think about what we ask you to think about. This can be good in corporate-land. It is a disaster for software.
“Plants are movers…. Plants grow to where they’re going.” Frazier, P. & Jamone, Lorenzo & Althoefer, Kaspar & Calvo, Paco. (2020). Plant Bioinspired Ecological Robotics. Frontiers in Robotics and AI. 7. 10.3389/frobt.2020.00079. This is a keynote written originally for a private company. I’ll do it at conferences, including YOW! in September 2020. Short bite: In …
Say you’re aiming for outcome-based product teams that write and operate software. Maybe you hire for roles in these teams like Software Developer, Product Owner, Designer, Tester. How do you define each role? We usually ask, what does each person do? A typical job description includes: what does the person do? What are they responsible …
Read moreDefine roles by what each person increasingly knows
Imagine you’ve never cut open a human body before. Nor seen a diagram drawn by someone who has. Back before anatomy textbooks, the organs and systems of the human body would not have been obvious. I imagine asking, what are the parts that make up a person? and getting: head, arms, legs, hands, feet, chest, …
Read moreThe visible lines of division are not the meaningful ones
Cognitive neuroscience likes to assign functions to parts of the brain. This bit does planning. This part does short term memory. This piece perceives faces. Does that bit really do planning? If you cut it out and held it, would it plan for you? No. And that other bit doesn’t perceive faces without messages from …
Read moreThe service you build doesn’t do a thing. It participates in a thing.
When helping software development teams work more smoothly, we want to teach them TDD, DevOps, pairing, clean code, etc. Which of these are skills, and which are practices? Yes — they’re all both. Skills and practices aren’t separate; they’re a circle. Knowing how to do something gives you the option to practice it, which makes …
Caring for software takes more knowledge than a single person can acquire. There’s the business knowledge that makes it useful, plus the languages and runtimes and infrastructure and deployment. Then there’s security, accessibility, user experience, each interface, availability, observability, scaling, performance, data modeling, testing, networking, etc etc. Every change to the software hits several of …
Developers talk about interfaces all the time. Even in the back end: APIs are crucial, because they let us connect our new programs into the world of existing software. They let us build on what exists. They let us build subsystems, and build higher-level systems using those. In real life, I talk about interfaces. An …
Read moreDeveloping software teaches us to design interfaces.