Thursday, November 26, 2009

Digité Improves Quality – of Life!


(ALM for Developer Series)

As a Testing manager in Digité, I am perhaps best placed to share Digité Enterprise's impact on my team's and my work.

Prior to using Digité, we used to manage our test inventory in Excel sheets – which is how a lot of organizations and teams still manage their test repository. These were multiple sheets that were organized module-wise. Test results were similarly tracked in Excel and we would depend on a combination of filters/ pivot tables in Excel to help us identify the failures, resubmit them for execution, etc.

Simpler and More Accurate Manual Testing

Since we moved all our Manual Test Inventory from Excel to Digite, life has become simpler. Earlier, for any regressing test cycle, it was difficult for a team lead to consolidate the test status when our test suite was divided across 20 testers. At the end of the day, they would have to chase everyone to mail back their testing status, find out how many defects were identified, calculate pending test cases and then redistribute the same so that testing could be completed on schedule.

With the Test inventory automated in Digite Enterprise, the Team Lead can just execute a report to gather the status. The report gives them the current testing status, number of pending cases, number of failed cases, number of defects identified in the system, status of those defects and when are they expected in the next development cycle.

Effective Test Automation

Further, we also track our automated test case inventory in Digité Enterprise. As the automation team makes progress automating manual test cases, the test cases automatically get excluded from the manual testing cycle using a simple filter in the product. Earlier, this was tracked in Excel by my team leads for automation and manual testing. Maintaining consistency of this information by checking Excel files manually was complex and time consuming. Further, these would never tally because they would be done at different points of time and data was dynamic. Now we have ability to get all sorts of reports – module-wise failures, priority-wise failures, tester-wise defect identification, etc.

Leveraging Integrated Application Lifecycle Management

Managing the overall testing would have been very difficult without Digité Enterprise. Test case development starts early in each release we plan, right after Product Management delivers the Use Cases/ User Stories for the release. The QA team develops the Test Cases for each Use Case, automatically linking them via Traceability. The Test Cases are jointly reviewed by Product Management, Engineering and QA for each release and approved.

With 3,000 QTP Scripts and around 1,500 business functions, we track over 7,000 manual test cases (sanity, smoke and detail test case) in the automated test repository. Product changes and their impact to automation testing assets are tracked through CRs in the automation project. We track the product branches on which this change is applicable. With our Subversion integration, every change is directly reviewed in Digite Enterprise.

Automated Tests run every night, and the results are available for analysis the next day. After completing root cause analysis of all failures, product defects are filed in Digité's Defect Tracking module. A report gives us an assessment of how well the nightly automation ran. A number of metrics are automatically calculated to give the nightly test trends across a month, last run's defects - product and automation scripts defects, script failures (false alarms and genuine), current status of product defects and the number of script failures due to the product defects, by module.

Significant Productivity and RoI

In the last 2 years since we moved our entire Testing process to Digité, our manual testing team has shrunk from 10 to 3, while we have kept our Test Automation team stable. Our test repository has added from 14000 to 19000. That is a huge jump in productivity and a significant ROI in the last 2 years.

Ashwini Lalit
Manager – Quality Engineering, Digité, Inc.

Saturday, November 21, 2009

Nasscom Product Enclave 2009, Bangalore


In an indication of the growing ranks of software product/ engineering companies in India, Nasscom – India's premier software industry association – organized its 3rd Annual Product Enclave, in India's Silicon Valley – Bangalore. I was there to represent Digite there along with my colleagues. The theme at this year's conference was "Positioning to Win" – and underscored the need for software companies to establish their brand globally through innovation – both in product and marketing – and thought-leadership.

At Digite, we understand the importance of this. Being a leading-edge software startup is not the best place to start establishing a brand. But meeting and working with pioneering customers and partners, as we have done over the last 8 years, has been an incredibly rewarding experience – and well worth the trip on the leading-edge! In the coming year, Digite plans to roll out some pretty innovative initiatives both on the product and the marketing fronts, all of which will unfold here in our blogs and websites over the next several months. The Product Enclave was a good venue to hear some of the industry luminaries validate our initiatives through their thoughts and ideas.

This year's event had Guy Kawasaki of Garage Technology Ventures, Rajesh Hukku, former CEO of i-flex Solutions (now Oracle Financial Solutions) and K. Ganesh from Tutor Vista, among others. Guy Kawasaki was, as usual, brilliant – both in ideas and oratory! Some of the points he made for small/ start-up technology companies -

  • Build what you want to use
  • Niche Thyself – Jump the curve and Create the new curve
  • Pay no (or very little) money for Marketing, Tools, People
  • Instead of sucking up, suck down/ across
  • Use Twitter – fast, ubiquitous, instantaneous and FREE
  • Give people value constantly and once in a while earn the right to sell
  • Put everything in the cloud (pay less for infrastructure)
  • Ship than test
  • Forget the VC
  • Don't let the Bozos grind you down
K. Ganesh, CEO of Tutor Vista keeps it simple. Tutor Vista is an incredible virtual tutoring success story with 20,000 students (just 20 times more than what the VCs thought was ever possible!) and 5,000 teachers that used simple yet effective techniques such as on-line 24x7 live chat and getting 15-day free trials establish credibility. Inspiring story that! Rajesh Hukku's story of i-flex and its trials and tribulations and the 'roll-up your sleeves and make it happen' attitude that lead to its success is a great example of innovation on all fronts – product, marketing and overall leadership.

To sum it up, I will borrow from one of the panel speakers from Tejas Networks who spent 25 years in the US before recently moving back to Bangalore. He said "the environment in Bangalore (read India) is very exciting, perhaps as much as anywhere in the world, the ecosystem is getting there and the time is ripe for innovation and products to happen". Therein lies the opportunity for product companies.

Breakaway opportunities uniquely present themselves in the curves; and races are won or lost in the curves. At Digite, we are uniquely positioned to address a new set of challenges in the area of globally distributed software development and application lifecycle management with curves like Agile and Lean methodologies already upon us. It promises to be an exciting 2010!

BM Raghunath
Vice President, Business Development, Digite, Inc.

Thursday, November 12, 2009

Do ALM Tools benefit the Developers?

(ALM for Developers Series)

Recently, I got asked this question by a prospect – a large bank's SEPG head. Their exact question was – How does Digité help with the developer experience? Clearly, Application Lifecycle Management (ALM) tools have made the life of the PMO, the SEPG, the Quality group, the Project Managers and the executive management better. But how do they benefit the folks doing the actual development?!

Here was my response to them about specifically what we, at Digité, have done to improve the life of the Development Team – the Business/ Functional Analyst, the developers and the testing team.

  • Digité's Unified Inbox automatically collects all the tasks and artifacts that a team member needs to work on, sorted by project, priority and urgency. No more time wastage in search and follow-up to figure out what work they are supposed to do next!
  • Digité's integrated set of products ensure that there is minimal wastage of effort in learning the tool itself, in navigating from one tool to another due to an integrated UI and a single repository, other than the code repository.
  • Our Requirements, Change and Test management features enable Business/ Functional Analysts, Testers and users collaborate continuously to identify, build and manage requirements use cases and test cases collaboratively. They work on individual requirements, decompose them online, baseline and review them; and track any changes to them throughout the development lifecycle. For the Agile practitioners, Digité provides User Stories and Iterations to plan, prioritize and build their user stories in iterations assigned to specific releases.
  • Digité's Integrated Traceability ensures that developers understand a software requirement along with other related items – user requirements, change-requests, test cases, documents – all thru a single integrated view – so that they can work with a holistic understanding of the business. Similarly, the developer's ability to view a defect holistically – through viewing associated failed test case(s), the related software/ user requirements, etc. means that a developer gets a full understanding of what failed, why it may have failed and do a full impact analysis – thus ensuring that the developers do an effective job of fixing the defect. This prevents a significant amount of rework and ensures a much higher level of initially delivered quality and conformance to requirements.
  • Our Eclipse/ Subversion/ CVS/ VSS adapters ensure that navigation between the developer's environment and Digité is minimal – and developers and testers can focus on doing their work rather than managing their work. Within Eclipse, they get to view all of their tasks and other work items and are also able to post their effort to Digité Timesheet without leaving the Eclipse environment.
  • If tracking effort is important to you, you may like this. Our customers report that their developers take anywhere from 30 minutes to 2 hours each week (!) to update their timesheets.  We provide an automatically populated timesheet and integrated time-logs available alongside each work item for immediate update as soon as a developer completes working on it.
All of the above have resulted in anywhere from 20-35% direct impact on developer productivity and equally importantly, 45-60% improvement in initial quality of product delivered and overall organizational productivity.

At Digité, we use our product for pretty much everything we do – as Sudipta, our VP of Engineering and Services, explained so well in the previous blog post – Are you still without an ALM Tool? I can't tell you how many times our team members have given us feedback about how convenient and time-saving it is for them to use Digité for managing their own development/ implementation work!

In the coming days, our own team members from our Development, QA and Product Management organizations – will tell you, in their own words, how they see the impact of Digité on their own work and indeed their lives.

We would also love to hear from you about your experience using Digité or any other ALM tools in terms of Developer experience and productivity.

Mahesh Singh
Vice President - Product

Monday, November 9, 2009

Are you still without an ALM Tool?

Many of our customers ask the question - why have ALM tools not become a project necessity? Why are they not more “visible”? Are you one of those still wondering if YOU need one? Let me give you some real data from our own example using Digité Enterprise to help you decide.

Our code base is 1.4M LOC, certified on 2 databases, 2 app servers on 2 Operating Systems. That means 8 stack combinations, ignoring that we run on both IE and FF. Further, because we have many customers on old versions of the product, we maintain a minimum of 3-4 maintenance branches at any point of time. So, if you fix a defect on one branch, you have to replicate that across all other branches. How many hands-on people do you believe would be required to maintain this application with a steady flow of enhancements? If you did not know our head-count, I would suspect that your answer would be ‘around 40-50’. We do it with an average of 15 FTEs! If one has to look for productivity examples, I cannot think of anything better than that.

We maintain our Backlogs on the tool, we rank them and estimate them and then, depending on the capacity, determine how much we can do in the next release. That just defined our Release Scope! In all my past 20 years as a software/ application delivery professional, that process has taken 4-6 weeks! We do it in a couple of days.

Once our Release Scope is defined, we execute our enhancements using workflows.

Our test cases, manual and automated, are all online. They are defined module-wise and graded on their importance. Depending on the impacted modules in the Release, we identify our scope of regression testing with a few clicks.

Test execution and defect tracking is all in the system. We don't have to maintain long lists in spreadsheets trying to build pivot tables on status, resource-wise, age, etc.

Our customers file issues that we convert into to defects or enhancements. Once again, we do our impact analysis on the system, review it on the tool with comments and then, assign it for coding and testing using workflows. When we commit our changes (we use SVN), we identify the defect or enhancement it is for and completely traceability is established automatically.

My experience is that organizations handling an application of this size would have 3-4 Technical Leads managing a team of 30-35 FTEs and a full time Manager. We have less than 1FTE playing the role of a Release Manager. We meet once a week for 2 hours. That is the extent of Project/Program Management that we do. The rest is all online...

My CEO gets his full dashboard on the system, real time. No multiple versions from different managers, no data manipulation, no dedicated operations staff preparing Excel/Word reports on Friday evenings or over the weekend.

The results: we have made a release every quarter for the last 2 years. We have slipped once by 3 days. We have brought our defect rates down by over 30%. Of course, we have built a great team but without one integrated tool, we would have been in a mess, doing a lot of rework!

So, if you are not on an ALM tool, get on one! In 6-9 months, you can’t imagine building software projects without it. How many times do you handwrite a letter anymore?

Sudipta Lahiri
Vice President – Engineering & Professional Services