Saturday, October 10, 2009

Software Engineering education for your clients and customers

This is not a "how to" post, but a reminder to build in time for client and customer education on software engineering. There is only one person in this world that thinks exactly like you, and that's you. Everyone else around you, even your long term colleagues, have a different perception of problem, solution, and approach even if you work well them.

This observation calls for two actions:
1. Build time (directly or indirectly) into your project to educate your clients and customers on the discipline of software engineering and software architecture. You'll have to spend time convincing them that a disciplined approach to creating software is not a choice, but the way of life.
2. Create a mini curriculum, or at least talking points, ahead of your engagements with clients and customers. You need to be proactive in your education sessions and they always should be done in the context of a specific business problem or a solution you're working on.

If a client or a customer has real world experience with enterprise grade software development or implementation you must gauge past experience. On a positive side a client may be receptive to your disciplined approach. On a negative side, if a client had negative experience, you need to understand client's perception of the software development process and demonstrate how your approach is better.

And most importantly - pay attention to the right approach. Selection of agile or highly structured software development processes and degree of requirements elicitation and software architecture analysis differs from problem to problem. Understand your client's situation and explain why your approach makes sense in a given situation.

Constantin K.
Firebrand Architect®

No comments:

Blockchain learning path for Enterprise Software colleagues

I wrote this post to document my learning path of blockchain concepts and Ethereum technologies while keeping my “new to blockchain” collea...