Thursday, March 10, 2011

Lecture 15: Human, Social, Organizational Factors and Process Improvement

Objectives:
Identify human, social and organizational factors involved in R.E process
Suggest the remedies and mitigates
Introduce Case tools and Process Improvement as a way to improve R.E

Human, Social and Organizational Factors
• Stakeholders come from various backgrounds thus they use different terminologies. It may be possible that the same concept or situation may be explained in different terminologies by different level of Stakeholder
Solution: Requirement Engineers are able to overcome this situation if they have experience of working for the particular domain. E.g. if a Requirement Engineer has analyzed banking environment and operations that he will be in better position to understand the lingo used by stakeholders. Therefore, it is necessary that some domain knowledge is obtained before starting the requirement engineering process
• People often have their personal responsibilities and have specific deadlines to meet. Therefore, they might give less priority to help requirement engineer in gathering requirements. They may also avoid contact or shorten the communication as much as possible.
Solution: First thing is to have some knowledge of the domain. Secondly some preparation and planning should be done to determine the availability of people to be interviewed. Where necessary alternative measures of gathering requirements like questionnaires should also be considered. Keeping higher management of client organization in the loop by informing them about the commitments and appointments of the employees also helps a lot because this somewhat pressurizes them fulfill the commitments and make themselves available at the appointment time.
• Stake holders have some internal differences or grudges and they try to provide requirements accordingly. For example, one group of people may try to provide a set of requirements that will give them more control of certain resources than the opposing group. Another situation may that a group or individual will attempt to provide requirements in such a way that the system fails as the supporter of system is a rival.
• Stakeholders provide requirements in such a way that their individual needs and wants are fulfilled rather than those of the organizations
Solution of the above two: The solution to the above two is Domain Knowledge. This knowledge will help user in differentiating the actual requirements of the system from those that may not be requirements of the system
In addition an unfortunate situation is that sometimes we as requirement engineers have to accept wants and needs of individuals because of their political influence in organization. It may also happen because the individual/group is the one because of whom we have got the contract and he may also play a role in cancelling it.

Various problems in Requirement Engineering process can be avoided or we can overcome them by
• Using CASE Tools (Computer Aided Software Engineering): These are automated tools that are used to manage various of Software Engineering Process
• Process Improvement: We can improve the way we do software requirement engineering by either gradually improving are activities or by planning and implementing big changes in the process.

No comments:

Post a Comment