DEV Community

Discussion on: What are your opinions of fudgeability in software design?

Collapse
 
leightondarkins profile image
Leighton Darkins

I've been working on a few applications lately that are highly fudgeable. The common theme across all of them is that no-one on the product teams actually understands the real use cases and business rules their users need to adhere to.

As a result, instead of writing rigid and predictable business logic, the teams have opted to let almost anything happen at any time. Leading to an incredible overhead in training their users in what not to do with their system. Failure to adhere to this training can take down the entire application with the click of a few buttons. The best part of this is that given the infinite number of ways that things can be done in these applications, even the teams themselves don't know every combination of clicks and key-presses that can cause catastrophic issues with the application.

Overall, my feeling is that if a system needs to be fudgeable, it's suffering from poor design. If there exists a business rule in an application that folks are consistently working around, then it's not a valid business rule at all and should probably be removed.

Collapse
 
kayis profile image
K

Yes.

I can understand that most software is rather rigid and people are used to their own workflow, which doesn't work with their software.

Sometimes the question is: was the old workflow really good?

Some people don't want to switch to another workflow, even if its superior.

Sometimes it is: were their any rules in place that can't be ignored?

There are laws to obey or business rules the management set in place to move the behavior in a certain direction.