Over the past few years, Agile methodology has become an integral part of software development to ensure timely deliveries by responding efficiently to challenges faced during the software development process. Unlike traditional plan-driven approaches, Waterfall or SDLC models, the Agile approach allows adjusting the software development process according to the evolving needs of the stakeholders as well as the market. Needless to say, it makes the entire development process streamlined, increases developer productivity, improves the product quality, and reduces the end-to-end process overheads. Most importantly, because of shorter delivery cycles, the client has a potentially shippable product at the end of every 2-4 weeks and this has a tremendous positive impact on client satisfaction.
Being an offshore software services firm that manages multiple projects for our clients spread across the world, we leveraged Agile to navigate some big challenges that emerge during the offshore software development processes. In this blog, we talk about how we use Agile to streamline project management, ensure timely deliverables and increase customer satisfaction.
Navigating the Transparency and Visibility Challenge
Quite a few software projects suffer from lack of transparency between the project teams and the client. At Clarion, we follow Agile methodology with daily SCRUM meetings. With the presence of every team member in this meeting, the team members discuss their respective tasks, share progress, and also assist each other in case someone is stuck with some issue. The projects which follow scrum also have sprint planning meetings at the beginning of every sprint (with a typical sprint cycle of 2-4 weeks). In these meetings, each and every client requirement is discussed in detail. During these conversations, we take into account all new discoveries that need to be incorporated in the development process and share any changes or new approaches required to deliver the valued features. The central dashboard, which logs in all these details, is visible to the development team as well as the client. All changes and progress reports are logged in on this dashboard to ensure a complete transparency and visibility to both the client and the developers. This ensures that there are no surprises in the end about the deliverables or the timelines. Everyone has a clear idea as to which features are being developed and what is the overall progress.
Time management in a Geographically Dispersed Environment
Time management in software development raises quite a few groans. Generally, the groans only get louder when the development team and the product owner are located across geographies in different time zones. We solved this challenge by ensuring that the development team has a certain time overlap with the product owner’s time zone for effective communication and implementation of requirements. Along with this, we have employed the concept of a ‘Shadow Product Owner’. The Shadow Product Owner is a member of the team who acts as the Offshore Product Owner and works closely with the customer and the internal team. The Shadow Product Owner is in regular contact with the customer and makes sure that all communication regarding the product development from either side are conveyed effectively and in a timely manner to ensure that the project timelines do not get compromised.
Unlike traditional software development process, where the testing team used to get the complete code for testing in one go, Agile enables the testing teams to test the project on an ongoing basis as and how the features get developed. With Agile, testing becomes easier – defects can be identified and resolved much earlier in the development cycle. The planning on which test cases to automate happens once the tests are finalized.
Project Estimations and Releases
Scrum, a widely followed Agile methodology, allows us to divide the whole project development path into smaller sprints comprising of a specific number of story points. The involvement of the Product Owner from the customer’s end in
the sprint planning process along with the entire project team makes this process more efficient and collaborative. This makes sure that the customer knows what to expect and when to expect it. The problem of unrealistic timelines is thus completely done away with. Since the customer has the direct visibility into the ongoing development work and the team members are involved in the estimation and planning process, each and every team member ensures that he/ she adheres to the timelines and deliverables and takes complete ownership of the task assigned to him/her. Having shorter sprints and identified story points also helps us quickly identify the velocity of the team. After a couple of sprint releases, one can easily tweak the delivery schedule and intimate the customer of these changes in a timely manner with quantified insights. Since the time estimates made this way are more collaborative and verified and owned by individual team members, the chances of going off-track with them become lesser. This makes the project management easier and the timelines for the releases are effectively maintained.
Incorrect expectation settings and failure to comply with the set expectations is one of the commonly heard challenges in offshore development environments. That mainly happens because of lack of communication and quantified insights. Agile allows us to keep the clients informed about the project related developments in a methodical and timely manner. Each and every member of the team is highly accountable for his/ her own deliverables. Any change in priority by the client or changes in the scope immediately reflects on the deliverables dashboard which is visible to both, the project teams as well as the client. Because of such complete transparency, the project managers or the developers do not need to take any extra efforts in managing the expectations of the clients – everyone is equally informed on all the project development process.
We have successfully implemented the Agile methodology across a wide variety of projects that we have undertaken. Having done so we have been able to complete our projects ahead of time and with more features. We have been able to utilize our resources optimally and ensure 100% customer satisfaction!