As a manager and a software engineer, I understand that there is always some customer changes [CR] that should be taken on consideration during the course of the software development process. Also, I know that any customer would like to be involved in the project development process and monitor the progress. That’s why the use of agile-based methodologies take place. In this article, I am going to explain Agile basics.
According to Wells (2013) Agile methodologies are goals-based and promise to ‘empowers the developers to confidently respond to changing customer requirements, even late in the life cycle.’ (Wells, 2013). In a project management environment, it is all about delivering a quality product/service while meeting the estimated deadlines and cost.
The core idea of agile-based project management methodologies – such as eXtreme Programming (XP) – is to have work items – or User Stories – collected and prioritized according to its value/priority to the customer and placed into a table called Product Backlog. Work items are the components of the project that should be delivered incrementally until the project is completed, e.g. A login page, product details page, etc … .
I’ve got all work items covered, what’s next?
Next, the project timeline will be divided into a series of 1 or 2 weeks periods, also known as Sprints or Iterations. By the end of every iteration, a team meeting is held with the customer – A.K.A Product Owner – to check the deliverables from the ended iteration, and define what to be done in the next one. If this is the first time to hear about agile-based methodologies, the official extreme programming website provides a sophisticated details regarding XP processes as one of the most powerful and fully engineered agile-based methodologies.
In Short, agile-based methodologies encourages customer engagement with projects, and promises both managers and customers that they will get the maximum value out of every programming iteration.