this post was submitted on 08 Jun 2026
22 points (92.3% liked)
Programming
27195 readers
248 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I feel like both are valuable for different purposes. Do you really have specific requirements? For example a piece of software to dispense a defined amount of a medication into a bottle. It requires plus/minus 1 ml accuracy for health safety. It will use Acme Corp stepper motor to operate the dispenser which has its own requirements. It will operate on arm based Linux for low cost. These are requirements, they will not change. We will sell the device with a high definition screen with 1080p(no one is gaming or watching movies on a medication dispenser, no need for 4k or 8k).
Then there are more agile things. Some pharmacies are 24hrs, the users want a dark mode so it's easy on eyes at night. Don't write specific colors for buttons into your requirements at beginning. Some prescriptions are sold between 10ml to 5 L(making up numbers) so users want a touch pad to enter values instead of up and down buttons(pressing up 5000 times would be a pain). How users enter amount should not be a requirement at beginning. These can change and should use a agile approach.
Requirements in my mind are things were changing is a huge investment and would require a new round of design. Those should be defined up front. That's waterfall. Other aspects should be easier to change based on whims of customer. That's agile.
If a customer says we like your software but want to use Other Corp motor, no sorry not compatible. If customer wants their logo in corner should be doable.