Editorials

Key Development Skills

When you are implementing new software or a canned software package, what is one of the most important skills needed? To me, one of the most important skills in this scenario is gathering requirements. Indeed, the less your customer knows about what is needed, the more difficult your job becomes.

I bring this out because I am not aware of any specific training, either in college or technical training, focusing on this specific skill. I’m sure there are people doing it. It’s just that this is one of those soft skills that can make or break your projects success.

Gathering requirements is easier if you are automating an already existing process and known data domain. Existing documents, computer systems, and workflows provide insight into what your customer is doing and how they are doing it. In this case your goal is to “walk in the other person’s shoes.” If you can follow what it is they are doing in their job, and understand what it is they need to accomplish, you can take that and figure out how you would want to do it yourself if you had their responsibilities.

When you are building a system that is new to them, something against which they have no previous experience, then your task becomes much more difficult. You must first gather the problem domain as much as possible. Then you have to help them understand how to extend from their current understanding into new processes and data. This is a most daunting task.

If you plan to work in IT and deal with software for others, this is a must have skill. Research into methods for requirements gathering. Watch and learn from those who have a successful track record. Find training if it is available.

Is this your skill? Why not share some key concepts you find bring success? Add a comment or send an email to btaylor@sswug.org.

Cheers,

Ben