June 17th, 2014 by inflectra
When I looked up ‘agile’ in the dictionary, the first entry I found was, ‘able to move quickly and easily,’ which is odd when you think about it because that’s a pretty good description of how water moves over a waterfall. In software terms however, agile and waterfall are supposed to be distinctly different; not opposites exactly but very different, like alternative universes. Agile is the anti-waterfall software development method. As if to stress the fact that Agile is not the same as traditional development methods, it is often described by all the ways in which it differs from the waterfall model.
In all the best science fiction we are told that if two alternative universes were to meet there would be an explosion beyond imagination and in a flash we would all disappear into nothingness. I wonder if this is true of software worlds. Can we take some of the aspects of Agile and inject them into a waterfall process or will it kill the patient? For that matter, are there any aspects of waterfall processes that would benefit Agile projects?
One of the tenets of Agile processes is the integrated nature of teams, working closely together with a fluid delineation of function. Could this be applied to waterfall projects? I can think of no serious reason why close knit teams should not be effective in traditional processes; on the contrary, it would improve communication and reduce surprises. My only reservation is the degree to which test engineers can become entrenched with software engineers and still act as effective gatekeepers. We’ll come back to this in a moment. This risk aside, close teams can only be a good thing.
But, can individuals on waterfall-type projects share duties in the way that they do on Agile projects? This might in fact help with the problem most traditional projects have in their staffing profiles. There is an initial high demand for analysts and requirements engineers followed by a peak need for software engineers before a final call for test engineers. Rather than shifting people from project to project – creating an undesirable inter-project dependency – a waterfall project manager could ‘recycle’ her people from one skill set to another. Think how helpful it would be to still have all the software engineers on the payroll when it comes to pre-release bug fixing. As long as engineers are not testing their own code, there would be no conflict of interest.
As we said earlier, Agile methodologies promote teams of test engineers tightly integrated into the overall development team. Waterfall projects can certainly benefit from closely integrated teams but we must be careful not to end up with everybody standing on the inside looking out. Agile methodologies encourage test engineers to work closely with software engineers so that they are all pulling in the same direction and trying to get high quality code out of the door. While that is a worthy goal, it is important to still have people who are really trying to find defects, not simply stop them being introduced. We cannot have the fox guarding the henhouse. But, provided we have some degree of ‘gatekeeper’ testing, having others work closely to improve quality is a good thing.
Ask an Inflectra expert:
SpiraTest combines test management, requirements traceability & bug-tracking
SpiraTeam brings your teams together, managing the entire application lifecycle
SpiraPlan lets you manage your programs and portfolio of projects like never before
Orchestrates your automated regression testing, functional, load and performance
The ultimate test automation platform for web, mobile, and desktop applications
The help desk system, designed specifically for software support teams
Cloud hosted, secure source code management - Git and Subversion
Let us deal with the IT pain so you don't have to
For those that need to, install any of our tools locally
Our customers work in every industry imaginable. From financial services to healthcare and biotech to government and defense and more, we work with our customers to address their specific needs.
Our products do not enforce a methodology on you, instead they let you work your way. Whether you work in agile development, Scrum and XP, Kanban and Lean, Waterfall or hybrid Inflectra can help.
If you want to learn more about application delivery, testing, and more take a look at our whitepapers, videos, background papers, blog, and presentations.
Customers use our tools to help automate repetitive tasks and streamline their business processes using our Robotic Process Automation (RPA) solutions.
We collaborate with a wide range of teams to bring our customers a range of services (including load testing, training, and consultation), complimentary technologies, and specialized tools for specific industries.
Learn how different organizations have benefited from using Inflectra products to manage their software testing and application develooment.
Outstanding support is the foundation of our company. We make support a priority over all other work. Take a look at our support policy.
Discover great tips, discussions, and technical solutions from fellow customers and Inflectra's technical experts.
If you can't find the answer you're looking for, please get in touch with us: over email, phone, or online.
We are constantly creating new videos to help customers learn about our products, including through in depth webinars, all freely available along with a wide selection of presentations.
We provide a number of resources to help customers learn how to get the most out of our products, with free online resources, virtual classrooms, and face to face.
Read about Inflectra, our manifesto, and values. Meet our incredible customers who are building awesome things. We are focused on their success using our tools.
The Inflectra Blog contains articles on all aspects of the software lifecycle.
In addition we have whitepapers,
background articles, videos and
presentations to help get you started.
Events are a big part of our awesome customer service. They are a chance to learn more about us, our products, and how to level up your skills with our tools.
We actively partner with companies and individuals all over the world. We are also a great place to work and encourage you to explore joining our team.
Please contact us with your questions, feedback, comments, or suggestions. We'll get back to you as soon as possible.
When you need additional assistance (be it training, consulting, or integration services) our global certified solution provider partner network is ready to help.
At Inflectra, we are fully committed to provide our customers with the very best products and customer service.
We want to help developers extend and customize our tools to fit in with their needs. We provide robust APIs, sample code, and open source projects.