I like to think of myself as a designer and not a programmer, I also think I'm a pretty good designer and on the journey to becoming a good designer I've learnt a few harsh truths. You can learn these hard way, or I may save you some frustration if you learn them here.
This article is about feedback and some of the conclusions you can arrive at from it.
If a user is consistently managing to break the flow of the User Interface (UI), entering "bad" data and making a system behave in unpredictable ways it might be tempting to say....
They don't know what they are doing.
They need more training.
It's deliberate sabotage.
The bitter truth is most likely that the UI design is poor. This can be solved by implementing gateways, wizard interfaces, state machines, or reading a book on UI design. While you're at it lose some ego, design pride is a cause for a great deal of angst. In these cases the customer is right 99% of the time.
If a system is difficult to change, maintain and update, some nice comfortable reasons may be.
Software is hard.
LabVIEW is bad at this kind of thing.
Requirements are incomplete.
Customer is unreasonable, demanding changes.
The most likely scenario though is that the software design is not as flexible as it should be. Some help can be found here.
This methodology/framework/technique is so great, it does all the things you need it to. You love it to the point of religious dogma, why isn't everyone using it?. Some easy reasons may be.
People are stupid.
You are a genius.
People just need to spend time learning it.
One uncomfortable truth may be that your brand new 1970s design methodology/framework/technique is not as easy as you thought it was. I strongly believe that if something is difficult to explain then there is an inherent problem. Software design is difficult enough without adding complexity in the methods.
Another important consideration is that everything needs a Return on Investment (ROI).
Save me money.
Make me money.
Save me time.
Make my life easier.
Make things possible that weren't before.
This is from personal experience as we thought we had solved software with our LCOD methodology, it was infuriating to see people do it wrong. For me the trick is to enthusiastically share, but know that people are different. What's easy for me may be hard for you and vice versa.
Here endeth the January Self-Help section
Resolve to have more fun in 2019, it may be the last 2019 you'll ever see.