5 min read

IT Recruiter Training: Software Design and Development

This is part four 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 broke down the project initiation phase and project planning phase of the SDLC and provided some sample candidate interview questions and sales probing questions.

In part three I highlighted the key roles and responsibilities of project team members, work artifacts and the deliverables of the requirements gathering phase.

In this post I break down software design and development including key terms, the role and responsibility of each project team member, and the work artifacts and deliverables produced.

After the customer approves the functional requirements, the technical architect and designers can begin the design work. The goal of the design phase is to transform the functional, business and technical specifications into a detailed system architecture. A system architecture lays out the software structure. This includes the services, all components, the interactions between components, and the principles governing the design. The design should be feasible, scalable and proactive against security risks. 

Roles & Responsibilities

The most important role in the design phase is that of the technical architect. The technical architect describes the required functions and operations for the system in detail. This includes the screen layouts, business rules, and database layouts. They also provide the physical details of the architectural plan. One of their most important tasks is aligning the system architecture to the goals of the organization and capabilities of the technical environment. 

Customer/Executive Sponsor
The sponsor approves the overall direction of the project and reviews the strategy and artifacts. 

Business Analyst
The business analyst shares the functional and technical specifications with the design team to initiate and review the software design.

Project Manager
The project manager finalizes the data conversion strategy and test strategy. They also review the software design and artifacts. 

Technical Architect
This individual or team designs the system architecture and defines software components.

Software Development/Engineering Team
The software engineer, developer or team helps finalize the data conversion strategy. They review the architecture and software components before coding begins. 

Database Administration Team
This team assists with the architecture design and data conversion strategy.

Software Quality Assurance (SQA) Engineer
The SQA engineer assists with identifying and finalizing the testing strategy and reviews architecture and software components. 

Design Phase Deliverables and Work Artifacts

A key deliverable from the design phase is the design specifications document. This includes: 

  • Business rules/application logic
  • Interface design (app-to-app, app-to-database)
  • User interfaces (GUI)
  • Database design (data storage and database access)
  • Data dictionary
  • Process diagrams
  • Screen layout diagrams
  • Test plans: This document highlights the planned test activities including integration testing, system security testing, and user acceptance tests. The test plan lays out the milestones, schedules, test environment and resources to support testing.

Another common deliverable is the initial training plan. This document identifies the users and how they’ll be trained on the new system. 

Maintenance manuals are also initiated during the design phase, revised during development and test phases, and finalized at the implementation phase. These maintenance manuals include information for IT support professionals about procedures required to install, configure and support the system. 

Recruiter Pro Tip  

Consider the following candidate interview questions relative to the design phase.

  • In your own words, describe the design phase of the SDLC and its objectives
  • In your experience, what are the key activities performed during the design phase?
  • What do you feel are the key work artifacts produced during the design phase and by whom?
  • Tell me about a time where you were involved in the design phase.
  • What role do you play in the design phase?
  • What specific work artifacts did you deliver?
  • How did you create those artifacts?

Sales Pro Tip 

The most strategic placement you can make is placing a technical architect on a project as a consultant for the design phase. In the context of the SDLC, and building a new software application or product, the technical architect plays the most important role because they are the person designing the solution. Because the technical architect defines the technical aspects of the solution, they have the ability to influence the executive level stakeholders, including the board. They play a key role in defining the work breakdown structure and what additional contractors must be hired to complete the work throughout the design, development, testing and deployment phases.

Development Phase

The objective of the development phase is to transform the approved design into a working system. The system should be consistent with the functional and technical requirements identified during earlier phases of the SDLC. Engineers and developers begin coding during the development phase. 

Development is ready to begin when the following criteria is set:

  • Technical specifications are available
  • Architecture is approved and signed off by the stakeholders
  • Unit testing components (requirements, scripts, results, timelines, cases, and reports) are completed in a master test plan document.

Roles & Responsibilities

Customer/Executive Sponsor

The sponsor approves the overall direction of the project and reviews the strategy and artifacts. 

Project Manager

The project manager tracks scheduling for all resources, tasks and activities. They determine who is responsible for tasks, establish due dates, and correlate work artifacts within each task. They also resolve outstanding issues, manage the budget and report on progress to other team members, including the customer. 

Software Development/Engineering Team

The developers or software engineers take the approved design and construct the software code. They also write unit tests for each component to test the new code they wrote. They review each other’s code, create builds and deploy software to the test environment. This cycle of development is repeated until all requirements are met.

Database Administration

The DBA’s assist with implementing the solution design and data conversion strategy. They create the data structure in the database.

Software Quality Assurance (SQA) Engineer

The SQA engineer or manager is responsible for ensuring the master test plan is complete. The test environment is also set up along with test cases to be used. 

Functional Software Trainer

They explain software functionality to the end users, ensuring key knowledge transfers.

Development Phase Deliverables and Work Artifacts

Test plan results contain useful information related to testing outcomes. These results are often captured in the test planning documents you learned about in the design phase. The results from the test plans provide insights into the perceived readiness for migrating the software to the production environment. These results reveal how ready the software is for users to start using it, and the degree to which they’ll adopt the software. 

Training manual materials and instructions are created for training end users.

Implementation planning documents describe how the information system will be deployed and installed into an operational system. Plans include an overview of the system, a description of the major implementation tasks, the resources needed for implementation (such as hardware, software, facilities, materials, and personnel), and any site-specific requirements.

Recruiter Pro Tip

Consider the following candidate interview questions relative to the development phase.

  • What is the objective of the development phase of the SDLC?
  • How do you know when the software engineers are ready to begin coding?
  • What do you feel are the key work artifacts produced during the design phase and by whom?
  • What role do you play in the development phase?
  • What specific work artifacts do you deliver?
  • How do you create those artifacts?
  • What tools do you use?
  • How do you know when the development phase has concluded?

Sales Pro Tip

The development phase is typically when corporate IT departments hire the most contractors, typically engineers. This is because they want to quickly scale their project team up to meet the programming demands of the project and when the development phase - and all coding - is complete, they want to scale their team down without having to lay off full time employees. Hiring contractors or temporary employees is the ideal solution. 

In addition to developers, the customer also needs to hire technical writers to write technical support documentation. This task is often left to third party contractors and is ideally suited for IT staffing firms. Additionally, the customer also needs to hire functional software trainers. Functional software trainers play a key role in ensuring knowledge transfer to the end users. They also explain the full functionality of the software application to end users.

Consider the following probing questions to uncover potential sales opportunities in the development phase.

  • As you prepare to go into the development phase, what skills will you need to quickly scale up and scale down development?
  • What are the skills you need to hire for throughout the duration of the project versus those you only need during the development phase?
  • How confident are you in your existing team?
  • As you review your work breakdown structure prior to development, what concerns you most?
  • How will you conduct code reviews?
  • Who is creating your master test plan? What resources do you have to write and execute the test plans?
  • What do you have in place for a data structure and data conversion strategy?

In part five I will cover software quality assurance and testing.

To further hone your candidate qualification skills, check out our eBook, Executing the Candidate Interview, Five Pillars to Effective Candidate Qualification.

Executing Candidate Interviews for Effective Qualification

six benefits to adopting mutual action plan

Six Benefits to Adopting Mutual Action Plans

Mutal action plans, also known as customer success plan, joint execution plans or go-live plan, ensure the sales and delivery team is in alignment...

Read More
 The Recruiter's Guide to Qualifying and Placing Full Stack Software Engineers

Product Launch, How to Source, Screen and Place DevOps Engineers

For the past few years, we've seen and heard the term "DevOps." You've likely seen them in the job descriptions you receive from your customers;...

Read More

How I Improve Sales Conversion Ratios

Sales conversion ratios measure the effectiveness of your sales team at converting leads into new customers. It's an important metric to track for a...

Read More