When starting a new software development project, it’s crucial to choose the right Software Development Life Cycle (SDLC) framework. If security is a major priority, adopting the right development model becomes even more important.
Let’s take a look at some of the most popular SDLC frameworks used by developers over the last few years:
Top of the list has to be Agile, as it’s one of the most frequently used frameworks worldwide. This umbrella term actually covers a number of practices and frameworks, including Scrum and Extreme Programming. But at the core of each is a defining concept – that of an adaptive, iterative and creative approach.
Agile is quite different to other development frameworks, as it prioritises collaboration between self-organising teams. This means that larger projects are broken down into more manageable components, with a project manager overseeing how these pieces all come together to complete the bigger picture.
Multi-phase projects are completed in stages, with lessons learned and the approach adapted with every new stage. Project and delivery managers are responsible for ensuring that teams have the tools, environment and resources they need.
Waterfall is almost the complete opposite to Agile, as it prioritises an ordered, linear and sequential approach. Projects are still broken down into components, but these are delivered as part of a rigid and well-planned timeline. This could look something like this:
- System and software requirements captured
- Analysis, creating a model and schedule
- Design and build of the software architecture
- Delivery – including installation, migration and support.
The waterfall framework involves much more time spent in the early stages, which can reduce costs and save time later on. This structured, traditional approach also ensures that all stakeholders can easily understand the timeline and scope of the project, which makes managing expectations easier.
However, it’s also one of the least flexible SDLC frameworks, which can cause problems if the client’s requirements aren’t clear at the outset or an unexpected issue occurs.
Rapid application development (RAD)
As the name suggests, this framework is designed with speed in mind. Unlike Waterfall, this approach puts far less emphasis on planning. Instead, RAD uses a more adaptive process, using evolving prototypes.
Fans of the framework claim it produces better quality outcomes, creates software that is more usable and helps with risk mitigation. However, one of the downsides of a flexible and adaptable process is that clients and other stakeholders may have less control. There’s also the risk of poor design with this kind of ‘hack and test’ methodology.
Other popular software development frameworks include:
- The spiral model – suited for large or complex projects, where iterative and risk management processes are built in.
- The fountain model – often used to develop object-oriented software
- Joint application development – this framework involves a higher level of user engagement, at nearly every phase of the project.
Ready for a new software development role, or need to hire new developers? Get in touch with our specialist IT and tech recruitment team here at Fairmont.