This week one of the topics we discussed was SDLC, or Software Development Life Cycle. What is a Software Development Life Cycle? My interpretation is that it’s a process that outlines the stages in developing a software system. There are six stages and those stages act as a framework for designing a system that functions at its very best to meet a certain need. The stages of a SDLC are: plan, design, develop, test, deploy, and maintain.
There are several SDLC methodologies, but two of the most popular are Waterfall and Agile. Both follow the six step process for development, but they each do it differently. Waterfall works in a linear fashion, completing each stage entirely, and in order, before moving to the next. Agile takes the opposite approach and gives flexibility to the process by allowing certain stages to take place simultaneously and repeat when needed.
Really, the SDLC concept can be applied to any system, not just software design. For example, when preparing for a new semester I will plan and design a system that ensures my time is maximized for school and personal requirements. That system is developed, tested, implemented, and maintained all semester long.
Personally, I like the idea of a Waterfall type approach best, with it’s organized structure. But I usually work best when I adopt an Agile type approach. Are you a Waterfall or Agile type person?
Excellent post and infographic! Waterfall is an excellent approach in manufacturing processes. Most IS/IT groups have migrated to Agile. We will certainly discuss this more in class.
Hello, after reading your post I feel like I have a better understanding of what the waterfall and agile approaches are. I think that the waterfall approach could lead to less confusion during later stages because every stage was completed in its entirety. Whereas for the agile approach the execution of each stage is more fluid and can be adapted. I suppose the best approach depends on the system being developed.