The IEEE Computer Society team
Global costs for enterprise software are fluctuating $ 605 billion. To ensure an efficient production process, the teams include several methodologies and approaches to the development life cycle, two of which are Agile and Waterfall. While Agile is gaining momentum in recent years, the waterfall still has its place. While we think of software as a multi-layered technology, the waterfall approach can be used in conjunction with this thinking, working as a parallel, complementary concept. This article will provide a brief overview of how the waterfall approach works and how it can be easily aligned with the concept of software as a multi-layered technology.
Want more technical news? Subscribe to ComputingEdge Newsletter today!
How does the development of a waterfall work?
Waterfall provides a consistent, step-by-step approach to software development, consisting of six separate phases:
In many ways, the waterfall can be compared to a traditional production process based on a production line in the automotive industry. The decision makers decide what is required, the designers model the vehicle and its components and the product is built on the assembly line, tested, launched and then maintained by the mechanics at the dealers. In this sense, the waterfall can be used in a wide variety of development scenarios and in many industries, not only in information technology.
In the context of software development, the waterfall can use the following steps:
- Requirements. Product teams and Level C managers decide what the application should achieve.
- Design. Software designers outline how to achieve basic code goals.
- Development. Developer teams build an iteration of the software.
- Testing. In-house teams test the software to see how well it works – sometimes called an alpha test. If not implemented, the process returns to the design or development phase.
- Deployment. After undergoing an extensive testing process, the application is deployed to the public.
- Support. The solution is being updated as the public and internal team members find problems. The team is releasing new versions and patches that deal with functionality and security issues.
The successful waterfall process depends on the proper implementation of the requirements and design. All stakeholders must either be on the table or their needs presented by someone else, especially because creating new iterations can take a long time in the life cycle. This is partly why developers have devised the Agile approach. But the waterfall can work just as well in many situations, including in the context of software as a multi-layered technology that includes four key aspects:
- Focus on quality
Here’s how they intersect:
How the waterfall and the concept of software as a multi-layered technology can work together
The key to making the waterfall and the multi-layered aspect of software development play well together is the use of multi-layered principles to evaluate and design each phase of the waterfall process. In other words, you use the four elements of software as a multi-layered technology as a set of checks and balances to ensure that your waterfall developer meets the core objectives. Here is an example of what this might look like.
Software as a multi-layered technology and an example of a waterfall
Suppose your organization wants to develop a mobile customer relationship management system, especially for remote workers who want to use their mobile devices while supporting the sales process. The CIO has decided to use a waterfall frame.
Step 1: Determine how the principles of multilayer technology will be applied
The product manager sits down with stakeholders and they work together to clarify:
- Quality: the goals of the application and how it will create an effective user experience (UX)
- Process: coding languages, tools and frameworks used to build the user interface (UI), as well as databases and other dependencies that will power the application
- Method: steps to be used for communication, assessment of requirements and their implementation, application design, testing and maintenance
- Tools: the technologies used to implement the process and method while maintaining quality
Step 2: Shape the structure of the waterfall using the principles of multilayer technology
As the project manager decides which team members will be involved in the development of the waterfall and what they will do, they build all the solutions around the multi-layered principles.
- The team of the product manager evaluates the result of each phase of the waterfall, using the technology of layers quality standards.
- The process and frameworks governing the design, development, testing, implementation and maintenance phases are periodically reviewed against what was decided in step 1, using multi-layered technological principles.
- The methods used during all phases are based on those selected when applying the multilayer technological principles
- The tools used are selected on the basis of those identified in the multilayer technology assessment process.
Ultimately, the team used Waterfall to create and maintain an application that meets the principles of software as a multi-layered technology. In this way, you can maintain a logical, consistent approach that makes the waterfall effective, while ensuring that the process and product conform to the software as principles of multi-layer technology. Not only do you get the best of both worlds, but both worlds complement, support, and improve each other.
You can rely on the IEEE Computer Society to keep your finger on the pulse of technology. Whether you want information on the latest development standards and technologies or contact other professionals, the Society will cover you. Subscribe to the newsletter today.