Ashley J. Oliver
CISSP Candidate
Oliver COM Solutions, d/b/a
Code for Modern Day Developers | Software Development Life
Cycle (SDLC)
Have you ever been tasked with developing code for a project?
Better yet, imagine being asked to develop code (for free) for a company that interviewed
you. What is your immediate response? Do you figure it out and sit down and
spend hours writing this code whilst feeling like you’re performing tricks at
the circus? Only to hand off a text file with a bunch of variables and libraries
etc. that you spent working on in order to ‘prove’ that you deserve the job? The
question here is; who are you really proving it to? Yourself, or them?
I ask this question considering the idea behind the Software
Development Life Cycle or SDLC. Bearing in mind that in general coding is a
completely different ball game for this generation. We now have libraries that
are already written for us, scripts to call functions that are pre-designed,
etc. However, if you’re like me; you care severely more about best practices
and integrity than you do copying and pasting a line of code.
The Software Development Life Cycle or SDLC is a model that covers
about five different phases. These phases help us as practitioners to determine
and reference which would be the best possible solution to build this product. Think
best-practice. I’ve been asked several times in the recent weeks to walk a
Senior-Level Engineer through ‘what I would do if’ this week. And guess what –
my response is never to walk through a bunch of technical jargon to again ‘prove’
that I deserve it. However; what would I really do on the job? And what have I
done.
First and foremost; Gather Requirements. This is an
essential phase, you wouldn’t start a project without learning more about what
is needed, would you? This phase determines the ‘why’ to create this code, who
it is created for, and what it will do.
Second, Design. How can this software accomplish the goals defined
in the Gather Requirements phase? Third, Development. This is the actual
programming phase. Writing your code to meet the necessary specifications from
the Design phase and then implementing it as such. Fourth; Testing. Again a
crucial step, preferably in a QA environment. Verify, validate, make sure that
your code works the way it is supposed to. And Lastly, Operations/Maintenance.
This is the actual deployment phase. Always make sure your code is configured
correctly, patches are up to date, and the code is monitored.
No comments:
Post a Comment