This blog post is part three of a seven-part miniseries dedicated to helping IT recruiters (and IT staffing sales professionals) understand the software development lifecycle to further develop their technical and business acumen to improve candidate and customer engagement.
My goal with each blog post is to enhance recruiter knowledge and sales knowledge so that IT staffing professionals may share and speak a common language with their candidates (IT professionals) and customers (IT hiring managers) and provide an engaging experience for the candidates and customers they serve.
In part one, I explained what the software development lifecycle is, why software engineering teams follow a process for developing software and the value of following that process. In part two I explained the project initiation phase and the project planning phase of the software development lifecycle and provided some sample candidate interview questions and sales probing questions.
In this post, IT recruiters learn the requirements gathering phase including key terms, roles and responsibilities of each project team member, and the work artifacts and deliverables produced during the requirements gathering phase. I also include sample candidate interview questions recruiters should be asking of their candidates and sample probing questions salespeople should be asking of their customers.
The Purpose of Requirements Gathering
The purpose of the requirements gathering phase is to collect the functional business requirements of the end users including business processes and standard operating procedures and the technical requirements for the system or application to perform properly. The requirements gathering phase is the most important and fundamental stage in the software development lifecycle because if the requirements are not properly captured and understood then the end product will fail to perform to the expected functionality resulting in additional and unnecessary costs.
A functional requirement is a description of the product’s functionality including its capabilities, usability, features, and operations as they relate to the intended purpose of the product.
A technical requirement or technical specification describe the technical aspects and issues that need to be addressed for the software to execute successfully including performance, stability, security, accessibility and technical specifications.
The Activity of Requirements Gathering
The physical act of gathering requirements entails the project manager, business analysts and software engineers meeting with and interviewing customers, end users, subject matter experts (SME’s) and other project stakeholders. For example, imagine your company decided to implement a new Applicant Tracking System. To gather the functional requirements, the project team would schedule interviews with members of your organization including your recruiters, salespeople, managers and leaders to capture an understanding of your recruiting process and workflow so that they can build a system that effectively supports and automates your recruitment process.
Other methods used to gather requirements may include techniques such as brainstorming, focus groups, questionnaires, and storyboards
Role and Responsibilities
The project manager is accountable for the success of this phase. The primary responsibility of the project manager during requirements gathering is to ensure the business analyst(s) has access to the proper end users and subject matter experts, business process documentation, existing technology and potential technological solutions as well as current and desired artifacts. A major impediment to successful requirements gathering is the lack of exposure to any of the previously listed items.
The business analyst (BA) must first develop a plan for how the requirements analysis activity will be accomplished. The BA must then document the business process descriptions and collect the requirements of the system from the end users and SME’s. All identified requirements should fall within the constraints of the project scope and align with the customer’s statement of needs. The BA will generate a requirements traceability matrix which becomes the basis for the Design activity.
The BA constructs a logical model that describes the data and processes needed to support the requested functionality. Processes are identified along with any of the associated data they use or create. The interactions of dependent processes are also defined.
Subject Matter Expert:
The SME understands the current business processes and any new requirements that are to be satisfied by the project. They must work closely with the BA to transfer both stated and tacit knowledge for inclusion in the functional requirements documents
The technical architect receives the artifacts produced in the requirements analysis phase and coordinates with the business analyst to ensure there is an agreed upon set of artifacts delivered.
Software Quality Assurance (SQA) Engineer:
QA ensures that the requirements identified by the business analyst and accepted by the customer are measurable and that IT has the resources to complete testing. Having a testing lead or test engineer involved at this step allows for proper scheduling and preparation for the various stages of testing that occur during the SDLC.
Requirements Gathering Phase Deliverables and Work Artifacts
Common deliverables from the requirements gathering phase include:
- Functional specifications document
- Technical specifications document
- Workflow diagrams
- Data flow diagrams
- Logical model
- Use Case diagrams and descriptions
- Requirements Traceability Matrix (RTM)
The requirements analysis phase is complete when the customer or executive sponsor signs off on the functional requirements document.
Recruiter Pro Tip
One of the most challenging aspects of the requirements gathering phase is scheduling interviews with end users, SME’s and project stakeholders. They’re very busy and can be very difficult to schedule meetings with. Consider the following candidate interview questions (for BA’s) relative to the requirements gathering phase.
Additional Interview Questions
- In your own words, describe to me the requirements gathering phase of the SDLC and its objectives
- In your experience, what are the key activities performed during requirements gathering?
- What do you feel are the key work artifacts produced during the requirements phase and by whom?
- From your experience, what have you found most challenging when gathering requirements from end users, SME’s and project stakeholders?
- How do you gather requirements from end users and SME’s?
- Please describe your approach for how you schedule meetings with busy project stakeholders?
- What do you do when project stakeholders (people you need to meet with) blow you off?
- Tell me about a time where you received conflicting requirements. How did you deal with it?
- How do you capture requirements when processes are not documented?
- What tools do you use for requirements gathering? What is your favorite tool and why?
Sales Pro Tip
Consider the following sales probing questions to uncover opportunities in the requirements gathering phase.
- How effective has your team been in approaching your project stakeholders and capturing the business requirements?
- To what degree have you incorporated QA and testing so you can begin to schedule and prepare for software quality assurance and testing?
- How confident are you in the status and quality of your RTM (Requirements Traceability Matrix)?
In my next post I will dive into the design and development phase.
To further hone your candidate qualification skills, check out our eBook, Executing the Candidate Interview, Five Pillars to Effective Candidate Qualification.