My progression in life: Star Wars fan - Star Trek fan - Band Geek - Missing Time - Programmer - Husband - Prequel Hater - Father - Confused & Happy Engineer
A user story is not a code word for specification or a requirement or any description of work. It is not a ticket. It is not a to-do item. It is not something you can build. The fact that the term has been corrupted by the Jira-slinging ticket-money pseudo-Agile Scrummy culture is a real shame, because it's a valuable concept:
A "user story" is literally the user's story. It is a description of a problem, not a solution. It is not a specification. It cannot be estimated. It's the topic of conversation that we have with our users/customers to understand their problems and collaboratively develop the smallest, best solution. The story is not the solution—it's the beginning of the conversation you have to arrive at the solution.
A story describes our users' work, not ours.
The idea is that the best software solves real problems that real people have, and that, by identifying those problems, we can build something that's actually useful. By working on the software one small problem at a time, we guarantee that every release does something useful.
People who talk about user stories being dead never understood what they were to begin with. You cannot build software without them.
@railboss@MissJilianne My car is paid off. How is offering me a discount on a new car to make good on your promise regarding my existing car cheaper for me?
@MatthewCertain @jakethesmartest @wholemars Part of the promise of FSD was your vehicle being part of the robotaxi network when you aren’t driving it. Robotaxi credits do not generate revenue. The idea was once Robotaxi was working (which we were promised with HW3) your personal car could start generating revenue.
@DeclanPhelan7@TesCalendar1 Not true, I exclusively use my EV for road trips. Used to be that ultra efficient time guy you talk about. Honestly, I’ve found the breaks every 3 hours makes the trip 100x better. That feeling of exhaustion after a long day driving just doesn’t exist. To each their own.
@krassenstein I wish we’d stop viewing the presidency as Republicans vs Democrats and started viewing it as finding the best steward for America. And through that lens, maybe find some better candidates on BOTH sides. 81 is far past the age to be leading anything.
@Shaeney @YammerTime01@LifeofV42 Are you saying something full of gasoline is more likely to catch fire than a battery? Haven’t you experienced battery fires all over your home yet? I need to stop typing, my phone is getting warm and could catch any moment.
As a software engineer, I completely changed my unit testing philosophy over time. Now my tests are much more useful and there are much fewer of them.
I used to write tests for all individual public methods in all classes within a library. All external dependencies were mocked, so each test would only validate the behavior inside the method being tested. I used to expose internal classes to the test library so every piece of functionality could be tested. This way, I had many tests and each individual unit of functionality was tested thoroughly.
I thought this approach was effective until I started reading #TDD books and listened to a few lectures made by industry experts. They proposed a different approach, which I tried and found to work very well. So, this is what I do today:
- Write tests first as much as I can.
- Only write tests against public methods of public classes in a library. The internals will be tested implicitly anyway and they will be included in the code coverage metrics anyway.
- Try to avoid mocking as much as possible and only use it for special cases, such as clients talking to external services.
I'm sticking with this approach because it provides the following benefits:
- Way fewer tests to maintain.
- You don't have to rewrite your tests when you refactor the code or otherwise change the implementation details.
- It allows you to safely refactor your code and verify that doing so hasn't changed any behavior.
- It helps you to spot any pieces of code that are no longer used.
But you may ask, doesn't the name "unit test" imply that you are meant to be testing every unit of implementation? Well, not quiet. Kent Beck, the author of the best-known TDD book, admitted that this was an unfortunate choice of a name. If anything, the "unit" in this context is a unit of behavior, which may involve coordination with several units of implementation. Other people define "unit" as the module, i.e. the whole library, which is fine too.
#softwaredevelopment #softwareengineering #unittests
I'm excited to be talking at Nebraska.Code() about a subject I'm passionate about! Enough so that I'll even break my 'no social media' rule. If you have 'Agile trauma' and would like more actual agility and enjoyment in your brand of '#Agile' come check out my talk!
Jerry Koske, CTO of Aviture explores how to endure, survive, and maybe even how to purge the #zombiescrum affecting your environment in his upcoming talk at Nebraska.Code() — "Becoming an #Agile Survivalist in a Zombie Scrum Reality." @amegala 🧟♂️
You do not implement stories—that would be nothing but working from a waterfall up-front specification. A story is the seed of a conversation that happens before, during, and after development. It is not a specification.
@tomgrossicomedy This is the first year I haven't been to Lambeau in a while - would be great if I won. But either way this is very generous and you are a great person Tom. I really enjoy watching your videos.
@Kennys_spell @trading_drunk@RyanDeMarco@ConnorHoulihoop@laurenboebert Imagine your home value (an investment) goes up by 25% because real estate (a market) is going through an upswing. You now have to pay taxes on that 'profit' you created. Don't have the money? Just sell your house.
@elonmusk@micsolana I'm not sure I get it. If I got several customer complaints and someone on my team told me it was 'handled' - I would think it was handled. Not that they blindly did what those customers asked. Did they have no say in the actions they took?
I worked with a team for a few weeks.
People built using TDD or very tight test-after.
It was all trunk-based with continuous deployment.
They formed up squads/swarms/groups as needed to get work done.
They turned around improvements in a day usually.
1/
@SenWarren Or... let the people who are making progress the government hasn't been capable of making do their thing. If the guy was buying yachts, mansions, etc.. I could see it, but he's trying to make positive change in the world. Please pick a better target. I used to support you.