Requirements Development and Management
Al Florence
The MITRE Corporation

Introduction:

Some of the biggest challenges faced by software engineers are those of requirements elicitation, analysis, specification (writing requirements), verification and validation. In order for requirements to be implementable and testable, they need to be properly defined and documented. You may have the best of everything: best management, technical staff, resources, budget, schedule, customer, and even Capability Maturity Model Integration (CMMI®) Level 5 processes. But, if you do not have a good set of well-defined requirements that are understood and agreed to by all stakeholders, you are at grave risk. The presentation will present: Motivation - why do we care? Nature of Requirements – what are they? Creating Requirements – how do we define them ? Challenges – what are some typical problems? Requirements Management – why manage them? Requirements Management – why manage them ? The presentation will address requirements types, gathering techniques, specification of requirements, requirements allocation, requirements' volatility and controlling changes to requirements.

A presentation on the - Proper Specification of Software Requirements will be included. While re-developing legacy systems, a Government agency reverse engineered the existing software requirements. This author was assigned as a consultant to guide the teams in the proper specification of requirements. He analyzed and validated the requirements against the following critical attributes:

  • Completeness
  • Clarity
  • Traceability
  • Testability
  • Consistency
  • Unique identification
  • Design free

Examples will show some of the requirements as initially specified by the Government, followed by this author's critique and finally their re-specification.

Outline:

  • Motivation— why do we care?
  • Nature of Requirements— what are they?
  • Defining and Creating Requirements— how do we define them?
  • Challenges— what are some typical problems?
  • Requirements Management— why manage them?
  • Proper Specification of Requirements – how do we specify them?

Biography:

Mr. Florence, at major technology firms (currently at The MITRE Corporation), has been involved in all phases of the life cycle in engineering and management on diversified projects: spacecraft; aircraft; missiles, weapon systems; particle accelerators and information systems. He has developed processes for all CMM ® Key Process Areas at all levels through Level 5 and is currently involved with CMMI ® Process Areas. He is a frequent conference presenter and has many technical publications. Mr. Florence holds a BS degree from the University of New Mexico in mathematics and physics and has done graduate work in computer science at the University of California in Los Angles and University of Southern California.