What is Agile?
Agile is a development methodology that aims to treat software development differently in terms of agility and process flexibility.
To explain the methodology we will start with a brief explanation of the traditional development method also called waterfall. In this method we begin with a comprehensive characterization of the project to understand all its technical meanings and derivatives. Then we divide the tasks between different development teams (design, UI, functionality, QA and more …). Each part of the development process depends on the part before it, so it is not possible, for example, to start developing the functionality before the project design is ready, approved and finalized.
In a rude parallel to a residential building, we need a comprehensive draft of the entire project, a procurement of all the materials, and know exactly where the window stands and what size it is before we approach the implementation because any change in the process is costly and significant. To enlarge the window a little, you need to buy new lintels, blinds and glazes.
In the Agile methodology, sometimes called SCRUM SCRUM, the project’s approach is to break it down into minimal sprints, which is shared among development teams capable of closing each such end-to-end sprint. For example, instead of characterizing the entire site, then designing it and so on, we can characterize the homepage only, design it and upload it to the air and in step B add internal pages, or other modules and features that were not in its original characterization.
This way, we can deliver an active site in a very short time and ensure greater satisfaction throughout the process.
The Declaration for Agile Software Development states as follows:
“We reveal better ways to develop software while working and helping others are our values and principles:
People and interactions across processes and tools
Software works across detailed documentation
Collaboration with clients across contract negotiations
Response to changes over program tracking
That is, while there is value for items on the left, we value the items on the right more. ”
– Agile Manifesto Website
Principles of the Agile Method
The top priority is to provide valuable software as early as possible to the customer.
We welcome changes in software requirements, even at an advanced stage of development. Changeable fast processes provide a significant advantage in customer competition.
Software delivery works frequently, from several weeks to several months, with an aspiration for a short time scale.
Developers and the business user must work together on a daily basis throughout the project.
Build projects based on motivated individuals. Give them the workspace, answer their needs and trust them to do the work.
The most effective and satisfying way to share information in the development group is face-to-face conversation.
Working software is the main unit of measure for real progress in development.
“Easy Movement” processes promote sustainable development (a process that does not hurt the future in order to enjoy it in the present).
Investors, developers and users should maintain a steady pace over time.
Continuous attention should be paid to technological excellence and good design that increases “ease of movement”.
Simplicity – it is essential (the art of maximizing the amount of work you will not do).
The architecture, design, and requirements must be carried out within “independent groups” (such as a self-managed and all-resources army).
In calm times, the team has to think and think about how to become more effective, rather than simulate its behavior.