From Training to Transformation: The Key to Sustaining Change
If you’re like most staffing leaders, you’re probably planning a skills improvement initiative for later this year, currently running a sales or...
5 min read
Dan Fisher
:
Feb 23, 2023 7:00:00 AM
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:
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.
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:
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.
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.
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.
If you’re like most staffing leaders, you’re probably planning a skills improvement initiative for later this year, currently running a sales or...
1 min read
When our prospects receive our unsolicited phone call, internal sirens go off in their head. “Warning! Warning! Salesperson Calling!” As a result,...
1 min read
Sales teams need content to close deals. More specifically, content that enables them to ask relevant questions, share relevant insights, address...