Oct 2013
Today I was given some high level requirements for developing a system. The first thing you have to do when you get these requirements is to elicit all the relevant information there are various techniques that you can use to help you accomplish this efficiently, but before I talk about them lets talk about what requirements are.
According to MITRE
http://www.mitre.org/publications/systems-engineering-guide/se-lifecycle-building-blocks/requirements-engineering/eliciting-collecting-and-developing-requirements
'Requirements define the capabilities that a system must have (functional) or properties of that system (non-functional) that meet the users' needs to perform a specific set of tasks (within a defined scope)'.
I don’t think I could have explained this any better. Well done MITRE. Anyway, so the requirements I had were for a new system that was going to be put in place. There are a lot of teams who are all going to chip in to create this system so there needs to be some sort of unified understanding between the internal teams and all stakeholders.
The main purpose of the requirements is to clarify all assumptions and to confirm understanding. So when I got the requirements I read through them meticulously and grasped an excellent understanding of what type of system was needed. Playing the role of a Solutions Architect, I had to write a document containing the architecture for the systems solution and may I add – this is not a trivial task.
So now let’s talk about the different techniques you should use for eliciting information.
I used this method at the beginning, because firstly I knew what information I was looking for so be scanning the document and picking up the keywords you can get most of the information that is relevant to you. However, this technique has a lot of cons. The biggest con to this technique is that you can miss a lot of other important information if you do only do this. Think to yourself, why did they write this long document if there is only a small amount of useful information?
If you write down the questions you need answers to then looking for them won’t be so hard. Usually using who, what, where, when, why, and how is a good place to start.
Depending on why you are trying eliciting information, taking the orthodox route is usually not a bad idea. In my case it was for systems architecture so I just looked for anything relating to the 4 things below:
Operational Needs Assessment——The application of operational experience to identify and characterize gaps in existing capabilities that are significant impediments to achieving the mission area objectives.
• Concept of Operations——A description of a proposed system characteristics in terms of the needs it will fulfil from a user's perspective.
• Operational Requirements——Statements that formally, unambiguously, and as completely as possible, identify the essential capabilities and associated performance measures.
• High-Level Conceptual Definition——A clear description or model of the character
These techniques can help you read book online, get information off the web, read emails much more efficiently. I guess another title for this blog could be how to not waste time reading irrelevancies.
If you thought this blog was about Investigation methods for eliciting relevant information for I.T. systems, sorry to disappoint you but do not despair this is in the next blog.