Comment by jimbokun

2 months ago

It does add up though.

    1. Ticket
    2. Feature branch
    3. Write unit test
    4. Periodically merge from main.
    5. Implement to get tests to pass
    6. Push changes
    7. Create PR
    8. Wait for PR feedback
    9. Address feedback and repeat
    10. Close and merge PR
    11. Automated CI deploy
    12.  Integration testing as needed
    13. Close ticket
    14. Include in next prod release

All of these are good things. But the overhead is significant. And there may be times when you want to do spikes that forgo some of these.

That is all part of doing the thing called quality software develeopment.

Quick and dirty does not work in all environments.

  • > That is all part of doing the thing called quality software develeopment

    It's all part of doing software development on a team that has embraced the trappings of agile, at any rate. Less clear that any of these steps are actually essential to quality.

    There are teams who use a workflow that looks more like push-to-merge-queue -> if-tests-pass -> deploy-to-prod, and in my experience this results in significantly higher velocity (provided your e2e tests are actually sufficient to prevent outages).

  • But Quick and Dirty works very well in other environments.

    A lot of it depends on whether you have a lot of customers and revenue you are putting at risk by making quick and dirty changes (mandates more process) or coming up with an MVP (quick and dirty might be beneficial if you can iterate faster).