“Give me good mothers, and i will give you good nation”.

This napolean law applies somewhat to software industry as well, i say “Give me good software design and i will deliver good software”

A good software design requires a lot to think and endevour. Few things are as below:

– Solve the big question “Why?”, if we clear the why in our software while designing, we are half way done.

– Team balancing and satisfaction ( Mostly we do not care about this )

– Not everyone is a good software designer. Choose wisely, else the project will be spinning in facade, unity, singleton.. and what not

–  Make the base strong.. If your base is not strong, you can also hang your project in air with just one charisma. and that is “Communication”. Keep in line with your client at all time. Do not let him loose you and vise versa.

– Do not go for complex architectures, which just makes you geeky and give you an extra raise at the end of year. This stunt does works, but can elongate or sometimes destroys the projects.

– Ask your developer at least  once that they want to do the job or not, do not be impositive.

– Do not  cheat, bluff, over show, or give false committments to your client at all.

– Keeping all points above in mind.. Now guys, design your software at last.

Happy Software designing.