How will you collaborate?
Here are 6 roles in collaborative decisionmaking. Which one are you? Who are you gonna fight with? What does this say about pull requests vs pair programming?
Here are 6 roles in collaborative decisionmaking. Which one are you? Who are you gonna fight with? What does this say about pull requests vs pair programming?
Step 1: On one team, put the people with the knowledge and control necessary to change the software, see the results, change it, see the results. Step 2: Use automation to take extrinsic cognitive load off this team, so that it needs fewer people. That’s it, that’s DevOps. Step 1 describes the cultural change that …
“Which database is the best?” Superlatives are dangerous. They pressure you to line up the alternatives in a row, judge them all, make the perfect decision. This implies that databases can be compared based on internal qualities. Performance, reliability, scalability, integrity, what else is there? We know better than that. We recognize that relational databases, …
Sometimes in software design we get this idea, “We’ll make this a rule engine. Then the business can write the rules, and they’ll be able to change them without changing the code. That’ll make it more flexible.” 🤣 The rules are code; they change the behavior of the system. Rules interact in ways that are …
How important is correctness? This is a raging debate in our industry today. I think the answer depends strongly on the kind of problem a developer is trying to solve: is the problem contracting or expanding? A contracting problem is well-defined, or has the potential to be well-defined with enough rigorous thought. An expanding problem …
“And the Delivery team is in charge of puppet….” said our new manager. “Wait we’re in charge of WHAT?” – me “Well I thought that it fits in with your other responsibilities.” “That’s true. But we’re not working on it, we’re working on these other things. You can put whatever you want in our yellow …
TL;DR – Support decisions with automation and information; give people breadth of responsibility; let them learn from the results of their choices. When I started writing software in 1999, The software development cycle was divided into stages, ruled over by project management. Business people decided what to build to support the customers. Developers coded it. …