Advertisment

P. Sundar Varadaraj of Dell Talks on Software Life-cycle

author-image
PCQ Bureau
New Update


Advertisment

Advertisment

In projects with long life-cycles, the requirements capturing itself can take several months, which if not done properly, can come to hound you later. We spoke to Sunder who heads Dell's technology and innovation center to understand how his team is managing such issues and many others.

Q. What are some of the current development challenges organizations are facing?

In any software life-cycle, irrespective of the type of development work or environment, the biggest challenge is whether you've captured and documented the requirements well. The next challenge is whether it has been put in proper design with proper traceability. Can you for instance, trace it down to design after it has been designed, or can you trace it down to the code level once it has been coded? There's no perfect tool to do this, so this has always been a challenge.

Advertisment

For instance, in an SAP project, one of the key tasks is blue printing, which is requirements capturing. This process is so long that organizations themselves might change over the course of its execution. So unless you have captured all the requirements well, you can't raise a change request later. This traceability can affect the business in a big way for larger projects.

In large projects, with lots of people, phases, app requirements, coding, testing, an end-to-end visibility and single point of connectivity is very important. If there's a change request or a bug, it should come in such a way so as to minimize the response time.

Advertisment

It's not so much a problem with projects that have shorter life-cycles, of say one to one and half months, because there's more control.

However, larger projects have more FTs, so end-to-end integration is the key to manage them better.

Q. What is your vision in terms of providing an application development platform for developers to manage their project life-cycle?

Advertisment

The Software Development Life-Cycle or SDLC is not something new. It has been in existence ever since people started writing code. But now, Application Life-Cycle management and agile have become the buzzwords because companies like ours require multiple platforms for our various projects. In Dell for instance, a lot of work we do is on MS as well as Java platforms. So whether it's supply chain or projects in different verticals like healthcare, BFSI, we do end-to-end development work that require both MS and Java platforms. A good collaboration tool therefore is definitely warranted to manage these projects. We zeroed in on Microsoft's Team Foundation Server or TFS for across-the-board internal use because it provides pretty good end-to-end traceability. Everything can be done on one platform, so one doesn't have to worry about integrating one type of test tool with another type of development environment. Even requirements capturing has become easier, though it still has to do a little more catching up with Rational in this area.

Q. What sort of benefits does your ALM solution bring to the table?

If you've written the requirement that only needs an incremental change, it can be captured easily without going to another tool. This increases productivity. If all changes are properly captured without requiring meeting after meeting, whether it's for making changes to the code, preparing test cases, or anything else, it's all a seamless journey. Without our ALM solution, the logistics in maintaining all these things would have lead to loss of productivity, because something or the other would have been missed out. This would ultimately have impacted customer satisfaction.

Advertisment

The productivity metrics can easily be pulled out with our solution because you're not going to multiple tools to get the data. The same tool can be used. e.g. customer sends email, which if not integrated with your configuration mgmt tool, can be a big load on your time.

Advertisment

We're able to do agile in the true sense because if a critical change is required and go live is coming soon (e.g. a product launch just before Christmas, because most product purchase happen then), then those critical changes will affect the business if not done in time. Your system should allow you to affect those changes and quickly initiate them. If those were done with different, non-integrated tools, you may miss the boat.

Q. Building software is a team process where developers, testers and other roles needs collaboration. How does your solution help you out on this aspect?

Having all people working in one place is a thing of the past. Your teams will be all across the globe, right from Malaysia, UK, to India. So, anything that the team in Malaysia does will affect what you check in the afternoon to what will happen in the US in the evening. They should all be presented in a common portal. That's where TFS helps by presenting everything in a common portal. For instance, the top mgmt can see that out of 50 projects, which are the ones on track, which have the minimum no of bugs to fix, and which ones have critical bugs. Even for people at the working level, right from developers, testers, etc, it's a seamless collaborative environment. What used to happen with collab tools earlier is also a reality with some of these tools.

So essentially, it's not just horizontal collaboration across the globe, but vertical and hierarchical collaboration as well that we're able to do. What people want to see out of dashboards on project health, status of work, bugs being fixed are being automatically produced by TFS, while the geographical spread is being managed from a collaboration perspective.

Q. It seems you've even moved your Java projects to TFS. Why did you do this and what sort of benefits are you getting by the move?

Everybody won't do coding on MS. Java is also a reality, and has to be a fair choice for customers and end users. We therefore consciously moved Java to TFS, wherever our customers gave us that choice. Apart from that, we're also using some open source solutions. TFS integrates with Eclipse and provides a similar interface as Visual Studio. You can even execute Junit tests. Except for specific features in VS, nothing in TFS is MS specific. It can be used in multiple different ways. It also works on Java, Drupal, etc. TFS is independent of pure MS specific things. It also integrates with Sharepoint for dashboards, reports, and provides different kinds of views of the data.

Q. How critical is a configuration management system for maintaining your profit margins?

It's extremely important because it minimizes leakages and re-work, thereby saving more than 20% as opposed to other tools. It reduces the number of change requests from customers, and solve them faster.

We use MS Dynamics in our product factories across 11 countries in a big way. A lot of things are also being managed there using TFS, as an end-to-end integration tool. TFS is like a pseudo BPM tool. It's capturing your business requirements. The advantage is that even if the business has moved on, you've captured the requirements thereby reducing the need to extend a project life-cycle.

Advertisment