After I learned TDD, most of my teams' interfaces emerged from the Dependency Injection used to isolate code under test from its environment/services external to the team.
I just had this conversation with a team I was training last week on devops, agile, and TDD. Before I learned TDD, defining the interfaces was the best way I knew to organize the work of a team, and I even referenced Wirth.
I see team development as cycling frequently between "independent implementation" and "definition of interfaces", because I never get the interfaces right.
Book link: https://t.co/Y8LesU8GJT
Great geeky experience of being in the presence of deep, clear thought.
☑️ Objective = What you want
☑️ Outcome = What happens, in or out of line with the objective
☑️ Output = What you produce to try and effect a positive outcome
☑️ Throughput = How much value-creating output you produce
❌ Number of story points delivered = None of the above
This below is one slide about SAFe presented by Nicolas M. Chaillan, @NicolasChaillan, U.S. Air Force Chief Software Officer, as part of the event: DoD Enterprise DevSecOps Initiative Ask Me Anything. 1/5
#SAFeNoThanks
Types really shine in refactoring IDEs. The over-specification inherent with types gives the IDE a lot to work with and makes complex automatic refactorings possible and practical.
Because @FCC claimed it had no authority to regulate broadband, the court said it also lacked authority to prevent the states from enacting #netneutrality laws. The bottom line: state actions will pressure ISPs & Congress toward federal legislation:
https://t.co/uRGwTMIwYR
We do not write all the tests before writing any code. We write a tiny bit of a test, and then make that tiny bit pass. Then we add a tiny bit more to the test to make it fail. Then we make that slightly larger test pass. Etc.
How tiny? Five seconds.
My most embarrassing mistakes as a programmer:
* I didn't ask for help
* I was afraid of what others would think
* I didn't follow through on a promise
* I didn't step up and take responsibility
* I avoided conflict
My biggest mistakes had nothing to do with programming.