DEV Community

Cover image for Security in Software Development - Part 1
McParty
McParty

Posted on

Security in Software Development - Part 1

Security should be a consideration for anyone considering developing anything from a script to a fully fledged stack. Otherwise you will leave your product open to compromise.

This can often be something as simple as establishing procedures and policies. A chef, for example, will produce dishes which are consistent by following recipes. If the dishes are consistent then the experiences of the customers will be the same. The top chefs will also have a process for dish development. Being a software engineer is not much different though it's easier to remain consistent with version control.

Any potential employee a business looks at hiring should look out for the developer who puts best practice first.
Knowing about different Software Development Lifecycle Models will enhance your maturity level when it comes to software development. Even for those breaking into programming/development - it might just give you an edge as by separating the enthusiasts from those who understands product development.

Software Development Lifecycle (SDLC)

This was developed by the Software Engineering Institute which introduced the Capability Maturity Model which describes the processes an organisation undertakes as they develop engineering principles into software development processes. In a nutshell, having a management model in place should improve the products however if the SDLC method is inadequate, the project could possibly fail to be fit for purpose. Fundamentally, the following models (whichever you adopt) needs to be approved by management, otherwise it'll easily fail.

The Waterfall Model

This model is like it says. The different stages can not be completed out of order and as such a diagram of tasks will flow downwards. The model also allows for a loop scenario so you can swim in stages like a salmon back up.

The Waterfall Model

This was one of the first methods to model software development whilst taking in to account the options to return to different stages.A drawback is that it allows the devs to only step back one phase in the process. It was further improved (the modified waterfall model) to add Verification (checks against the specs.) and Validation (how well it satisfies real world requirements).

In part 2 - I'll write about The Spiral Model, I'll touch on Agile and go knee deep in to the Software Capability Maturity Model.

Top comments (0)