Welcome to my software development lifecycle (SDLC) mini-series, a seven-part series of blog posts completely dedicated to helping IT recruiters (and IT staffing sales professionals) understand the SDLC to further develop their technical and business acumen to improve candidate engagement.
My goal and intention 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. This miniseries is about enabling recruiters for effective candidate qualification.
The first six blog posts, beginning with the post below, will provide context for, and serve as a prequel to the final blog post which will explore software development methodologies including Waterfall and Agile, among others.
With the exception of this post, each blog will highlight the key activities and deliverables of each phase of the software development lifecycle, the roles and responsibilities of the various IT practitioners involved in each stage and relevant interview questions to be asked of your candidates.
So let’s dive in!
Individuals throughout the world use software for many reasons and benefits ranging from personal fitness and ordering carry-out, to downloading music and hailing a cab.
Using software in a business is meant for improving and streamlining business processes, tasks, data management, and overall customer service. The purpose of business software is to perform all the repetitive tasks that are time-consuming or for automating processes. The objective is to achieve increased efficiency, productivity and convenience. Nowadays, every business, big or small, needs software to fulfill its business requirements. Software and software development is important for a business because it helps a business differentiate from competitors, reduce costs, increase revenue and grow market share.
When a company decides they need a software solution, they have two options to consider. They can create a custom software solution or they can purchase commercial, off-the-shelf-software, also referred to as COTS or packaged software. As the name suggests, off-the-shelf software is ready to use right from the very beginning. It is a product developed for the mass-market, which means it is expected to respond to the needs of as many users as possible, offering many more features than a bespoke solution would. Examples of off-the-shelf software include Bullhorn, Job Diva, Salesforce.com, Oracle, SAP, Workday, Google, and Microsoft.
In contrast to commercial off-the-shelf software, custom software development involves designing software applications as a customized solution created for a specific user or group of users within an organization. As they’re created to specifically address user needs, they aren’t packaged for resale.
What is the Software Development Lifecycle?
The software development lifecycle is a process that engineering teams follow to produce high-quality software in a systematic and cost-effective way. Both large and small software organizations adopt the software development lifecycle because it gives organizations a systematic, step-by-step approach to developing software from gathering the initial requirements to making the product available for commercial consumption.
The Value of the Software Development Lifecycle?
According to Standish Group’s Annual CHAOS report, 66% of all IT projects end in partial or total failure. Research from McKinsey & Company found that 17 percent of large IT projects go so badly that they threaten the very existence of the company. And a study from the Wall Street Journal stated that 25 percent of large scale enterprise projects are never completed.
With these alarming statistics, you’re probably wondering, what constitutes a successful software development project?
A successful software development project is defined as one where:
- Software development is complete and bug-free
- The application was developed on time, on schedule and within budget
- The application is useable
- The application is used
- The customer and/or end users are satisfied with the application
Related: Technology Training for IT Staffing Professionals
Successfully building and delivering software and IT systems is incredibly difficult. The most common reasons for project failure include:
- Changing Requirements
- Poorly defined system or software requirements
- Poor communication between customers, engineers, project stakeholders and users
- Poorly written code
- Poor project management
- Lack of project stakeholder involvement
For these reasons, the industry has adopted the software development lifecycle to mitigate risk and improve the likelihood for success. Adopting the SDLC:
Enables effective planning Enables engineers to analyze requirements before they begin to write code Prevents unnecessary costs, mistakes and scope creep
Following the SDLC helps ensure projects stay on schedule and are delivered on time and within budget.
We now understand what the software development cycle is including the value of the SDLC and why software engineers follow a process for building software products.
In my next post we’ll dive into the project initiation phase and the project planning phase.
To further hone your candidate qualification skills, check out our eBook, Executing the Candidate Interview, Five Pillars to Effective Candidate Qualification.