By Rosangela Velasquez
(Digital Film Work) Understand the agile design and why it is important.
The first thing we should know is that what is the most agile? and on what it is based, then; before developing this process there was another that was the cascade method that was basically based on going from top to bottom and that each stage of the process gives rise to the next one once it has finished. This method dates back to the 70s and usually leads to a series of stages that are: requirements analysis, system design, coding, testing, verification, and maintenance. The problem that had this method was that if in some of the stages there was an error had to be made a redesign of the system which generated losses for the company. As a result of this method a series of agile methodologies were born, one of them is the “agile development” is a development methodology that focuses on collaboration, rapid development cycles and results-oriented thinking. The main objective is to produce finished products more quickly and efficiently, with a greater emphasis on the practical value of the product.
About the agile development.
If you have to work on a project where the requirements can change, add or remove functionalities or you simply need to show the client several versions of how the project can be modified to improve it, you will need to work with an agile, flexible approach and constant feedback. This approach has become very popular in companies since, being an iterative method that is planned, its requirements are analyzed, it is designed, codified, tested and documented, until obtaining a result without functional errors. In the next iteration, they continue adding improvements to the result of the previous one, until obtaining a finished final result.
Among the most used agile methodologies are:
It is a framework that provides us with a series of tools and roles to, in an iterative way, see the progress and results of a project.
It is based on a very simple idea. This is that the work in progress (Work In Progress, WIP) should be limited and we should only start with something new when a previous work block has been delivered or has passed to another function later in the chain.
- Extreme programming XP:
It is an agile methodology focused on enhancing interpersonal relationships as a key to success in software development, promoting teamwork, caring for the learning of developers and fostering a good work climate
Change your relationship with your customers
By implementing an agile approach to link the client will provide better performance when doing the work you want since working with information that can provide the customer can provide solutions, improvements, and ideas to the project so that it has a better success. It also allows them to gain a better understanding of how the vision realized in a real-world context will work. The more regular the communication, the less chance there will be surprises along the way, the better a team can adjust to changing demands on the road, instead of having to retrace its steps.
In summary: make the client a member of your team.
Compile work frequently in teams
In the world of development, the integration of work within the team and between teams is a crucial part of any project. The importance of having a good team, motivated, multidisciplinary and self-governed is essential, within the team there should be several different roles to ensure the proper development of the project that is being carried out. One of the roles is the “customer representative” who is responsible for answering any questions that may arise to the development team during the project. This is the best way to ensure that the development continues to always meet the client’s requirements and thus deliver a good job.
Test, test, test … All the time
On a similar but crucially different note, frequent testing is an important part of keeping iterations on track. By “testing” I mean looking beyond integration to the functionality of a design, both at the micro and macro level, by developing a point of view of problem-solving. Which means that in the agile development the developers use a technique that is basically to decompose the biggest problems into small sub-problems in order to attain it with greater ease, they use the divide and conquer technique. The proof of this work allows them to identify exactly what the problem is and when it is detected, it can be solved in a fast way without being able to influence the other iterations.
In this way, by providing constant proof, not only can they keep the process going, but it also encourages the creativity of the designer to generate several ideas for the possible problems that arise in the project.
By implementing this methodology you can reach a better design result, since being a flexible and iterative method, you can modify, add and remove content without altering the final result with the help of the client.