Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Beyond Waterfall Software Development

DZone's Guide to

Beyond Waterfall Software Development

Waterfall development processes are over, and Agile is becoming the way of the world. This new way of making software promises to bring even more fascinating advances.

· Agile Zone
Free Resource

The Agile Zone is brought to you in partnership with Techtown Training. Understand how your role fits into your organization's DevOps transformation with our DevOps eBook.

Developing software in short Sprints requires a different approach than traditional software development, though it seems strange to call something only a few decades old “traditional.” Winston Royce coined the term “Waterfall software development” in 1970 and he said in that very same article that we shouldn’t use it because it doesn’t really work.

Many of the things that we recognize as poor software development practices seem to have been fostered in a Waterfall environment, such as specialization, siloing of knowledge and teams, and more importantly, creating an environment where software doesn’t need to be changed and so little attention is put on writing code that can be changed. Then, when the inevitable happens for successful software and changes are needed, it becomes extremely expensive to provide them.

We think about software in a lot of ways by relating it to tangible things, because we cannot truly visualize it or understand it. We think about software construction like physical construction but they are actually worlds apart both in the skills you need and the way you approach the problem. This should be no surprise because the forces at work in each problem domain are entirely different.

In physical construction, the forces are the laws of physics but in virtual construction, we don’t have the laws of physics. However, we do have physical laws and here’s the distinction: we work with a predefined system that includes binary logic, predicate calculus, propositional calculus, functional programming, object-oriented programming, and much more to come, I’m sure. Our very understanding of modeling the world is evolving and it’s showing us a model for how we think and understand the world in our own minds and giving us ways of seeing ourselves we could never have otherwise experienced. For me, this is what’s most exciting, seeing the relationship between consciousness and software because it in itself is the little microcosm that we can look into and see another aspect of ourselves.

Adopting a DevOps practice starts with understanding where you are in the implementation journey. Download the DevOps Transformation Roadmap, brought to you in partnership with Techtown Training

Topics:
agile ,waterfall

Published at DZone with permission of David Bernstein, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}