<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Software Tools @ Infosys</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/" />
    <link rel="self" type="application/atom+xml" href="http://www.infosysblogs.com/softwaretools/atom.xml" />
    <id>tag:www.infosysblogs.com,2010-03-19:/softwaretools/41</id>
    <updated>2012-05-18T08:19:57Z</updated>
    <subtitle>This blog discusses the importance of Software Tools and the role they play in providing a crucial lever towards creating business value. In addition, it discusses how a clear focus on tools and productivity enables efficient and effective delivery of best-in-class business and technology solutions.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.34-en</generator>

<entry>
    <title>Team Foundation Server &amp; Rational Team Concert</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2012/05/team_foundation_server_rationa.html" />
    <id>tag:www.infosysblogs.com,2012:/softwaretools//41.6193</id>

    <published>2012-05-18T08:06:10Z</published>
    <updated>2012-05-18T08:19:57Z</updated>

    <summary>Software Configuration Management</summary>
    <author>
        <name>Anupama Kemparamaiah</name>
        
    </author>
    
    <category term="alm" label="ALM" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rationalteamconcert" label="Rational Team Concert" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rtc" label="RTC" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="softwareconfigurationmanagement" label="Software Configuration Management" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="teamfoundationserver" label="Team Foundation Server" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tfs" label="TFS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>Software Configuration Management is an integral part of any application development lifecycle. With the growing trend of complex application development processes teams require configuration management solutions that not only provide version control capabilities but also extend these capabilities to other project management aspects, enabling collaboration and effective tracking. Team Foundation Server (TFS) and Rational Team Concert (RTC) are the recommended tools at Infosys that help in Application Lifecycle Management.</p>]]>
        <![CDATA[<p>Team Foundation Server (TFS 2010) is an Application Lifecycle Management solution from Microsoft. It works on client-server architecture. The TFS architecture can be broadly classified into data tier and application tier. It leverages the SQL Server 2008 or 2008 R2 as the backend and the application tier is composed of a set of web services. TFS 2010 provides integration with the SharePoint services and SQL reporting services which can be used for document management, dashboards and reports.</p>
<p>Rational Team Concert, an Application Lifecycle Management solution from IBM, also works on client-server architecture. It is a component of IBM Collaborative lifecycle management solution. The data tier can be chosen from variety of databases such as Derby database, DB2 Enterprise edition, SQL Server or Oracle databases. It follows the open service for lifecycle collaboration (OSLC) which enables swift collaboration across different tools in the life cycle.</p>
<p>TFS can be installed only on window operating system, whereas RTC can be setup on various operating systems such as Windows, Linux, AIX, IBM z OS. In TFS 2010, the administration of the team project collection is coupled tightly to the Team Foundation Server administrator console, whereas RTC allows the administration activities to be handled from a web interface.&nbsp; </p>
<p>TFS 2010 supports concept of team project collections which enables data isolation when multiple project teams are accessing the same server. The concept of data isolation is not available in RTC.</p>
<p>TFS 2010 integrates with Microsoft office tools such as Excel and Project planner to facilitate bulk work item creation, whereas RTC does not support the integration with Excel and Project planner as easily.</p>
<p>TFS 2010 with SharePoint services or SharePoint integration allows managing the binary documents such as word, Excel, presentations in a separate database known as WSS content database, whereas RTC does not differentiate the source code and binary documents.</p>
<p>TFS provides web client to do activities such as creating work items, project management through Dashboard and Reports. The customization of the process template cannot be done through web client whereas RTC provides the capability of customizing the process templates through the web client.</p>
<p>TFS integrates with the SQL reporting services, which provides pre-defined report templates to each team project that is created on the server. RTC does not have the in-built reporting capability; it requires integration with Rational Reporting Designer Intelligence (RRDI) to facilitate the reporting. </p>
<p>Both TFS and RTC offer capabilities to do version control with check in policies that can be enforced for the team members to follow. Team Foundation Server provides a unique concept of shelving and un-shelving to store developer changes on the server without creating new change set in the source control. This feature is not available in RTC.</p>
<p>TFS has tight integration with MSBuild and permits the customization of build definitions using window workflow. TFS supports execution of ANT and MAVEN build scripts. It provides a concept of gated check in which ensures developer changes that go into source control do not break the application build. Rational Team Concert is designed to integrate with other build engines such as JAZZ, Hudson, Cruise Control and many other build systems.</p>
<p>The useful features and capabilities provided by TFS and RTC are handy for teams with respect to Application Lifecycle Management. Teams could typically see a significant improvement in collaboration across roles, locations, groups, enhanced transparency due to reporting, dashboards, better quality and productivity due to enhanced automation and process adherence.</p>
<p>Created by Raghavendra S and Sudhakar Teki.</p>
<p><br />&nbsp;</p>]]>
    </content>
</entry>

<entry>
    <title>Requirement Prototyping with Rational Requirements Composer</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2012/04/requirements_prototyping_with_1.html" />
    <id>tag:www.infosysblogs.com,2012:/softwaretools//41.6024</id>

    <published>2012-04-11T12:10:29Z</published>
    <updated>2012-04-11T12:22:03Z</updated>

    <summary>Requirement prototyping helps to preview the end product at an early stage there by providing more clarity and an option to collect feedback from various stakeholders. IBM Rational Requirement Composer (RRC) provides a complete solution for work with requirements in...</summary>
    <author>
        <name>Pallavi Bomma</name>
        
    </author>
    
    <category term="prototype" label="prototype" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="requirements" label="requirements" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="requirementscomposer" label="requirements composer" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        Requirement prototyping helps to preview the end product at an early stage there by providing more clarity and an option to collect feedback from various stakeholders. IBM Rational Requirement Composer (RRC) provides a complete solution for work with requirements in the project execution that includes requirement definition, prototyping capabilities and a collaborative platform.
        <![CDATA[<p dir="ltr" style="MARGIN-RIGHT: 0px">RRC is an important part of the CLM setup. Apart from working with textual requirements, RRC provides editors for creating various additional artifacts </p>
<ul dir="ltr">
<li>
<div style="MARGIN-RIGHT: 0px">Process diagrams - Depict a directed flow of activities representing current or new business processes using BPMN notation</div></li>
<li>
<div style="MARGIN-RIGHT: 0px">Use Cases - Showcases the relationship between use cases and actors. The use case can be elaborated by linking with textual use-case specification in the documents</div></li>
<li>
<div style="MARGIN-RIGHT: 0px"><strong>User Interface Sketches</strong> - Mockup of the end product GUI</div></li>
<li>
<div style="MARGIN-RIGHT: 0px"><strong>UI Parts</strong> - Reusable element groups, that can be used across various artifacts</div></li>
<li>
<div style="MARGIN-RIGHT: 0px"><strong>Storyboards </strong>- Frame by frame representation of a user scenario</div></li></ul>
<p>In RRC the UI sketches, UI parts and storyboards help in requirement prototyping. UI sketches can be used to design various UI applications like web pages, mobile and think client applications. Parts are reusable set of elements that can be used across various sketches or storyboards. Storyboards are used to visually elaborate the flows in the use-case thereby providing a better understanding of the end user experience. As a part of the review process comments can be provided over various UI elements in RRC. Unlike in RequisitePro tool RRC facilitates the linking of various artifacts thereby establishing traceability between requirements (textual) and UI elements. Visual simulation is an important functionality in requirement definition and currently this feature is unavailable in RRC out of the box.</p>
<p>Infosys Tools Group has setup a centralized model for RRC for use by project teams across the organization. This model not only promotes effective collaboration and ease of maintenance, but also removes the administrative overhead from the project team's end.</p>
<p>Please refer to the below blog for more information on Requirement Prototyping and Simulation<br /><a href="http://www.infosysblogs.com/softwaretools/2011/05/requirement_prototyping_and_si.html">http://www.infosysblogs.com/softwaretools/2011/05/requirement_prototyping_and_si.html</a></p>]]>
    </content>
</entry>

<entry>
    <title>Open Source Software (OSS) Compliance platform</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2012/03/open_source_software_oss_compl.html" />
    <id>tag:www.infosysblogs.com,2012:/softwaretools//41.5982</id>

    <published>2012-03-30T12:07:08Z</published>
    <updated>2012-03-30T12:11:06Z</updated>

    <summary>Open Source, Solution, Compliance, Platform</summary>
    <author>
        <name>S. Sujit Rao</name>
        
    </author>
    
    <category term="compliance" label="Compliance" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="opensource" label="Open Source" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="platform" label="Platform" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="risk" label="Risk" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="solution" label="Solution" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        The growing demand for software development at lower costs, without compromising on quality and security is a de-facto requirement for software application development these days. Open Source software (OSS) is one solution that tries to address this challenge. However, it is to be noted that most free open source software, are not free in the real sense. Open source software has its origin from the free software movement. Here &quot;Free&quot; refers to the freedom of the software and not that of the users. Users are not free to do whatever they want with open source. The risks associated with open source software are equally numbered when compared to the benefits they provide. It is essential that organizations take necessary steps to identify and understand the risks inherent to open source software usage. Implementation of a comprehensive risk mitigation/contingency process and an automated solution is essential to ensure the organization doesn&apos;t end up spending more than what is saved through the open source software usage. Infosys has formulated methods and solutions to deal with the challenges to implement Infosys&apos; approach for open source compliance.
        <![CDATA[<p>The growth, popularity and acceptance of open source solutions has also triggered various discussions and questions regarding the risks accompanied with it , over a period of time.</p>
<p><strong><em>Risks in Open Source</em></strong></p>
<p><strong>Legal Risks<br /></strong>•&nbsp;Open source software is governed by different types of licenses that have significant differences in the rights and restrictions. In general, open source software licenses permit copying, distribution and modification of the software, but do not include any warranty<br />•&nbsp;Intellectual property infringement<br />•&nbsp;Warranties and Indemnities</p>
<p><strong>Operational Risks<br /></strong>•&nbsp;Code modification/customization<br />•&nbsp;Code Integrity &amp; Security Issues<br />•&nbsp;Availability of comprehensive documentation</p>
<p><strong>Tactical Risks<br /></strong>•&nbsp;Compatibility and interoperability of open source with the companies' operating environment<br />•&nbsp;Maturity of the open source <br />•&nbsp;Forking is one of the concerns for organizations using open source software, where a fork can occur when the development community has some conflicts and splits over the path of development of a given open source software<br />•&nbsp;Continued availability of open source<br />•&nbsp;Non-availability of internal/external support</p>
<p>Certain risks mentioned above are addressed through the implementation of an open source usage policy @ organization level and checks on OSS usage by legal/ IP team on demand basis. This method alone would entail a huge scaling up of the legal/IP teams if all project teams begin interacting with these specialized groups for OSS recommendations.</p>
<p>A viable solution to conduct validations on OSS usage is to opt for automation. The overall objective of such a solution would be to:-<br />•&nbsp;Make each use of OSS an intended use of OSS and a compliant use of OSS<br />•&nbsp;Control the release of OSS by the organization &amp; Monitor and Manage the entry of OSS into the organization</p>
<p>There exists several 3rd party applications that enable enterprises to manage their use of open source software and intellectual property throughout the SDLC - reviewing code, seeking component and license approvals, understanding license obligations, and creating reports. By scanning and analyzing software contents, providing a Bill of Materials and finding issues early in the development cycle these OSS compliance applications help organizations reduce risks associated with OSS usage.</p>
<p>It also facilitates the protection of intellectual property, assists with compliance and reporting, and identifies use of licensed software that is in conflict with established licensing terms or organization policies.</p>
<p>A solution that automates these checks is not only comprehensive but once coupled with an efficient work flow that loops in the IP/Legal teams as necessary, allows for a great deal of risk mitigation.</p>
<p>Infosys Open Source Compliance Platform leverages one of the industry standard OSS compliance applications to identify Open Source components and provide reports that highlight the risks, liabilities, obligations and recommendations on OSS usage. By coupling this with an efficient work flow, practical policy inputs and configuration, relevant checks from the IP team, the platform is able to assist teams in leveraging the right open source components in the application development.<br /></p>]]>
    </content>
</entry>

<entry>
    <title>Tools for Blackberry Application Development</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2012/03/tools_for_blackberry_applicati.html" />
    <id>tag:www.infosysblogs.com,2012:/softwaretools//41.5978</id>

    <published>2012-03-30T08:52:29Z</published>
    <updated>2012-03-30T09:20:02Z</updated>

    <summary>BlackBerry as a mobile platform emerged from the pager era to enterprise email technology. Blackberry came to be primarily known for their ability to send and receive email using the push email mechanism, while maintaining a high level of security...</summary>
    <author>
        <name>Pallavi Bomma</name>
        
    </author>
    
    <category term="blackberrytools" label="blackberry tools" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mobileapplications" label="mobile applications" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mobility" label="mobility" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>BlackBerry as a mobile platform emerged from the pager era to enterprise email technology. Blackberry came to be primarily known for their ability to send and receive email using the push email mechanism, while maintaining a high level of security through the on-device communication channels. Developers have the privilege to develop custom applications using APIs built on java ME or the BlackBerry proprietary APIs. As such the developers anticipate a smooth and quick environment to leverage the usage of the exposed APIs for BlackBerry application development keeping in mind the security concerns of the applications.<br /><br />To achieve this, the primary focus must be on data and security. Additionally, specifications such as testing portability across multiple devices and data synchronization opens up new challenges for developers .These challenges need to be handled carefully and with full focus. To ease out on these challenges, there is a need for tools and automation to be introduced in the development of Blackberry applications. There are both open-source and commercial tools available to handle these challenges at every life Cycle stage.</p>]]>
        <![CDATA[<p><strong>Requirements</strong>: <em>Rational Requirements Composer</em> provides a comprehensive set of features for work with requirement, extending from requirement and use case management to advanced traceability&nbsp;and prototyping capabilities.<br /><strong><br />Prototyping</strong>: Creating prototypes for Blackberry UIs can be realized using open source tools such as <em>Evolus Pencil </em>and <em>iRise</em>. Evolus Pencil provides features to create custom GUI templates and diagrams for BlackBerry applications based on various images. Prototyping is made easier with the simple Drag &amp; Drop feature. iRise is another prototyping tool that can be used across platforms. UIs can be easily created with the drag &amp; drop feature with support for template customizations based on the project requirements. It also provides features for simulations of the applications even before any coding. In addition, Blackberry provides its own suite of&nbsp; graphic design tools called <em>Blackberry Theme Studio</em> that allow developers to create colorful themes, splash screens and animations optimized for the Blackberry smartphones. Custom themes can be created and submitted to the Blackberry App World.<br /><br /><strong>Design:</strong> For modeling and design, advanced tools such as <em>IBM Rational Software Architect</em> (RSA) can be used. Supported on the UML 2.2 specification, developers are given options to generate UML diagrams from the set of 14 different diagram types available in RSA with existing or custom defined patterns that can be applied based on the applications specifications.<br /><br /><strong>Coding:</strong> The BlackBerry JDE provides a stand-alone environment with enhanced set of utilities and interfaces with rich RIM API references and various simulator models for development and deployment of applications.&nbsp; BlackBerry also offers a&nbsp;plug-in to Eclipse for developers who are accustomed to using the IDE as their development environment. Additionally, platform independent open source tools are also available for development of BlackBerry applications. PhoneGap is a development framework that supports development of applications using JavaScript, HTML5 and CSS across all the mobile platforms. It can also be used in collaboration with frameworks like jQuery Mobile, Sencha and others. MoSync comes as an IDE based on Eclipse which supports application development using C and C++.<br /><br /><strong>PQM &amp; Code Analysis:</strong> <em>PMD Quality Analyzer for BlackBerry</em> is an internally developed tool that can be used to perform static analysis of the applications against certain identified rule sets defined in the tool. It also incorporates the Infosys identified static analysis rules for BlackBerry. The tool also generates PQM reports based on the Infosys identified quality metrics.<br /><br /><strong>Profiling &amp; Coverage:</strong> <em>BlackBerry Profiler</em> is available as an inbuilt feature with the JDE and the Eclipse-plugin. It helps identify performance bottlenecks in the applications by capturing the memory allocations, heap storage, and deadlocks that further aid in program optimization. The JDE is also packaged with a Coverage utility that can be attached to the simulator or the device and captures information on the percentage coverage of code at package, method and class level. Though the utility lags behind w.r.t debugging information and usability, availability of an end-to-end development environment for BlackBerry with the JDE makes it a fitting choice for developers.<br /><br /><strong>Unit Testing:</strong> An Open source solution for Unit Testing BlackBerry apps is available with <em>BUnit</em> framework. It is built on the JMUnit framework with extended support for RIM-CLDC based application testing. This is one space where developers/testers find minimal backing from the BlackBerry community. Though persistent requests have been made, developers are being forced to recourse to third party solutions for Unit testing their applications. <br /><br /><strong>Testing:</strong> Various tools have been marketed commercially with support for testing applications across platforms. <em>M-Eux Test</em> provides automation testing of applications based on a record and playback model. It identifies an ObjectPool based on the properties of the GUI elements identified during recording. This ensures a robust solution for functional testing in scenarios where UI change requests have a high probability. The ObjectPool also supports reusability across test scripts. <em>TestQuest Countdown</em> is another automation tool available for functional testing of mobile applications incorporating comprehensive features such as test management, test case design and reporting.<br /><br />BlackBerry is still undoubtedly the front-runner in the Mobile Enterprise domain. Its seamless integration with an organizations process and the Corporate Mail accounts with the sophisticated security encryptions still act as the strongholds for ensuring RIM remains a top competitor. Tools Group ensures adequate automation solutions are standardized and made available to teams involved in development on the Blackberry platform.</p>
<p>Created with inputs from <strong>Shruthi Mathews</strong> and <strong>Sripriya Raghunathan</strong>, Infosys Tools Group.</p>]]>
    </content>
</entry>

<entry>
    <title>Requirements, Change &amp; Test Management Tools for Transformation Programs</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2012/03/requirements_change_test_manag.html" />
    <id>tag:www.infosysblogs.com,2012:/softwaretools//41.5895</id>

    <published>2012-03-15T06:35:42Z</published>
    <updated>2012-03-15T06:50:15Z</updated>

    <summary>Transformation programs involve complexities around changes to existing business processes or introduction of new business processes. These large Programs involve managing groups of related projects in a coordinated manner to achieve desired program objectives and goals. Generally a large program...</summary>
    <author>
        <name>Anupama Kemparamaiah</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>Transformation programs involve complexities around changes to existing business processes or introduction of new business processes. These large Programs involve managing groups of related projects in a coordinated manner to achieve desired program objectives and goals. Generally a large program has multiple tracks like IT/non-IT and they could run in parallel or sequential. It also involves multiple stakeholders like vendors, clients, client's customers, client's vendors, partners etc.</p>
<p>In transformation programs, development timeframes are measured in years, the ability to track &amp; test requirements and establish traceability is definitely seen as a critical mission because teams for these programs are distributed across multiple business units/segments. Since the teams are distributed across the globe and resource sharing is very high in large programs, there is a definite need for automation tools for Requirement &amp; Test Management.<br /></p>]]>
        <![CDATA[<p>Tools for large programs should meet the requirements of key stakeholders and should have flexible and extensible architecture with plug and play components with capability to easily integrate with the heterogeneous systems. These tools should also be easily available over LAN or WAN with network efficiency.&nbsp; Here we will discuss some of the key recommended Tools for Requirements, Change and Test management for large programs - </p>
<p><strong>Requirements &amp; Change Management<br /></strong>Requirements management will not only help you to cope with both rapid and gradual changes over a long period of time, but also helps you relate deliverables to contractual obligations.Due to the size and complexity, these programs usually have to deal with a large number of new or changed requirements during their lifecycle.&nbsp; So efficient requirement management in such programs is of utmost importance and essential to define requirements clearly, track these efficiently, and stay focused on these to reduce the project risk. </p>
<p>However, requirements management for large programs is not without its share of challenges. Some of these include:<br />•&nbsp;Identifying and grouping the requirements<br />•&nbsp;Implementation of new or changed requirements<br />•&nbsp;Reviewing the requirements with regards to completeness, consistency, testability, costs and benefits, and impact on other work<br />•&nbsp;Achieving traceability across the SDLC</p>
<p>Automation tools can provide mitigations to the above mentioned challenges and they become a necessity more than a luxury, considering the sheer volume of data and the impact of success such large programs potentially bring in.</p>
<p>In Infosys, IBM Rational Requirements Composer (RRC) and IBM Rational RequisitePro are the recommended tools for requirements management. These tools allow the user to create, view, share requirements and maintain version history. They provide the flexibility to create customized project templates and structure the requirements based on the project need. Their integration capability with tools across the SDLC, offers traceability across the project. These tools also provide the capability to perform impact analysis in case of any requirement change. In addition to Requirements Management RRC also provides requirement prototyping functionality. </p>
<p>In Infosys, RequisitePro and RRC have been deployed by setting up centralized server that could be leveraged by each program and providing access to the project teams via web client.</p>
<p><strong>Test Management<br /></strong>In large programs, test management tool is typically implemented at centralized location and different test teams access the tool from different locations to perform different Test Management activities like creation of Test Plan, Test Case Creation &amp; Execution and Result &amp; Defect reporting.&nbsp; For such programs, the tool should have a web interface so that it could be accessed from different locations and multiple teams could work simultaneously without installing it on their laptop or desktop. But despite the web based features, there are other challenges that team have to deal with:-<br />•&nbsp;Latency in uploading test plan, test cases, defects &amp; test results to centralized tool<br />•&nbsp;Maintaining the High Availability of Test Management tool so that it is accessible to geographically distributed teams<br />•&nbsp;Performance degradation due to user load<br />•&nbsp;Dependency on centralized administration team for change in settings and software upgrades<br />To mitigate above challenges, Infosys Tools Group recommends IBM Rational Quality Manager for test management activities. It supports IBM WebSphere and IBM DB2, both IBM WebSphere and IBM DB2 database can be installed &amp; setup in clustered environment so that local teams can upload their test assets to the tool without latency issue. As installation is local, the availability &amp; dependency of administration will be local and syncing of local data to central server will be automated due to clustering feature.</p>
<p>As Large Programs are complex, it is essential to bring in integration between tools in order to achieve end to end automation &amp; traceability. Infosys teams utilize internally created development &amp; maintenance platforms that offer a framework, to integrate process, people and tools from Requirements through to Testing &amp; deployment so that execution of transformation or large programs is seamless with the right levels of traceability, leading to their desired business benefits.</p>
<p>Published with inputs from <strong>Amit Gulati</strong>, Infosys Tools Group</p>]]>
    </content>
</entry>

<entry>
    <title>Tools for Android Application Development</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2012/02/tools_for_android_application.html" />
    <id>tag:www.infosysblogs.com,2012:/softwaretools//41.5744</id>

    <published>2012-02-10T08:07:13Z</published>
    <updated>2012-02-10T08:50:24Z</updated>

    <summary>Tools for Android Application Development</summary>
    <author>
        <name>Anupama Kemparamaiah</name>
        
    </author>
    
    <category term="adtpluginforeclipse" label="ADT plugin for Eclipse" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="android" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="applicationdevelopment" label="Application Development" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="junit" label="Junit" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="meuxtest" label="M-eux Test" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rhapsody" label="Rhapsody" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="robotium" label="Robotium" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="testquest" label="Test Quest" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 10pt; TEXT-ALIGN: justify">Operating systems for mobile have evolved from the Palm OS in the 90's, Pocket PC in 2000 to iPhone and Android. Android is an open source operating system which was introduced by Google Inc. in 2008. Since then the demand for Android application development is growing rapidly and so is the demand for tools that accelerate Android application development. The rapid pace of growth in this area also creates a sustained pressure to continuously enhance productivity and quality of the applications developed. Automation and Tools therefore play a significant role in the application development on Android, and in more ways than one mitigate the many challenges that teams face on the application development process.</p>]]>
        <![CDATA[<p>To support Android, developers have to ensure that the applications run on various devices across multiple processors, support different screen sizes and many more. Major challenge is supporting mobile devices with different features and technical capabilities. Portability of the application on various devices is also something that the developer needs to consider during development. Complex mobile architecture leads to challenges w.r.t security and data. Data exchange and synchronization add on to these challenges. Thus one challenge leads to another like testing these applications as well.&nbsp; However, there are both commercial and open source tools solutions available to address the challenges faced in each life cycle stage.</p>
<p><strong>Requirements</strong>:&nbsp; Tools like <strong>IBM Rational Requisite Pro</strong>, with comprehensive traceability features can be used to ensure efficient requirements management.</p>
<p><strong>Prototyping</strong>: For prototyping, open source tools like <strong>Evolus Pencil</strong> can be used which provide features for UI prototyping and has built-in stencils, as well as customized stencils for prototyping and diagramming. Pencil is a platform independent tool and hence supports prototyping for Android, iPhone, Blackberry and Windows Mobile as well.</p>
<p><strong>Design</strong>: <strong>IBM Rational Rhapsody's Android Profile</strong> provides the capability of forward and reverse engineering, models for multiple platforms, design patterns for android application and animation while running the application, which will help in identifying any flaws at the design stage. Popular design tools like <strong>IBM Rational Software Architect</strong> also provide features for UML design.</p>
<p><strong>Coding</strong>: <strong>ADT plugin for Eclipse</strong> allows the user to create UI, add components based on Android framework and debug the application. <strong>MoSync</strong> provides a single environment to develop applications for various mobile platforms like Android, Blackberry and Windows Mobile. <strong>PhoneGap</strong> is an open source mobile development framework for building cross-platform mobile apps with HTML, CSS and JavaScript for iPhone/iPad, Google Android, Palm, Symbian, BlackBerry, Windows Mobile and thus allows portability of mobile apps from one platform to another.</p>
<p><strong>PQM &amp; Code Analysis</strong>: Infosys developed <strong>PMD Quality Analyzer</strong> can be used for static code analysis and validate the code against the PQM metrics for an Android application. This utility includes Infosys identified static code analysis rules for Android. On the commercial offerings, <strong>Parasoft JTest</strong> can be used for static code analysis which supports 72 rules for Android development alone.&nbsp; </p>
<p>Tools like <strong>Android SDK - DDMS</strong> are available for the analysis of memory usage. Details like heap memory used by a process, tracking of objects allocated to memory are made available to the user.</p>
<p>For firmware development Infosys has developed its own solution, <strong>mConnect</strong> which is a real-time mobile transactions platform that enables mobile services for websites and ecommerce applications. It handles the multiplicity of the access mechanisms on diverse mobiles to provide a context agnostic view to the transaction server.</p>
<p><strong>Unit Testing:</strong> Android testing is an integral part of the application development and the test suites of Android are based on <strong>JUnit</strong>.</p>
<p><strong>Testing</strong>: Tools like Android SDK with Emulator, TestQuest Countdown, Robotium and M-eux Test are some of the solutions available for testing. </p>
<p><strong>Android SDK with Emulator</strong> lets the user test the android application, by providing a virtual mobile device. </p>
<p><strong>TestQuest CountDown</strong> provides functional test automation capabilities for mobile devices. It eliminates the barriers between test design, management and execution and also between test teams. In a single platform, Countdown allows testing across multiple platforms like Blackberry, Android except iPhone. It also promotes collaboration and sharing of assets in case of distributed test teams. </p>
<p><strong>Robotium</strong> is a black box testing framework for Android applications. It supports test case developers to write function, system and acceptance test scenarios, spanning multiple Android activities. Robotium has full support for Activities, Dialogs, Toasts, Menus and Context Menus. </p>
<p><strong>M-euxTest</strong> automates the testing of mobile applications based on a record /playback model. The tool recognizes the GUI elements of the application under test and captures the object properties which are used to identify the elements on playback. This makes the test cases completely reusable across different versions and device independent.</p>
<p>Cross platform testing supported by tools like TestQuest Countdown and M-eux Test helps in mitigating the challenges faced w.r.t testing of applications.</p>
<p>Android, along with other mobile technologies is a rapidly growing area where opportunities to improve automation are constantly emerging. Infosys Tools Group has ensured that automation tools are evaluated on an ongoing basis and standardized with the involvement of various stakeholders to bring in consistency and efficiency in the development of applications for mobile technologies like Android.<br /></p>
<p>Created with inputs from Sandeep Chauhan, Infosys Tools Group.</p>]]>
    </content>
</entry>

<entry>
    <title>Integrated Collaborative Work Environment</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/10/integrated_collaborative_work.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.5327</id>

    <published>2011-10-31T13:09:57Z</published>
    <updated>2011-10-31T13:16:07Z</updated>

    <summary>From the days of standalone application development to today&apos;s globally distributed delivery models, IT industry has gone through significant progression. Automation tools have evolved synchronously, paving way for higher productivity and efficiency. The expansion of global markets and the omnipresence...</summary>
    <author>
        <name>Shashank H. N.</name>
        
    </author>
    
    <category term="collaboration" label="Collaboration" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="communication" label="communication" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ide" label="IDE" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="productivity" label="Productivity" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>From the days of standalone application development to today's globally distributed delivery models, IT industry has gone through significant progression. Automation tools have evolved synchronously, paving way for higher productivity and efficiency. The expansion of global markets and the omnipresence of IT in all walks of life have propelled the creation of global collaborative platforms that empower organizations to communicate comprehensively and work together in mutually beneficial partnerships.</p>
<p>The evolution of integrated development environments, better known as <a href="http://www.infosysblogs.com/softwaretools/2010/05/evolution_of_ides_and_vsts_201.html">IDE</a>s was the first step towards cohesively performing multiple activities in a single platform. While this addresses issues with respect to activities like build, connectivity with other LC stages still remains a challenge. <a href="http://www.infosysblogs.com/softwaretools/2010/07/end_to_end_integration_of_engi.html">End to end integration </a>of tools across the SDLC provides a solution in terms of seamless integration across the lifecycle that enhances traceability, efficiency, governance and deliverable quality. </p>]]>
        <![CDATA[<p>A collaborative environment will not be effective just by choosing the best set of tools; it entirely depends on how efficiently the tools are being utilized. While integrated platforms offer a wide array of benefits, the advent of globally distributed development has necessitated the creation of tools that connect individuals from various parts of the world. Below are some of the features required of an effective collaboration environment to address this need: </p>
<p>•&nbsp;Information sharing and continuous monitoring helps improve the team's performance. The usage of version control tools coupled with document management provides data transparency and a means to manage knowledge. Integrating these features with the Project Management and reporting capabilities can further strengthen the work progress monitoring<br />•&nbsp;Process enactment - Usage of workflow engines that perform various checks on business process enactment during project execution<br />•&nbsp;Communication - Tools form the bridge between individuals to interact effectively. Especially in an onsite-offshore development scenario there is a need for good communication tools with frequent access to data in order to facilitate real-time collaboration and perform effective reviews of the artifacts<br />•&nbsp;Cross platform compatibility - Project teams must be able to access the collaborative software/tools across multiple platforms over the internet. These tools also need to be flexible, agile and light-weight to cater to the constantly evolving needs of project teams in the IT services domain</p>
<p>Collaborative software solutions like IBM Rational Team Concert and Microsoft Team Foundation Server provide features for effective communication and data transparency to make a marked difference in delivering software on time. They provide software development teams with a collaborative environment in which they can manage all aspects of their work, such as project planning, version control, build management, and consolidated reporting. Microsoft TFS has a built-in integration with Microsoft SharePoint for document management as well, which further augments its capabilities for information sharing. This helps in mitigating the challenges of <a href="http://www.infosysblogs.com/softwaretools/2011/07/individual_and_team_productivi.html">improving team productivity</a>. </p>
<p>In Infosys, Tools Group has established a centralized Microsoft TFS setup that currently supports project teams across the organization to work in a collaborative manner.&nbsp; Infosys has also created a Total Integrated Delivery Environment that integrates engineering tools with project management tools, bridging the gap between engineering and management activities.&nbsp; This, along with initiatives to access and use tools on the cloud can go a long way in providing an organized and efficient collaboration environment.</p>
<p>Published with inputs from <strong>Pallavi Bomma</strong>, Infosys Tools Group</p>]]>
    </content>
</entry>

<entry>
    <title>Simplification - for Technology and Tools Adoption</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/09/simplification_-_for_technolog.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4995</id>

    <published>2011-09-19T12:16:41Z</published>
    <updated>2011-09-19T12:27:15Z</updated>

    <summary>It is beyond any doubt that technology has ridden on a dramatically steep and exponential curve over the last few centuries. From pigeons and pony riders to Video Conferencing and Twitter, the communication and networking media testifies the progress very...</summary>
    <author>
        <name>Shashank H. N.</name>
        
    </author>
    
    <category term="automation" label="Automation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="simplification" label="Simplification" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="standardization" label="Standardization" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tools" label="Tools" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>It is beyond any doubt that technology has ridden on a dramatically steep and exponential curve over the last few centuries. From pigeons and pony riders to Video Conferencing and Twitter, the communication and networking media testifies the progress very aptly. Until the last two decades, the advancements in technologies, though significant, had limited audience and users. However, the massive communication and entertainment revolution has resulted in technology becoming affordable and easy to use. Never before in the history of humankind have so many people and diverse physical objects, ranging from mobile phones to microwave ovens been networked. <a href="http://www.livemint.com/articles/2011/05/25230647/Bridging-the-gap-between-real.html">[1]</a></p>
<p>Perhaps the best illustration of the impact of this change would be the penetration of cell phones in the day to day lives of people. Simplicity and affordability hold the key to the success of this device and the technology that runs it. If however, one draws a parallel to the engineering tools used in the IT industry on the same lines, these tools have some catching up to do. </p>]]>
        <![CDATA[<p>Short learning curves, usability and efficient process enactment can bring about a change in the perception and the subsequent usage levels of engineering tools. The inception of these tools is often met with challenges in terms of complexity (installation-wise and feature-wise) and affordability. While the latter challenge is addressed in organizations like Infosys through standardization and procurement of engineering tools across services, the former remains to be addressed. </p>
<p>IDEs for one have been widely embraced by the software development communities across technologies. IDEs have been successful in abstracting many activities like compiling, creation of build files, code indentation, commenting etc. to significantly reduce the learning curves for the technologies they support. Also, with platforms and frameworks like Eclipse, end to end integration of tools becomes a reality that allows seamless flow of data across lifecycle stages. Modern IDEs come with features that enable the creation of User Interfaces with minimal coding skills and also reduce the amount of effort spent in connectivity with application and database servers alike.</p>
<p>With a view to simplify the usage of automation testing tools, attempts have been made from all leading enterprises to develop testing tools that generate English-like scripts. This would help end users like Business analysts to record and play back test scenarios with little or no programming capabilities. The advent of such scripts has significantly improved the productivity in these activities and reduced the learning curves.</p>
<p>Testing tools have also undergone significant improvements with respect to data centric testing. Functional testing tools like IBM Rational Functional Tester and HP Quick Test Pro can now get filtered data from the appropriate dataset for testing. Performance testing tools like IBM Rational Performance Tester and HP Loadrunner provide virtual user environments to create the load and stress testing scenarios with minimal technological/ programming skills. </p>
<p>With speed and high performance being the new mantras of the current age, it is all the more important that engineering tools are simplified in a way that can enable them to be embraced by the IT community. The ease of deploying the tools which do not complicate the process and steps to get the final product will be dependent on the simplicity of the usage, decrease in the learning curve and the accessibility.</p>
<p><font style="FONT-SIZE: 1em">[1] Read more on "<a href="http://www.livemint.com/articles/2011/05/25230647/Bridging-the-gap-between-real.html"><em>Bridging the gap between real and virtual worlds</em></a>" by SD Shibulal, CEO and MD, Infosys Limited</font></p>
<p>Created with inputs from <strong>Mallika Singh</strong>, Infosys Tools Group</p>]]>
    </content>
</entry>

<entry>
    <title>Individual and Team Productivity</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/07/individual_and_team_productivi.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4850</id>

    <published>2011-07-29T11:54:37Z</published>
    <updated>2011-07-29T12:06:31Z</updated>

    <summary>Every time I write on productivity, I imagine this inherent clash in the way we look at individual and team productivity. If you look at Individual productivity, it is all about concentrating hard, thinking, focusing on the job at hand,...</summary>
    <author>
        <name>Naresh Choudhary</name>
        
    </author>
    
    <category term="endtoend" label="end to end" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="individualproductivity" label="Individual Productivity" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="smarterorganization" label="smarter organization" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="teamproductivity" label="team productivity" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>Every time I write on productivity, I imagine this inherent clash in the way we look at individual and team productivity.</p>
<p>If you look at Individual productivity, it is all about concentrating hard, thinking, focusing on the job at hand, ensuring there are no distractions while you are at the task. It is all about segregating yourself out of the prevailing environment and doing the job in the most efficient manner using tools and accelerators. Now when we look at team productivity the expectations are brazenly different from what they were with Individual productivity. Barring a few common things, the focus shifts and shifts dramatically to interactions, communication, discussions, involving other team members, stakeholders, leveraging tools and accelerators.</p>
<p>Can a person inherently "trained" to be individually productive become a positive contributor to team productivity just as naturally? Can a person shift between these two paradigms rapidly and multi-task without loss of efficiency, Quality and focus?</p>]]>
        <![CDATA[<p>Given the fact that the pressures on Business to continue to grow and enhance profitability at a healthy rate would require every single entity within the organization to embrace changes rapidly and adapt to these without losing out on the opportunities that it presents. An organization's journey towards a <a href="http://www.livemint.com/2011/06/09224520/Firms-unable-to-adapt-quickly.html">Smarter Organization </a>holds the key to its success in the future. Higher Productivity and better Quality is the cornerstone of excellence and these are an organization's investments for a better tomorrow. Tomorrow's enterprises would warrant a deep and intelligent synch between the two paradigms of productivity - Individual and Team.</p>
<p>While Individual productivity is natural and relatively easier to comprehend, the real challenge is to ensure the Team productivity space is as efficient for each member of the team. Else we are looking at a situation where the gains made on the basis of enhanced Individual productivity are in no time lost to the inefficiencies in the Team productivity space. The complexity does not stop with this, the moment we add the dimensions of multitasking, a wide variety of distractions individuals face while they are on the job; we have a fairly large challenge staring us in the face. Also the manner in which deskilling is approached by the organization further adds to the complexity and constraints towards achieving a higher composite productivity.</p>
<p>The solution therefore is not a one glove fits all, but in some ways also lies in the problem itself. The common connect between Individual and Team productivity paradigms is clearly Technology and Tools. The manner in which organization can leverage new and upcoming technologies and smartly integrate tools could provide a way to achieve both a highly productive individual and an efficient team.</p>
<p>While a focus on <a href="http://www.infosysblogs.com/softwaretools/2010/07/tools_standardization_and_serv.html">standardizing tools</a> across life cycle stages and ensuring adequate support and handholding as individuals go about using these was the initial thrust within the organization. The shift in the last decade was towards integrating these tools to form a robust chain that could create traceability and connect across life cycle stages. These have ensured the right mix of solutions for Individual productivity. The next wave that organizations like Infosys have started to work on is to create platforms that leverage solutions for Individual productivity and bring in enhanced amount of collaboration across roles, stakeholders, artifacts, geographies etc. with a focus on Team productivity.</p>
<p>Over the last couple of years, the Tools Group with its stakeholders has brought in such platforms to ensure the selection and recommendation of the "Right tool for the Right purpose", <a href="http://www.infosysblogs.com/softwaretools/2010/07/end_to_end_integration_of_engi.html">end to end integration</a> of these tools and created collaboration engines with a thrust on Team productivity. These platforms leverage integration technologies alongside home grown adapters and also the ALM and Collaboration capabilities inherent to solutions from Microsoft, IBM and others.<br />Such platforms are able to provide several benefits and would become more effective in the future as collaboration technologies improve. Some of the benefits we see @ Infosys are:-</p>
<ul>
<li>Technology specific <a href="http://www.infosysblogs.com/softwaretools/2010/05/evolution_of_ides_and_vsts_201.html">Integrated Delivery Environments</a></li>
<li>Maximize usage of Tools, Reuse &amp; Automation</li>
<li>Deskilling&nbsp; by leveraging a Collaborative,&nbsp; Standardized Delivery Environment</li>
<li>Integrating Management &amp; Engineering activities</li>
<li>Bringing all the associated roles on to a single platform</li></ul>
<p>The way towards a more balanced form of productivity where both Individuals and Teams are able to thrive in equal measure in the future could be through such platforms and such platforms would also enable organizations to get a far more accurate view of composite productivity - both Individual and Team.<br /></p>]]>
    </content>
</entry>

<entry>
    <title>Business Process Validation across Life Cycle</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/06/business_process_validation_ac.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4776</id>

    <published>2011-06-30T14:54:36Z</published>
    <updated>2011-06-30T15:02:41Z</updated>

    <summary>A business process or business method is a collection of related, structured activities or tasks that result in the creation of a specific service or product (serve a particular goal) for a particular customer or customers. It often can be...</summary>
    <author>
        <name>S. Sujit Rao</name>
        
    </author>
    
    <category term="bpm" label="BPM" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="businessprocess" label="Business Process" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="simulation" label="simulation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="validation" label="validation" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>A business process or business method is a collection of related, structured activities or tasks that result in the creation of a specific service or product (serve a particular goal) for a particular customer or customers. It often can be visualized with a flowchart as a sequence of activities. [Courtesy Wikipedia]</p>
<p>Validation of business processes prior to implementation was not a norm earlier, as this activity would typically be taken post implementation of the process by IT as systems within the enterprise. However, the success of business process deployment in an organization depends on how effectively and completely the business process has been tested. </p>]]>
        <![CDATA[<p>The typical lifecycle stages for the implementation of a Business Process are <br />•&nbsp;Requirements Definition<br />•&nbsp;Architecture &amp; Solution Design<br />•&nbsp;Build<br />•&nbsp;Testing<br />•&nbsp;Deployment &amp; Monitoring</p>
<p>Business process testing starts at early architecture &amp; solution design once the Business Process Models are created based on Event Driven Process Chain (EPC) or Business Process Modeling Notation (BPMN). Here validation of business process is done through business process simulation. Simulation extends business process modeling into validation. Simulation is the testing process that is carried out by a business analyst to simulate the execution of the business process. Simulation takes care of the following points:- <br />•&nbsp;Verification of the new processes created and check whether they can be executed<br />•&nbsp;Identification of process weaknesses and bottlenecks<br />•&nbsp;Throughput time and resource utilization optimization<br />•&nbsp;Determination of resource requirements, utilization levels and costs relating to workflows<br />•&nbsp;Analysis of potential process risks</p>
<p>Simulation can be implemented using tools like Aris Business Simulator. This tool allows testing of business processes based on dynamic simulation and key performance indicators. Aris Business Simulator helps in reengineering, benchmarking, optimizing and analyzing processes with resource planning. Aris' wide range of analysis options helps in identifying process modeling errors, inefficiencies and weaknesses. Pega is another BPM solution that helps in implementing the business process with efficacy. The simulation tools help to analyze Key Performance Indicators (KPIs) across the EPC or BPMN models to identify bottlenecks. KPIs can include:<br />•&nbsp;Process throughput time<br />•&nbsp;Dynamic wait states (bottlenecks)<br />•&nbsp;Organizational center utilization and cost rates</p>
<p>Once the business processes are validated using simulation, the process execution can be validated in a runtime environment during the build phase. This runtime environment can be implemented using SOA infrastructure.&nbsp; This ensures that the process behaves as intended in a runtime context once mapped to SOA services and business rule engines. Tools like Parasoft SOAtest and Green Hat Tester can be used for validation &amp; unit testing of SOA infrastructure implementing the business processes.</p>
<p>Test phase of business process implementation incorporates <br />•&nbsp;Functional Testing<br />•&nbsp;Integration Testing<br />•&nbsp;Performance/Load Testing</p>
<p>Tools like Parasoft SOAtest, ITKO Lisa, and IBM Service Tester provide capabilities to test BPM implementations, automatically creating test cases from BPEL deployment artifacts that enable the functional, integration and performance testing of business process. Once the validation of business processes is done, system testing for the rest of the application functionalities can be done using automated functional and regression testing tools like IBM Rational Functional Tester.</p>
<p>With the successful deployment of high quality software services and products being of paramount importance in today's world, the need for efficient validation of business processes across the life cycle would only increase. Business process validation in a manner similar to the one implemented in Infosys can go a long way in determining this success. </p>
<p>Created with inputs from <a href="mailto:Mallika_Singh@Infosys.com"><font color="#017dc3">Mallika_Singh@Infosys.com</font></a> </p>]]>
    </content>
</entry>

<entry>
    <title>Requirement Prototyping and Simulation</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/05/requirement_prototyping_and_si.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4595</id>

    <published>2011-05-05T13:52:06Z</published>
    <updated>2011-05-05T14:02:05Z</updated>

    <summary><![CDATA[Requirements gathering stage lays the foundation for the later SDLC stages. Thus, it becomes very critical that the requirements are understood and captured well.&nbsp; Traditionally requirements elicitation is done in a textual way through workshops, end user discussions etc. The...]]></summary>
    <author>
        <name>Shilpa Gowda S.</name>
        
    </author>
    
    <category term="prototype" label="prototype" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="requirements" label="requirements" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="simulation" label="simulation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wireframe" label="wireframe" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<p>Requirements gathering stage lays the foundation for the later SDLC stages. Thus, it becomes very critical that the requirements are understood and captured well.&nbsp; </p>
<p>Traditionally requirements elicitation is done in a textual way through workshops, end user discussions etc. The textual form of requirements is supported with use case diagrams and static screen mockups. These don't equip the stakeholders to have a clear picture of the final product's behavior and appearance. This can lead to multiple reviews, approval iterations hence increasing the requirements cycle.</p>]]>
        <![CDATA[<p>All these issues can be addressed by requirements prototyping and simulation. There is a general perception with teams that since prototyping and simulation involve an effort investment it affects the schedule of the project. However prototyping brings in clarity in the requirements captured, user needs and thereby aids in avoiding system changes in the later stages.&nbsp; </p>
<p>Certain advantages of prototyping are -&nbsp; <br />•&nbsp;Enhanced requirements clarity and reception of early feedback from the clients/end users<br />•&nbsp;Comprehensible preview of the proposed system with look and feel like the end product for the stakeholders <br />•&nbsp;Improved communication between the various stakeholders</p>
<p>In the IT industry, teams employ different methods to simulate the requirements. One of the most basic forms of prototyping is creation of wireframes. Though wireframes bring in the advantage of simplicity and require lesser time to create, they typically lack interactivity and simulation.</p>
<p>A&nbsp;more advanced way of achieving this is to combine the static approach of wireframes with simulation to make it more interactive. This approach definitely requires a bit more time and effort investment but it provides an improved user experience.</p>
<p>There are automation tools available in the market which helps users in requirements prototyping and simulation e.g. IRISE, Serena Prototype Composer, Borland TeamDefine, Rational Requirements Composer, Axure. Within Infosys IRISE, Serena Prototype Composer and Influx- an Infosys developed tool- are being promoted and used for requirements prototyping. </p>
<p>Some of the key features of these tools which help in prototyping - <br />•&nbsp;<strong>Simulation &amp; Interactivity</strong> - The page navigation, application flow can be easily modeled by dragging and dropping page elements. A predefined and rich set of widgets, reusable components which help in quickly assembling a page<br />•&nbsp;<strong>RIA support</strong> - RIA behavior can be easily visualized for e.g. roll over, drag and drop etc<br />•&nbsp;<strong>Programming language independent </strong>- No programming language knowledge is required for creating the HTML prototypes. <br />•&nbsp;<strong>Sample data</strong> - Sample realistic data can be added to the simulations created to give a realistic experience<br />•&nbsp;<strong>Templates</strong> - Help in driving reusability and uniformity across the application<br />•&nbsp;<strong>Collaboration</strong> - Simulations can be accessed via web for reviewing and providing review comments<br />•&nbsp;<strong>Reusability </strong>-&nbsp;The prototypes can be reused in the later stages for actual screen development</p>
<p>A typical usage of these prototyping tools could be to visualize the results post a requirements discussion with the stakeholders. Once done the same can be shared for validation through the collaboration feature. <br />A recommended approach for using the tool would be as follows -<br />•&nbsp;Build Scenarios - Identify functionally significant processes. The processes can be depicted using the flow diagrams which capture the sequence of events<br />•&nbsp;Build the individual screens using widgets, templates, masters<br />•&nbsp;Build dynamic data and navigation flows. It makes the simulation dynamic<br />•&nbsp;Rapidly build/modify the simulations, scenarios during stakeholder reviews</p>
<p>As an illustration we can take login screen which is typically part of almost every application. To create one, we should first identify and create the workflows, which are a successful login as a normal flow and a login failure as an alternate flow. As a next step, we need to design the pages i.e. Login page, Home page, Login failure popup. The screen layout can be easily designed using the widgets available. If consistency in look and feel is required across application screens, templates, masters can also be used. Once the pages are designed, as per the workflow designed earlier, navigation has to be built in the pages i.e. on click of the login button the user should be taken to the home page if it is a successful login. To provide a real time experience, actual login details can be fed in the data base for the login fields i.e. user name, password. The same can be used while displaying the simulation to the stakeholders.</p>
<p>Usage of prototyping solutions along with requirements management tools like Rational Requisite Pro provides a complete solution for all the challenges of the requirements stage. Thus, we see that with the use of a prototyping solution in the requirements stage the users can understand and define requirements in line with customer needs, the communication gaps between the various internal, external stakeholders and delivery teams is reduced to a large extent.</p>
<p>Created with inputs from <a href="mailto:PrabhatRanjan_Kumar@Infosys.com">PrabhatRanjan_Kumar@Infosys.com</a> </p>]]>
    </content>
</entry>

<entry>
    <title>Tools for PHP Application Development</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/04/tools_for_php_application_deve.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4532</id>

    <published>2011-04-12T02:39:15Z</published>
    <updated>2011-04-12T02:46:44Z</updated>

    <summary>The evolution of web applications in the last two decades has resulted in the demand for applications which are faster in operation/execution and simpler to maintain. Multiple scripting languages have emerged out of this necessity, to facilitate simpler and faster...</summary>
    <author>
        <name>Shashank H. N.</name>
        
    </author>
    
    <category term="analysis" label="Analysis" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ide" label="IDE" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php" label="PHP" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="scripting" label="Scripting" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="testing" label="Testing" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        The evolution of web applications in the last two decades has resulted in the demand for applications which are faster in operation/execution and simpler to maintain. Multiple scripting languages have emerged out of this necessity, to facilitate simpler and faster server side execution of web applications. PHP is one such general purpose and free scripting language that has now evolved to support both web based applications as well as standalone UI-based applications.
        <![CDATA[<p>PHP is used in millions of web pages worldwide and its free licensing has helped increase its popularity among web developers. This in turn has led to the development and usage of multiple tools for enhancing and simplifying the usage of PHP.</p>
<p>Since PHP is a scripting language embedded within HTML code, standard tools like IBM Rational Requisite Pro (for Requirements Management), StarUML and IBM Rational Software Architect (for UML modeling and Design) can be used. In the build stage, IDEs that provide comprehensive support (in terms of editors, debuggers and compilers) for PHP include Zend Studio, PHPEd, NetBeans IDE and PDT for Eclipse.</p>
<p><strong>Zend Studio:</strong> A commercial IDE from Zend, packs in code intelligence features along with debugging and database connectivity features</p>
<p><strong>PHPEd:</strong> PHPEd is NuSphere's commercial PHP IDE that supports Windows Operating Systems only</p>
<p><strong>PDT (PHP Development Toolkit) for Eclipse: </strong>An open source plug-in for Eclipse IDE to enable PHP scripting within the Eclipse environment</p>
<p><strong>NetBeans IDE:</strong> Another open source tool for PHP that comes with a dedicated PHP coding environment and integration with web standards</p>
<p><br />Apart from the IDEs, tools that allow users to perform unit testing on PHP code are also available in the market. <strong>PHPUnit </strong>is an all inclusive framework similar to JUnit for Java that facilitates the creation of unit test cases for PHP scripts. Other tools for testing PHP applications are <strong>CodeSniffer </strong>(static analysis), <strong>SimpleTest</strong> (Unit Testing) and <strong>Selenium</strong> (Functional Testing). </p>
<p>Infosys Tools Group has developed a comprehensive <strong>PHP Standards Checker</strong> tool to perform static analysis on PHP scripts in a given web page. This tool incorporates both the industry and organization best practices for coding and provides different categories of rules that can be run on a PHP file like coding style, PQM, file formatting. It also has rules to check code level security.</p>
<p>With scripting languages becoming essential components of any web based application, it is essential to adopt tools that provide a conducive environment for the proper implementation of these languages. Creation, standardization and deployment of such tools, the way it is done in Infosys can help to augment the powerful capabilities that these languages bring in.</p>
<p>Created with inputs from <a href="mailto:SrinivasaS_Rao@Infosys.com">SrinivasaS_Rao@Infosys.com</a> </p>]]>
    </content>
</entry>

<entry>
    <title>Tools for testing Silverlight and Flex applications</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/04/tools_for_testing_silverlight.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4515</id>

    <published>2011-04-05T05:57:45Z</published>
    <updated>2011-04-05T06:08:48Z</updated>

    <summary><![CDATA[RIA (Rich Internet Application) is transforming the way in which user interacts with web application controls. RIA provides rich controls and server interaction mechanisms to improve the user experience by increasing interactivity, visual attention, responsiveness and richness. Adobe Flex &amp;...]]></summary>
    <author>
        <name>KrishnaKanth B. N.</name>
        
    </author>
    
    <category term="flex" label="Flex" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ria" label="RIA" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="silverlight" label="Silverlight" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="testing" label="Testing" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[RIA (Rich Internet Application) is transforming the way in which user interacts with web application controls. RIA provides rich controls and server interaction mechanisms to improve the user experience by increasing interactivity, visual attention, responsiveness and richness. Adobe Flex &amp; Microsoft Silverlight are two commonly used platforms for RIAs. Testing of RIAs is challenging due to the client side structural complexities and hence requires special approaches to perform testing.]]>
        <![CDATA[<p>Some of the major challenges faced in testing RIAs are as follows:</p>
<p>•&nbsp;Difficulty in automating GUI based testing due to the use of specialized widgets and controls</p>
<p>•&nbsp;Complexity while performing performance testing due to different communication mechanisms used between client and server</p>
<p>•&nbsp;Security threats due to the handling of data on the client side and dependency on technologies like AJAX, JavaScript etc. which primarily use client side resources</p>
<p>•&nbsp;Awareness about Multimedia concepts, video streaming&nbsp; protocols, audio processing, image processing etc. for the tester</p>
<p>Infosys Tools Group recommends tools to perform different types of testing of RIA applications (Flex &amp; Silverlight)</p>
<p>•&nbsp;<strong>Unit Testing</strong> - FlexUnit &amp; FlexMonkey for&nbsp; Flex based applications and Microsoft Silverlight Unit Test&nbsp; Framework for Silverlight applications</p>
<p>•&nbsp;<strong>Functional Testing</strong> - IBM Rational Functional Tester (RFT), HP QuickTest Professional (QTP) and Selenium for Flex based applications and Microsoft Visual Studio, HP QTP for Silverlight applications</p>
<p>•&nbsp;<strong>Performance Testing</strong> - IBM Rational Performance Tester (RPT) and HP LoadRunner (LR) for both Flex and Silverlight applications</p>
<p>•&nbsp;<strong>Security Testing</strong> - IBM AppScan for both Flex and Silverlight applications</p>
<p>Functional Testing of RIAs demands special attention since some amount of configuration is essential to make the tool recognize the UI objects and automate the test scenarios. This may involve one of the following approaches.</p>
<p>•&nbsp;Compile code with functional testing tool libraries: This approach involves compiling the source code with RIA framework libraries and functional testing tool libraries. This is useful when source code of the application is available.</p>
<p>•&nbsp;Build a wrapper for the application: This typically involves writing a HTML wrapper for the application and loading the application through the custom loader of the functional testing tool. This is useful when testers do not have access to source code.</p>
<p>•&nbsp;Proxy/SDK Extensibility: Tools like IBM Rational Functional Tester offer capabilities to extend the functionalities to support new technologies and requirements. By using the APIs, the tool can be extended by writing proxies to recognize the objects.</p>
<p>Rich Internet Applications' ever increasing reach and appeal have led to a change in the way web based applications are perceived, designed, tested and deployed. The standardization and deployment of best in class tools for RIA testing in Flex and Silverlight, in a manner similar to that of Infosys Tools Group can go a long way in further accelerating the efficiency of testing these applications.</p>
<p>Created with inputs from <a href="mailto:Sandeep_Chauhan01@Infosys.com">Sandeep_Chauhan01@Infosys.com</a>&nbsp;and <a href="mailto:Amit_Gulati@Infosys.com">Amit_Gulati@Infosys.com</a> &nbsp;</p>]]>
    </content>
</entry>

<entry>
    <title>Silverlight Application Development</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/03/silverlight_application_develo_1.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4467</id>

    <published>2011-03-25T06:01:30Z</published>
    <updated>2011-03-25T06:16:29Z</updated>

    <summary><![CDATA[The evolution of web applications over the last few decades has given rise to the usage of new technologies and architectures to make the performance as well as the visual appeal of these applications of a higher quality &amp; greater...]]></summary>
    <author>
        <name>Pallavi Bomma</name>
        
    </author>
    
    <category term="expressionblend" label="Expression Blend" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="richinternetapplication" label="Rich Internet Application" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="silverlightapplicationdevelopment" label="Silverlight Application Development" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[The evolution of web applications over the last few decades has given rise to the usage of new technologies and architectures to make the performance as well as the visual appeal of these applications of a higher quality &amp; greater relevance to the end users. From the archetypal HTML based static web applications to the present day Rich Internet Applications (RIAs) that use extensive frameworks and technologies to provide a rich experience to the user, web based applications have come a long way. One of the pioneering platforms in this field is Microsoft Silverlight - a free plug-in that runs on the .NET framework that integrates the graphics, multimedia and animations into a single runtime with rich user interfaces for web, desktop and mobile applications.]]>
        <![CDATA[<p>Silverlight integrates seamlessly with existing ASP.NET, AJAX and JavaScript code to enhance the functionality already present within the applications. </p>
<p>The Silverlight application development lifecycle would typically follow a traditional software development lifecycle, which involves the design, development and testing of the applications. One of the key challenges in RIA development is the consistency of the UI rendered across different platforms. Silverlight 4.0, the current version has in-built features that allow it to run on Mozilla Firefox, Opera, Apple Safari and Microsoft Internet Explorer as well as other popular browsers like Google Chrome. </p>
<p>The diagram demonstrates an overview of a part of the development process for Silverlight applications.<a href="http://www.infosysblogs.com/softwaretools/images/ToolsGroup_SilverlightApplicationDevelopment.png"><img class="mt-image-left" style="FLOAT: left; MARGIN: 0px 20px 20px 0px" height="127" alt="ToolsGroup_SilverlightApplicationDevelopment.png" src="http://www.infosysblogs.com/softwaretools/assets_c/2011/03/ToolsGroup_SilverlightApplicationDevelopment-thumb-600x127-276.png" width="600" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Tools like Microsoft Visual Studio and Expression Blend, commercial IDEs are leveraged for rapid development of RIA applications.&nbsp; Expression Blend and Visual Studio provide visual editors, content assist for application building, along with capabilities to add animations, transitions and other interactivities.&nbsp; Tools like Deep Zoom Composer can be leveraged to create in place zooming and panning of images used in Silverlight applications. </p>
<p>With a significantly higher weightage on visual appeal, requirements for RIAs are best understood through visual images and prototypes. Expression Blend finds its usage here, providing the utilities necessary for graphical designers to create and simulate prototypes that match the user's requirements.</p>
<p>Bridging the gap between a visual image-based prototype and a working software application can be a daunting challenge in RIA development. However, Expression Blend projects can be seamlessly opened and modified within the Visual Studio environment. This integration is also key in simplifying the iterative development process where multiple and frequent modifications are necessary to meet end user requirement. </p>
<p>For testing Silverlight based applications, usage of tools like Visual Studio 2010 would be beneficial. The tool provides code profiling features that identify the memory bottlenecks, object allocation, object lifetime details and improve the performance of the application, which is another key aspect of an RIA's appeal. With a unique in-built unit testing framework for Silverlight RIAs and comprehensive functional testing features, Visual Studio 2010 ensures thorough quality and performance compliance of the Silverlight applications. <br />&nbsp;<br />With the emergence of personalization and speed, it is pivotal for service providers on the net to ensure visual richness and performance as a constant appeal in their applications. The deployment of tools for RIA development using Microsoft Silverlight, the way it is done at Infosys can play a significant role in creating RIAs that catch the attention of the ever increasing populace of web application users.</p>
<p>Created with inputs from <a href="mailto:Raghavendra_S05@infosys.com">Raghavendra_S05@infosys.com</a></p>]]>
    </content>
</entry>

<entry>
    <title>Flex Application Development</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/softwaretools/2011/03/flex_application_development.html" />
    <id>tag:www.infosysblogs.com,2011:/softwaretools//41.4439</id>

    <published>2011-03-17T10:23:07Z</published>
    <updated>2011-03-17T11:15:48Z</updated>

    <summary>The growing demand for superior user experience in software applications has led to the emergence of Rich Internet Applications (RIAs). These applications typically use a distributed function model as opposed to the traditional thin client model used by most browser...</summary>
    <author>
        <name>KrishnaKanth B. N.</name>
        
    </author>
    
    <category term="flashbuilder" label="Flash Builder" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flex" label="Flex" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ria" label="RIA" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="richinternetapplication" label="Rich Internet Application" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="richui" label="Rich UI" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/softwaretools/">
        <![CDATA[<font color="#666666">The growing demand for superior user experience in software applications has led to the emergence of Rich Internet Applications (RIAs). These applications typically use a distributed function model as opposed to the traditional thin client model used by most browser based applications to deliver consistent richness in User Interface. One of the widely used platforms for RIA development is Adobe Flash. This platform leverages an open source framework called Adobe Flex for the development of ready to deploy web based and desktop applications.</font>]]>
        <![CDATA[<p><br />Although the process for development of RIAs using Flex doesn't differ by much from the typical application development process, the tools and utilities used for the design, development and testing these applications are different from their other web application counterparts. The development of RIAs typically faces challenges in the form of data and UI consistency across different platforms and synchronization between the designers (of the UI/prototype) and the developers (of the actual application).</p>
<p><strong>Adobe Flash Builder</strong>, formerly known as Flex Builder is an Eclipse based commercial IDE that helps in rapid development of RIAs using the open source Flex framework. Like any other Eclipse based IDE, it provides visual editors, content assist for application building, along with capabilities to add animations, transitions and other interactivities. </p>
<p>Since the core objective of RIA development is to enhance user experience, the prototypes created for RIA UIs have to be significantly appealing. Requirements for UI creation are typically received in the form of images as textual documentation of visual requirements can be ambiguous. Tools like <strong>Adobe Photoshop </strong>and <strong>Adobe Illustrator </strong>are popularly used by graphical designers to create prototypes for RIA UIs.</p>
<p>However, it is seen that the prototypes created using graphical design tools are not greatly reusable from a developer's perspective. Tools that can extract information from the prototypes to generate skeletal, working UIs would greatly reduce the cycle time in RIA UI development. A tool like <strong>Adobe Flash Catalyst </strong>finds its use in this aspect, as it converts artworks from Adobe Photoshop, Adobe Illustrator and Adobe Fireworks into usable Flex skin components while keeping their features and details intact.</p>
<p>The next challenge in the development of RIAs would be iterative modifications necessary to create a User Interface that would meet the requirements of the client. Adobe Flash Builder also provides a direct connect to the creative tools like Adobe Photoshop and Adobe Illustrator to enhance the UI capabilities of the tool.</p>
<p>Testing Rich Internet Applications necessitates the usage of a completely different toolkit when compared to standard web based application testing. Tools like <strong>FlexUnit</strong> and <strong>FlexMonkey </strong>provide features necessary to perform unit testing of Flex based applications and tools like <strong>FlexPMD</strong> can be used to improve code quality and coverage. </p>
<p>A few requirements for RIAs expect these applications to be deployed in a standalone fashion on desktops. This challenge can be overcome using <strong>Adobe Integrated Runtime </strong>(AIR) which provides for a cross platform runtime environment that permits the deployment of RIAs as desktop applications. </p>
<p>The emergence of Software as a Service coupled with Rich Internet Applications' ever increasing reach and appeal have led to a change in the way web based applications are perceived, designed, developed, tested and deployed. The standardization and deployment of best in class tools for RIA development in Flex and other technologies, in a manner similar to that of Infosys Tools Group can go a long way in further accelerating the efficiency and allure of these applications. </p>]]>
    </content>
</entry>

</feed>

