We believe in constant innovation and improvements. The Agile methodology emphasizes communication and collaboration. Our team is flexible to adapt to the emerging business realities. It helps us to successfully manage and accomplish the goals of our customers projects worldwide.
We follow Agile Methodology specifically Scrum framework for software development. We have adopted Test Driven Development and Continuous Integration among the different agile practices.
Munir, our CEO is responsible to manage the business team. He is also plays role of both Software Architect and Business Analyst at our end. He is the primary point of contact at our end for both business and technical issues.
Development team are cross functional and formed with members from different specialties as needed. In cases when customers are not available for the role of a product owner in agile environment, Munir does all needful communications with them and acts a PO.
PRODUCT BACKLOG CREATION
Before any project work begins. we need to create a product backlog. It replaces the traditional requirements specification artifacts. This is essentially a list of the goals that need to be achieved in order to create a finished product. These are the list of epic or stories listed in order of priority. We conduct backlog refinement sessions to ensure that it contains the appropriate items, are prioritized, and that the items at the top are ready for delivery.
SPRINT PLANNING: SPRINT BACKLOG CREATION
Sprint is an iteration, a time boxed effort in which we produce a specified working software. During a sprint planning session, we set a sprint goal and create a sprint backlog from the product backlog. Sprint planning is a collaborative effort involving the Development Team, Scrum Master and the Product Owner to clarify the details of the user stories and their respective acceptance criteria.
SPRINT PLANNING: TASKS DENOMINATION
In the second part of Sprint planning session we break down the stories in sprint backlog into tasks which can be tracked easily. The tasks are then checked for dependencies and the required time is estimated. We may also update the sprint backlog as more details are visible at this point. After that, we update the scrum board with stories in story to do section and tasks in the task to do section. The scrum board is used and updated during the whole sprint.
WORKING ON THE SPRINT
This is time where the actual coding, testing, UI designing, technical writeups etc. are performed. We stand for 5-minutes daily scrum meetings to sync everyone with the latest development, improve communications, eliminate other meetings and identify impediments to development for removal, highlight and promote quick decision-making. We track our development work in the sprint board, remaining hours are plotted in a burndown chart.
TESTING AND DEBUGGING
This is not a seperate phase at the end of coding as done typically, rather it is done inside the sprint. When the stories are ready for review, they are tested according to the acceptance criteria of the stories. The bug is fixed and retested if required. We perform the Integration and regression testing when all stories in the sprint are done. It ensure that the deliverable or increment is in working condition and ready.
SPRINT REVIEW AND RETROSPECTIVE
At the end of the sprint, we hold a sprint review session where everyone is involved. In the session, the work is demonstrated. We also plan for any changes that need to be done according to feedback.
We hold a sprint retrospective session after the sprint is concluded to see what went well, what went wrong and what can be improved in the process. It enables us to continuously evolve and improve.