It's been a long time that I wrote any blog, so now here I am again.
This time I think the best topic to share is working with Agile methodologies.
It's been more than four year now that I have been working with the same. Some initial questions may occur in the mind of the reader of this blog.
- What is actually AGILE?
- How can it make my work better?
- What are it's pros and cons?
- etc. etc.
By definition agile means quickly producing something useful and improving it over a period of time to the best of it's type.
But quick doesn't means to forget the real iterations required for the process.
I will put an example here:
Suppose you are developing a software, under waterfall model we start coding finish the project over a period of time and pass it to the customers.
But in agile we start coding get some thing usable (something like a prototype) pass it to the customers, then start improving it (taking help from customer's feedback). This ends up in a better end product as it includes customers feedback also. And a software which has passed phases like creating prototype, testing, retrofitting etc. (real time iterations), is of greater value to the customer.
There are various Agile methods, our need defines as which one will suit us the best. Example:
KANBAN: A method for developing products and processes with an emphasis on just-in-time delivery (using KAN="Visual" BAN="Board" technique) while not overloading the developers. With proper use of Kanban, projects are able to eliminate bottlenecks from any part of development cycle.
SCRUM: It is an iterative and incremental development process, where effort is tracked by burndown charts (each sprint) and Velocity tracking (over many sprints). These metrics help in better, predictable sprint planning and hence delivering happy faces.