Monday, October 7, 2019

Code for Modern Day Developers | Software Development Life Cycle (SDLC)


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