A software development methodology that iteratively discovers business requirements using small self-organizing, cross-functional teams with business representation. In contrast with traditional waterfall development practices, agile teams build fully functional and tested code in short sprints.
Agile methods, such as Scrum and Kanban, elicit requirements from stakeholders in an iterative manner. A requirement could be the integration of a new data source in an ETL process or the addition of a new field to a database table.
Each agile team consists of a data architect, a data engineer, a report developer, and a business representative (i.e., product manager), who are cross-trained in each other’s skills (except the business person). The team consolidates and prioritizes requests building end-to-end solutions for their client in an incremental fashion. Says Akhter, ‘This approach has improved customer satisfaction. There is greater communication and transparency, and the teams have delivered a series of quick wins.