BANGALORE, INDIA: In today's digital age, software applications and IT systems are becoming inevitable for businesses. However, developing software programs and applications as per the business needs involves high cost as well as time in the entire process. And at times, businesses keep aside automation plan due to uncertainty over software development and prolonged timing. However, the emergence of Agile methodologies has helped overcome the critical factors of “cost” and “time” surrounding software developments.
Xebia India is among the leading software development firms that work on Agile methodologies in building applications and programs. Anurag Shrivastava, Xebia India's managing director, talks to Pankaj Maru of CyberMedia News and discusses the company's overall business and awareness initiatives on Agile methodologies, benefits of using it in software development, and much more.
How has been Xebia India involved in the Agile methodologies and its spread in India?
Anurag Shrivastava: Xebia India was founded in 2006. And we have two focus areas – outside India market and the Indian market. For outside India market we do a lot of software developments for different kind of organizations and each and every project that Xebia India undertakes follows the Agile methodologies.
For Indian market, our focus areas have been divided into two broad categories – one is helping organizations to transform and get into more Agile way of working; and secondly is getting more adoptive to Open Source technologies.
Talking just about Agile methodologies, we have been working on projects for clients based out of Europe, the United States and Asia Pacific region and have been following Agile methodologies. Every client in every project is different, so over a period of time we have learnt a lot of insight into how best to use the Agile methodologies for the customers' benefit, final product's benefits or the project's benefit.
And based up on those learnings, we are trying to help different organizations within India to use IT resources effectively in order to reduce time to market, better utilizations and also take the final product to the customer at a shorter duration and in an instigative way.
Can you explain Agile methodologies?
AS: Agile methodologies as such are very abstract methods which are incorporated into software development as well as into the entire software project management – which involves how the software should be developed, how software development planning should be done and so forth.
In comparison to the earlier ways of software developments, say for instance during past 20 years, here we first think about the important parts or function of the software required that involves key functions, processes and designs. Once that initial process of marking out the key parts of software is done, then its development process starts, that is designated in form of small iterations. This allows building of the core part of software and helps to create a working model of the software.
It’s completely different than the earlier method which was a waterfall method which took lots of time, anywhere between couple of months to 2-3 years. Also the old method involves resources and funds that make it unfeasible for the customers and at times projects remains incomplete.
Moreover, Agile methodologies allow speedier software development process and customers can actually add or incorporate any changes needed as per their needs at the early stage of software development rather than doing it after the development is complete.
Does the use of Agile methodologies help to bring down cost of software development and save time?
AS: Yes. Most of the software development projects overshoots the estimated budget and time due to inherent lacuna in the traditional waterfall approach that they follow. Agile methodologies help in delivering quality application with no surprises since it is a collaborative approach with the customer. The customers get a piece of working software after every iteration, thereby empowering him to make more informed decisions about the features to be included that will solve the end user requirement in the allocated budget.