Working in Agile - A developer perspective
Agile is a software development process that counts for incremental changes instead of the delivery of the whole software as it is done in the waterfall model. This model helps the development team to deliver the required product in a short period, this helps the team to take the value of the work that goes to the production and brings greater aptitude to work on changes.
Any development process that is based on the principles of Agile manifesto is agile development. I know two types of Agile frameworks that are used in the software industry, Scrum and Kanban. Scrum is a more popular framework for software development. It is a lightweight process framework to deliver products in recurring intervals. This is a process-based architecture meaning, a task is brought from the client which seems to get completed in a span of some man-days (or months). The planning work is easy and the individual tasks and responsibilities can be tracked.
In the scrum, the particular amount of task that needs to be completed in a small amount of time, generally in a month is called a sprint. All the tasks needed to be done as a part of the development are divided into sprints and are stored in a backlog. The amount of tasks needed to be done in the particular sprint is called a sprint backlog. There is a 15-minute scrum meeting set to understand the following.
- What I have done since the last meeting?
- What things will I cover before the next meeting?
- Issues that I am facing that I need help to resolve.
Various stakeholders who are benefitted in a scrum development framework are the Customers, who are paying to get a product that adds value. In agile if at any point it is realized that the feature that is being delivered is not what was needed, then it can be modified. Vendors deliver a high-quality product by producing exactly what the customer wants.
The scrum team involves the development team who is responsible to deliver the requirement, that is, convert business logic in the form code. Project Managers in the Product Owner role whose job is to make the customer happy by ensuring that development activity is as per customer needs. Project Managers in the Scrum Master role who ensures the development activity is going as per the plan, he decides what tasks to take up in the sprint, and if the team is facing any challenges.
The higher management has high-level visibility on the stage of project development and how to take things up further. Also, the executives who belong to the customer has a high-level overview of the state of the product.
In the fast-moving world, where the technologies lose their significance in a short period, agile project development provides a holistic solution to the creation of the product. It also ensures that only those features that are required in the product are pushed into the product.