DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Dude, You've Got to Be More Agile!

Dude, You've Got to Be More Agile!

Rest in peace waterfall. Take care spiral. Be gone with you both because, dude, you've got to be more agile!

Francis Adanza user avatar by
Francis Adanza
·
May. 25, 16 · Opinion
Like (1)
Save
Tweet
Share
3.17K Views

Join the DZone community and get the full member experience.

Join For Free

a lot of people throw around the terms agile, waterfall, and maybe spiral very often when they talk about the software development methodology they use within their teams. what do i say? rest in peace waterfall. take care spiral. be gone with you both because, dude, you've got to be more agile! but what really is the difference between agile and waterfall? the end result is the same, right? well, that's not really true.  waterfall is a much older model. although it may sometimes hit the mark, i would argue that agile gets better, quicker, and cheaper results.

waterfall

the sequential nature of the waterfall model is meant to ensure that progress cascades down through the phases of a product/software lifecycle. this covers all aspects from conception through implementation and maintenance.

  • business requirements do not evolve/change with time and during development.
  • there should be no budget constraints or overruns.
  • a consultant clearly understands the requirements.
  • the same requirements have been communicated to technical architects, project managers, developers and the testing team.
  • the documentation is thoroughly read, understood, and visualized by everyone involved exactly as business needs it.
  • a step is not started until the previous step is fully completed.

sounds great, right? well a waterfall project can be quite expensive before you see any results or functionality. additionally, over time requirements change, scope can change, and desired results can change. strict adherence to the waterfall model does not allow for these changes to be implemented. what you see in the beginning is what you get in the end with waterfall.

agile

in contrast, agile software development allows solutions to evolve through self-organizing teams. rapid development, organic development and continuous improvement are all hallmarks of agile software development, resulting in a rapid, flexible development model.

  • the implementation can be broken down into sprints. each sprint delivers a value and solves a small portion of the larger problem statement.
  • the client is a part of the implementation team and is involved during the sprint. they are also part of testing each sprint before the next starts.
  • the learning from each sprint is carried forward to another sprint for better execution.
  • ideally there is no project manager. a sprint leader, or scrum master, ensures tasks are broken down and picked up by developers voluntarily.
  • each developer is solely responsible for successful completion of the task.
  • the sprint leader puts back together all tasks once completed, ensuring a value-adding, meaningful sprint is delivered on time.

can you see the difference? not only do you get functionality faster, but with agile you can adapt to change. this results in the customer getting exactly what they want at the time of delivery.

in conclusion

you may be "old school-ish" and still plan (and maybe even operate) using the waterfall methodology.  ask yourself these questions: (1) am i really saving money? (2) am i really producing the end results my clients expect to see? (3) would a more iterative approach that is flexible to change and has constant validation be more valuable to what we as a team are looking for?  imagine if an organization did everything more agile. stop planning with the end-goal in mind. instead plan out a couple of weeks at a time... then reassess the situation. i guarantee you that the end-result will be better for what you want now, saving you money and stress. so seriously dude, you've got to be more agile!

this article is a guest post to zephyr from evan golden , senior atlassian consultant, isos technology. isos technology is a partner of zephyr and is the market leader in solving complex enterprise challenges from agile adoption and qa to devops and they help teams improve quality and speed delivery.

agile Software development scrum Sprint (software development) waterfall

Published at DZone with permission of Francis Adanza. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • SAST: How Code Analysis Tools Look for Security Flaws
  • 3 Ways That You Can Operate Record Beyond DTO [Video]
  • How To Get Page Source in Selenium Using Python
  • Why You Should Automate Code Reviews

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: