Development methodologies adopted during a project’s lifetime can have a significant impact on the quality, efficiency and timeliness of the implementation. Here, at Deerwalk, we have embraced Agile Development, adapting it to fit the needs of projects that encompass many different industries and technology stacks.This has allowed us to become extremely adaptable and agile; we can easily keep pace with changes in the requirements or accommodate requests for new features from the client. This is one of the main reasons Agile Development has been successful in gaining a significant traction in the software industry.
At the core of the methodology is the concept of iterative planning and execution. Iterations are short, on the order of weeks, not months and produce a stable artifact at the end of an iteration that is tested and ready to ship. At Deerwalk, we follow the iterative development model as much as possible, incorporating a more traditional fixed-requirements approach where necessary. Such modifications are necessary to accommodate the wide range of projects inherent in a services-oriented company. This allows for project-specific development models, which allow us to execute efficiently on almost any type of project. At the end of each iteration, progress is presented to clients via a conference call. This gives our clients the opportunity to refine requirements or recommend changes, ensuring that they receive the most financially viable and productive deliverable possible.
There are many models that support agile development. Of these, perhaps the most popular at Deerwalk is Scrum. A combination of both in-house and third-party tools allow us to maintain product backlogs, sprint backlogs and reports such as task burn-down charts very easily. Teams are small, usually only two to four people, with a team lead who acts as ScrumMaster in addition to coordinating communication between the client and the team. Depending on the needs of the client, we have been able to adapt to other models. For example, on one particular project, a client wanted two offshore developers to work in conjunction with a team that had adopted Behavior Driven Development as its agile model. After a minimal amount of coordination, they were functioning as part of the existing team.
Perhaps the biggest difficulty in implementing the agile methodology has been removing obstacles introduced by the large geographic distance between our onshore and offshore teams. We have adapted our processes in several areas such as status tracking, information sharing, reporting and the frequency of meetings to mitigate the adverse effects of this distance. The use of conference calls and video conferences allow the teams to make up for the lack of face time developers receive with project stakeholders.
Deerwalk has found that agile development best serves our need extremely well, in spite of having teams in separate locations. It has been successfully modified to suit our needs and has helped with delivering efficient, reliable and timely solutions to our clients. We will continue refining our processes and methods, but at its core the process will be Agile.
Written by:- Gaurub Pandey and Anjan Nepal