Can Scrum be considered a SDLC?
I am assuming that Scrum can be considered a SDLC, however I just wanted to confirm if that is the same view everyone else has?
On a side note, would you consider Agile as a model, framework, SDLC or methodology?
Hi Steve,
SDCL is a process
Agile is a methodology
Scrum is a framework
Scrum can not be considered to be an SDLC. An SDLC has a number of different activities. There are different ways to divide an SDLC, but they tend to consist of the same types of things - initiating an effort, developing a concept, planning, eliciting and analyzing needs and requirements, design, development, integration and test, implementation, operation and maintenance, and disposition. Scrum provides a framework for some of these activities - some types of planning, design, development, integration and test, and implementation. However, Scrum does not address initiating a project, some of the early planning activities, concept development, operation and maintenance, and disposition.
Agile is neither a model, a framework, an SDLC, or a methodology. The way that I think about it is that at the lowest level of detail, a framework or a model provides some level of structure. Scrum is a framework because it provides guidance and a minimal set of rules. It is not prescriptive in that it does not tell you how to go about doing the work, but does provide a set of things that you must do. A methodology is more prescriptive approach. An SDLC or PDLC (Product Development Life Cycle or Product Delivery Life Cycle) is a team's or organization's instantiation of a model, framework, or tailored methodology for how they deliver a system or product or service.
Something that is critically important to realize is that the term SDLC does not imply waterfall. Different SDLC models place the different SDLC activities in different orders. Scrum organizes the activities that it covers iteratively and incrementally. You could order them sequentially (waterfall), incrementally (many small waterfalls), iteratively within or across subsets of activities, or any number of ways.
Scrum can not be considered to be an SDLC.
@Thomas Owens, Why not? I checked the definition of SDLC from multiple sources online and it seems that the description fits. In some places I've also read that SDLC is a framework.
What according to you is the definition of SDLC?
I would recommend starting with the definition of SDLC on Wikipedia. It's not perfect, and there are some things that can probably be debated, but I've found that it's generally been a very good primer on what an SDLC is.
Scrum is not an SDLC because it does not cover all of the generally accepted things that are part of an SDLC. There are no mention of common initiation or inception activities such as forming a team or identifying an initial scope or how the work will be funded. There are also no mentions in Scrum of planning releases, verification and validation strategies, or deployment. There are also no mentions of decommissioning a system. Unless you can address how these things are done, you don't have a meaningful SDLC.
I agree Thomas 👍🏼
Hi Steve,
SDCL is a process
Agile is a methodology
Scrum is a framework
um...... No. Agile is a Mindset. Methodology should never be used to relate to Agile, Scrum, Kanban, etc etc.
um...... No. Agile is a Mindset. Methodology should never be used to relate to Agile, Scrum, Kanban, etc etc.
Curtis I didn't use the term "Methodology" to relate to Scrum or Kanban of which you infer, which are frameworks. The question was
would you consider Agile as a model, framework, SDLC or methodology?
Given a choice of the 4, I chose methodology, out of the 4 which would you choose?
Although I do agree its more of a philosophy, governed by values and principle.
Scrum is not an SDLC because it does not cover all of the generally accepted things that are part of an SDLC. There are no mention of common initiation or inception activities such as forming a team or identifying an initial scope or how the work will be funded. There are also no mentions in Scrum of planning releases, verification and validation strategies, or deployment. There are also no mentions of decommissioning a system. Unless you can address how these things are done, you don't have a meaningful SDLC.
@Thomas Owens, Can a Sprint be considered as a Project with the goal to deliver a Minimum Viable Product? Can a project have the elements of a SDLC?
Can a Sprint be considered as a Project with the goal to deliver a Minimum Viable Product? Can a project have the elements of a SDLC?
Yes, a Sprint can be considered a project. The Scrum Guide even states this. But this does not mean that Scrum contains all of the necessary information to implement an SDLC for a product or service as it does not address how to perform some of the lifecycle events for the product or service.
@Thomas Owens, These are the phases of a SDLC in general:
- Requirement gathering and analysis.
- Design.
- Implementation or coding.
- Testing.
- Deployment.
- Maintenance.
I believe Scrum addresses all of these.
@Thomas Owens, These are the phases of a SDLC in general:
- Requirement gathering and analysis.
- Design.
- Implementation or coding.
- Testing.
- Deployment.
- Maintenance.
That is incomplete, as I have mentioned before. I presented a Wikipedia article that gives a good overview of what different people consider to be an SDLC, which includes the list that you mention plus two additional activities - an initiation activity and a disposition activity.
If you are working in a regulated industry, chances are you won't be referring to that Wikipedia article, but rather ISO/IEC 12207. If you are in an organization that is undergoing audit, you will likely be expected to demonstrate how you manage the life cycle activities defined here. There are a huge number of life cycle activities - over 40 of them, in the 2008 release of this standard. Many are covered by Scrum, but several are not - acquisition and supplier management, infrastructure management, human resource management, configuration management, asset reuse, operation, maintenance, and disposal.
I am not aware of any widely accepted definition of the SDLC that would be entirely covered by the material that is in the Scrum Guide. Even if you supplemented the Scrum practices with Extreme Programming practices, you still would not have total coverage of the life cycle activities defined in ISO/IEC/IEEE 12207, and this is probably one of the most widely used formalized definitions of the SDLC in the context of software engineering.
Can Scrum be considered a SDLC?
Almost certainly. People can, and do, constrain their understanding of the Scrum Framework in all sorts of ways. I’d question how useful this tends to be.
@Ian Mitchell, my understanding of SDLC have been wrong. Is Agile or Waterfall not considered a SDLC? As I was discussing with @Thomas Owen, I’ve read somewhere that SDLC is a framework.
In fact, certain words have been used interchangeably in several ways places, I’ve heard scrum methodology, agile methodology etc
I am actually trying to find solid reasons and evidence to explain to certain executives why Scrum is not a SDLC
I am actually trying to find solid reasons and evidence to explain to certain executives why Scrum is not a SDLC
At the risk of asking an obvious question... Why? What problem are you trying to address by arguing that proposition?
At the risk of asking an obvious question... Why? What problem are you trying to address by arguing that proposition?
They just aren't comfortable of not using the word Scrum by itself. That's how rigid they are. I was hoping to get a stronger understanding of why Scrum can't be called a SDLC and be able to point out some glaring differences.
Is Scrum an SDLC method?
Their methods are surprisingly similar.
Scrum excels particularly well when:
. Operating in a "green field" with no legacy systems to replace as part of the effort.
. New technology or business situations. as with the smart phones debut.
SDLC excels particularly well when:
. Many moving parts need coordination.
. When it a "single shot", like an Apollo moon shot.
. When it's very expensive and cost outlays are needed.
Laying the ground work for criticism of this answer.
Scrum & SDLC are methodologies understood/practiced/applied in a variety of ways.
SAFe (Scaled Agile Framework) employs Scrum heavily. Some say its a blend, leverage value of each.
.. other variations of scrum employ "Scrum fo scrums to make it "scalable" for large projects.
Waterfall is a strawman illustrating an method that is not agile. (it's SDLC under poor management)
If SAFe is a variation of scrum, then Scrum excels where ever SDLC does.
If SAFe is not scrum, (as many in Scrum insist), then Scrum does not excel where SDLC works.
Some interesting parallels/overlap.
Start point: Product backlog (Scrum), WBS(SDLC)
.. Note: Scrum is not as exhaustive on it's starting backlog as SDLC's.
. . Scrum is more economical on its backlog, compensating in other ways.
. . Scrum's product backlog comes from customer/client dialog
. . SDLC's WBS comes from customer/client dialog
Team: Product Owner (Scrum), Sponsor (SDLC)
.. Note: Scrum's Product Owner is more active thru development
Planning: By Sprint (Scrum), In planning phase (SDLC)
.. Note: Scrum variants include assigning entire backlog in a planning sprint.
Agile is set of values that we may use in a variety of situations.
Basically agile denotes these four basic values.
..“Individuals and interactions over processes and tools
.. Working software over comprehensive documentation
.. Customer collaboration over contract negotiation
.. Responding to change over following a plan"
Please this outlines comparitative valuations. It is mistakenly read to exclude documentation and to not plan sufficiently.
This is as easily applied as values to SDLC as with other methods.
Finally, "WaterFall" is a strawman depicting poor management using SDLC. It was certainly practiced on occasion by the young, ignorant, arrogant, and naive.
Well, It will be great to look at the history of inceptions of all them. For that we might have to go back few decades so that we may get the right picture.
As a process improvement tool/kit back in 80s software development started considering various models and one of them was Six Sigma, which was primarily used in manufacturing sector. It was considered a good fit back then since the mainly production side (software in this case) was driving the market, not the other way round.
From this philosophy of Six Sigma emerged DFSS (Design for Six Sigma), where the focus was still on the error control or consistency conservation. After a considerable time, when uncertainties in the development and from market started to emerge, two new complimentary approaches were utilized one was DMADV (Define, measure, Analyse, design and verify) and other was DMAIC (Define, Measure, Analyse, Improve and Control). Specific tools and deliverables were formulated to fit these two approaches during the same time. Both of these approaches are product focused and associated methods also were centred around controlling the product environment. However, it was understood by many that mere control of the product environment was not acceptable and was not reflecting into business outcomes.
SDLC can be said to be such approach which is amalgamation of DMADC and DMAIC where there is still a focus on a control of the product environment so much that the SDLC went ahead to include guiding principles on several non-technical aspects and argues a control over them.
Scrum on the other hand, provides minimal guidance on controlling the product environment but argues for empirically driven process. The only control it argues for is the structure that can sustain to address uncertainties and is more responsive to fluctuations associated with business and market.
IMO SDLC and Scrum as different in one distinct way
SDLC is Product focused, Product oriented
whereas
Scrum is Product focused, Business oriented.
This is reflected well in the Scrum Guide. We all know, PO orders the PB to optimize the business value, however how development team delivers the increment is entirely left to them.
Other structures including SAFe have much tighter controls over the product environment loosing the agility at least partially that comes through the overarching control mechanism/mindset inherent.
As Ian said,
Almost certainly. People can, and do, constrain their understanding of the Scrum Framework in all sorts of ways. I’d question how useful this tends to be.
This may be the reason why SDLC may be considered same or equivalent to Scrum.
Aditya Vaze You are right on
"SDLC is Product focused, Product-oriented
whereas
Scrum is Product focused, Business oriented. "
But Comparatively, SDLC and Scrum are not the same
SDLC only deals with the product life cycle and SCRUM is a framework, which is same as waterfall model.
Most people get confused with the SDLC and waterfall model. where the waterfall model or the SCRUM is a framework for how we can execute the various process in an SDLC. So both the frameworks work well for the SDLC and its various processes.
when it deals with the ISO the classic waterfall model likely follows the Gateway model approach and SCRUM lands under the Agile ISO model.
Business Agility (which includes Scrum) is a mindset. SDLC is little more than a business process flowchart.