*User* stories come from *users*. They describe a domain-level problem, a solution for which would make your *users* life better. They do not describe that solution. 1/3
You cannot test your way to quality.
Tests, for example, don't tell you if you've written the simplest code needed to do the job, or whether there is unnecessary complexity, or whether the code is readable and easy to modify, or whether the architecture is appropriate.
A well-architected software project is one where the difficulty of adding a feature is proportional to the delta in functionality you want to add.
Small tweaks should be easy, and big new features that were not part of the design should not be too scary due to the existing code.
Yes. If you're serious about fewer bugs in prod, the answer is not to spend ever more time and energy testing, it's to invest -- culturally and technically -- in production.
Feature flags, instrumentation, observability, progressive deployment, and a healthy on call.
Problem: People forget to write tests.
Solution: Write a test that asserts that each file has a test. 😎
Below, I'm using Jest to assure each component in our reusable component library has a corresponding test file.
See alt tag for Gist link.
C# 11 preview introduces list patterns.
It extends pattern matching to match sequences of elements in an array or a list.
You can use list patterns with any pattern, including constant, type, property, and relational patterns.
Bonus example in the reply 👇
Every backlog item that your team pulls into their Sprint is a backlog item that other teams cannot work on. That creates a cumulative delay in the system as a whole. it’s way better to work on one item at a time and pull the next item when you finish the current one.🤔
I just updated an @angular 8 app to Angular 13. Upgrading version by version was painful from an npm standpoint, so I created a new Angular 13 app, copied my files over, and fixed errors. All the errors were TypeScript errors. It was very close to painless. Amazing
Continuous integration and testing isn’t an additional cost for a development team, instead it is a shift and decrease in the cost of finding and resolving defects to earlier in the development lifecycle.
Old Microsoft used the term “cross platform” to mean different versions of windows on different devices. Now it’s *truly* cross platform. That’s been one of the more transformative changes that’s happened since I’ve worked here.
“As an old programmer, it is my job to make room for those young programmers, so that they can become old programmers too.”
Great advice from @shanselman at #NDCPorto