As a programmer, there are many methods that can be done according to each needs and habits. At DyCode, every programmer is expected to be able to provide the best with the skills and methods that are appropriate for them and the clients’ needs.
During last week’s sharing session, Rina Maylestari, System Analyst from DyCode explained the topic about Software Development Life Cycle. This time she explained about the combination of RAD and Agile.
Rapid Application Development (RAD)
Rapid Application Development (RAD) describes a method of software development which heavily emphasizes rapid prototyping and iterative delivery. This method has several advantages, including:
- Fast development. With RAD, projects are more likely to finish on time and to the client’s satisfaction upon delivery.
- Prototype. In this rapid application development phase, the developer’s goal is to build something that they can demonstrate to the client. This can be a prototype that satisfies all or only a portion of requirements (as in early stage prototyping).
- Reduction of complex code writing, due to re-use code that already exists
But on the other hand, RAD also has some disadvantages, namely:
- Not relevant for large-scale projects
- Requires strong commitment between developers and consumers
- Requires large resources for large projects
Meanwhile, Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small incremental builds. These builds are provided in iterations.
Now let’s take a look on some points of Agile:
- Interpersonal interactions are more important than processes or tools
- Software that functions is more important than complete documentation
- Collaboration with clients is more important than contract negotiations
- Responsiveness is more important than following a plan
Of course this method also has several disadvantages, such as the difficulty of predicting analysis, design and development. Besides that it can also raise problems in terms of architecture and design.
Any method chosen by the company can certainly be adjusted to the developer’s own comfort and the nature of the company. Merging between RAD and Agile can be an option, because it relates to two things. The first is the scope of the project. If the majority of the middle project and timeline are fast, then combining these two methods can be the right solution. Another factor is the size of the company which is not too large with the average resource that has similar skill levels. But still in the level of each resource could complement each other with the skills they have, the RAD and Agile methods can complement each other as well.
What about your team? What method do you think is most appropriate to adopt? Let us know your opinion on the comment section!