Software development can feel overwhelming when we first encounter it, especially with the wealth of roles contained within the industry. Luckily, there is a standardised process used to create modern database systems. It’s called The Waterfall Model, and is generally used across the industry to organise large software development projects.
There has been tonnes of debate about the merits of the Waterfall model compared to a system of working like Agile, but the reality is that the majority of large scale software development projects will opt for the Waterfall model — and it happens to be a useful way to outline the different roles generally found within these projects.
The model involves breaking down deliverables into linear, sequential phases with the success of each phase dependant upon the previous one. The direction of the sequence tends to flow in one direction (down — like a waterfall) and ensures accountability at each phase of the project.
Stage One – Feasibility
Every project within this model will begin with an idea. Ayub gives an example of a recruitment specialist asking the question ‘wouldn’t it be useful to have a system in place to match candidates with their appropriate role?’. This is known as the feasibility stage of the project, and it will usually be the role of a Business Analyst to oversee this portion of the project. This person will specialise in data modelling, comfortable speaking to the end users, and knowing the right questions to ask to get the project off the ground. They will be easy to talk to, friendly, and will enjoy a customer facing role.
If the decision is made to go ahead with the project, a project manager will be hired, and a user requirements document will be produced. This person will oversee the project in terms of time, money and resources. They will be familiar with the waterfall structure, agile, and project management generally.
Stage two – Analysis
A technical business analyst (or systems analyst) will join the project at this stage. This is a person who is more aligned with the technical aspects of the project, and who will create a functional specification. This involves taking what the users have fed back in the previous stage and redefining it in much more technical terms. The document outlines the problems that the users are facing, and what they are expecting the result of the project to be able to solve.
Note: people who are involved with the feasibility and analysis stages of the project will need to be familiar with data modelling tools like Vizeo or UML, which you can look out for at the screening stage of the hiring process.
Stage three – Database design
This is the critical stage around which the entire project will pivot. The fundamental role for this stage of the project will be in that of the database designer or architect. Their role will involve identifying the critical elements that will need to be added to the database, along with the database developers.
Due to the critical nature of the role within the overall project, it is essential to get this hire right. They should be an expert in their field as the entire project can hinge on the work that they produce, and indeed how well they work with the others on their team.
Stage four – Build
This section will involve both developers and database analysts, who will specialise in building and coding databases. They will take the conceptual ideas of the architect in the previous stages and turn them into reality. Their work will depend greatly on the previous stages in this model producing good work, so that the overall goal of the project can be actualised in the building stage.
Stage five – Test
Once the ideas from the early stages of the process have been built into the database, it’s time to see if it actually works. In the testing stage of the process, in which you will likely be hiring for Testing DBAs, who are generally known as Production DBAs these days. These will be experts trained in testing database software who will understand the issues that may arise with the particular model, as well as this stage of the process in database development more generally.
Stage six – Maintenance
The final stage of the process will, of course, involve rolling out the finished product to users. This stage of the process will involve people who are trained in maintenance, helpdesk, and IT support. This is the final stage of the process, so it’s essential that this stage provides continuous, ongoing support for the project.
This blog post is an excerpt from The SocialTalent guide To Hiring For Tech, inspired by exclusive content from industry expert Ayub Shaikh in partnership with SocialTalent. The full guide is available to our readers free at the link below.
The SocialTalent Guide To Hiring For Tech
The SocialTalent Guide To Hiring For Tech is essential and practical reading for all recruiters working in database technologies.