For a company of such a large scale and magnitude, there are bound to be
thousands of apps running or under development at a given point in time. And all
these are fairly complex, with codes running into thousands of lines with
multiple iterations, eating away from developer's productive time. The
Information Systems division of Infosys runs a 24x7, globally accessed digital
business engine for the entire group through a number of custom built
applications on multiple technology platforms. The requirements have been
exponentially increasing and there is constant challenge for scaling up the
existing apps and building new apps, with rapid time to market. The project,
'PEP' (Productivity Enhancing Platform) was conceptualized to manage higher
demands with quicker turnaround time; without compromising on the quality of
products. The tools developed under the PEP initiative augment different stages
of the SDLC. The following tools were envisaged for the different stages:
1. Prototyping and Build phase: Templating Engine
The Templating engine helps developers to automatically generate web pages
for rapid prototyping, as per User Interface guidelines and standards. It
includes a set of reusable library of templates for the presentation layer,
which the development team can utilize to build their user interface layer pages
for .NET 2.0 applications. The tool also provides the capability to define new
templates and add them to the library. Displaying the template layout to the
developer when he browses through the templates to find one which suits the
current requirements came across as a challenge. Another challenge was to
integrate the Templating engine with the Code Generator generated output.
2. Build phase:
Static Code Analyzer
It's a code analysis tool which checks .NET managed code assemblies for
conformance to the IS department's Coding standards and Coding Best Practices.
The tool also helps in increasing awareness on secure and performance oriented
coding. It also enforces best practices on exception handling, data access etc.
It provides information on code quality as defined in Infosys Product Quality
Metric standards for .NET projects.
A Masters degree holder from NIT, Trichy, Ramesh drives the process and quality related initiatives at IS. He has been behind introducing various processes and the implementation of the Capability maturity model (CMMi). His initiatives to improve developer productivity have resulted in the creation of tools to automate activities in the software development life cycle.
Q What sets this project apart Q What were the key Q What else do you plan for |
Code Gen
A custom built tool to generate .NET 2.0 based C# and VB.NET code for
Web Applications as per IS EAA guidelines. It was envisaged to achieve the
following:
- Reduce development effort during coding cycles.
- Provide step-by-step guidance and enable standard adherence.
- Generate code based on Database and Class designs
- Automatic installation and inclusion of IS Infrastructure and Utility
components
The tool has been implemented as an Add-in to the Visual Studio IDE. It
provides guidance (also called as recipes) for database, business and
presentation layers. Its custom Installation package ensures that the developer
workstations are patched with the latest versions of the IS Infrastructure and
Utility components and the Static Code Analyzer rules.
3. Performance testing phase
PeTRA (Performance Test Result Analyzer)
PeTRA is a web-enabled, custom-built solution which integrates with VSTS (Visual
Studio Team System) to create a unique performance testing platform. The
solution automates the task of collecting application level performance metrics
needed from the outputs of the testing tool (VSTS) and Performance Monitor (PerfMon).
It generates customized, on-demand, rapid reports to analyze the performance and
diagnose bottlenecks. Also provided are potential fix recommendations to the
application teams for different types of issues. The configuration details of
the VSTS performance testing tool are present on the client side of the Tool. A
plug-in had to be developed to transform the configuration details, which
contains Tester's name, DB Server name, Web server name, Number of virtual users
to be tested. Since Perfmon counters are required to be collected for every test
being done, they had to standardize different counter parameters that need to be
collected.