Security in SDLC versus Agile - You are the Manager for the System Development team for a hospital. You are tasked with ensuring that the code in new applications developed in-house and from applicati

Agile:

  • It separates the project development lifecycle into sprints.     

  • It follows an incremental approach          

  • Agile methodology is known for its flexibility.     

  • Agile can be considered as a collection of many different projects.  

  • Agile is quite a flexible method which allows changes to be made in the project development requirements even if the initial planning has been completed.     

  • Agile methodology, follow an iterative development approach because of this planning, development, prototyping and other software development phases may appear more than once. 

  • Test plan is reviewed after each sprint   

  • Agile development is a process in which the requirements are expected to change and evolve.

  • In Agile methodology, testing is performed concurrently with software development.       

  • Agile introduces a product mindset where the software product satisfies needs of its end customers and changes itself as per the customer's demands.  

  • Agile methdology works exceptionally well with Time & Materials or non-fixed funding. It may increase stress in fixed-price scenarios.     

  • Prefers small but dedicated teams with a high degree of coordination and synchronization.       

  • Products owner with team prepares requirements just about every day during a project. 

  • Test team can take part in the requirements change without problems.       

  • Description of project details can be altered anytime during the SDLC process.    

  • The Agile Team members are interchangeable, as a result, they work faster. There is also no need for project managers because the projects are managed by the entire team

Waterfall:

  • Software development process is divided into distinct phases.

  • Waterfall methodology is a sequential design process.

  • Waterfall is a structured software development methodology so most times it can be quite rigid.

  • Software development will be completed as one single project.

  • There is no scope of changing the requirements once the project development starts.

  • All the project development phases like designing, development, testing, etc. are completed once in the Waterfall model.

  • The test plan is rarely discussed during the test phase.

  • In this methodology, the "Testing" phase comes after the "Build" phase.

  • The method is ideal for projects which have definite requirements and changes not at all expected.

  • This model shows a project mindset and places its focus completely on accomplishing the project.

  • Reduces risk in the firm fixed price contracts by getting risk agreement at the beginning of the process.

  • Team coordination/synchronization is very limited.

  • Business analysis prepares requirements before the beginning of the project.

  • It is difficult for the test to initiate any change in requirements.

  • Detail description needs to implement waterfall software development approach.

  • In the waterfall method, the process is always straightforward so, project manager plays an essential role during every stage of SDLC.

 

Limitations of Waterfall Model:

  • It is not an ideal model for a large size project

  • If the requirement is not clear at the beginning, it is a less effective method.

  • Very difficult to move back to makes changes in the previous phases.

  • The testing process starts once development is over. Hence, it has high chances of bugs to be found later in development where they are expensive to fix.

Limitations of Agile Model

  • It is not useful method for small development projects.

  • It requires an expert to take important decisions in the meeting.

  • Cost of implementing an agile method is little more compared to other development methodologies.

  • The project can easily go off track if the project manager is not clear what outcome he/she wants.

For security purposes I will go with Agile as Waterfall is not ideal with a large size project.

Citations:

  • Solomon, M. (2014). Security strategies in Windows platforms and applications.  Sudbury, MA: Jones & Bartlett Learning. Condit, B. (2014, July 14).

  • Waterfall Vs. Agile: Must Know Differences. www.guru99.com/waterfall-vs-agile.htm