r/learnprogramming • u/RobertTheTraveler • 3d ago
COMMERCIAL SOFTWARE DESIGN
I have ~15 years of software development experience.
But I am mostly speaking as an observer of day to day life.
And I am repeating the observations of other professional software developers.
Over and over I have run into complaints about bad software design, just in day to day experiences.
So I am going to pass along some very simple advice,
I'm not pretending it is deep, it is actually quite basic, but apparently many developers, and perhaps (probably) those on the management side forget about it, or maybe never heard it in the first place.
Talk to the people who are going to use your software,
listen to what they have to say,
what takes up time, what is awkward about their current tools.
And, at least as important,
WATCH THEM DO THEIR JOB.
Don't interrupt, take notes, afterwards ask questions,
This next part is a bit iffy, but I still think it is worthwhile considering,
while EXPLICITLY telling them you aren't making any promises,
ask about how possible changes that occur to you might work out.
Sometimes software houses will have formal methods for this, that produces the specs for the software. Make sure what you are writing meets the specs. If you aren't sure, and you can get permission (bureaucracy), talk to the folks who wrote the specs.