Whitepaper: Ten Benefits of Integrated ALM


Published on

In this whitepaper, - Ten Benefits of Integrated ALM - you will find the following ten compelling reasons why an organization must integrate these multiple lifecycle tools for an optimum single repository application development environment.

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Whitepaper: Ten Benefits of Integrated ALM

  1. 1. Whitepaper10 BENEFITS OF INTEGRATED ALM By Atanu Majumdar VP Engineering Kovair Softw are, Inc. 1533 California Circle, Milpitas, CA 95035 Sales: 1.408.262.0200 Press 1 1.408.904.4794 (F) www.kovair.com © Kovair Software, Inc. 2010
  2. 2. Application development organizations spend millions of dollars a year on multitude of siloedpoint function tools encompassing requirement management, architecture, coding, build,testing, tracking, release management and more. These tools live in isolation, rely mostly ontraditional broken manual procedures to synchronize data of one tool with the other and asa result do not play well together. You may find some point-to-point fragile hardwiredintegrations between the tools if an organization commits to a single provider for all thetools. Integration is barely present for organizations choosing best-of-breed tools fromdifferent vendors suited to different lifecycle phases. Here are ten compelling reasons whyan organization must connect these multiple lifecycle tools for an optimum applicationdevelopment environment.1. Gain Greater InsightLack of visibility into day-to-day activities in application development is a big problem for allstakeholders. Business Analysts, Architects, Developers, Testers and Managers – all work ina very isolated manner using different tools and have limited information about the overallapplication development activities and status. Business Analysts don’t get answers to their questions – Ο “Are there test cases covering the performance aspect of this customer requirement?” Ο “Which customer requirements are designed, which ones coded and which are tested by now?” Developers struggle to get their questions answered – Ο “What was the detail customer discussion and business perspective for this functional requirement that I am developing?” Ο “How many test cases failed for my code?” Ο “How do I find which components are using this part of the code that I need to change to implement this new requirement?” Ο “Which other requirements can reuse my piece of code?” Ο “Can I see how similar requirements were developed in the past?” Testers find it difficult to get answers for their questions – Ο “How do I know which other parts of the application need retesting when I am testing the fix for a bug?” Ο “Is somebody working on fixing this bug and what is the current status? Is this recreated by the developer?”Project Managers and Executives have limited visibility into the progress and quality ofdevelopment projects. Whatever visibility they have is typically gleaned from subjectivetestimonials and is not based on any objective data. 1
  3. 3. Ο “Are we on track to meet the delivery schedule? If not, what are the bottlenecks?” Ο “Are we doing enough reviews at every stage of the development? What are we finding?” Ο “What is the quality of the current release that we are working on? Which part is not stable yet? What corrective actions are needed?”The information required to answer all the above questions are spread across disparate toolsand locked in. All these tools need to be connected to unlock the hidden data and let all theproject stakeholders share the same pool of up-to-date real-time information. Connectedecosystem of tools allows every individual, team and organization to gain greater insight intothe application development helping them to do their job much better in an informed way.Efficiency can only be achieved when the right people are on the right projects at the righttime, doing the right things on the right items. This is impossible without a full visibility intoprojects, people, costs and items.2. Enact Best Practice ProcessesApplication development organizations find it very difficult to setup an integrated anduniform engineering process across SDLC stages when the tools used by stakeholders atdifferent stages are not connected together. Ο “How do you trigger Requirement review and approval process in your Requirements tool as soon as your customer submits a new feature or change request from a Portal tool?” Ο “How does the architect get to know from within the Designer tool that he/she needs to start the design process once the requirements are approved and assigned a Release in the Requirements tool?” Ο “How does the developer begin the development process using the IDE tool as soon as the requirements complete design process in the Designer tool?” Ο “How do you trigger a build process in a Build tool once the requirements for a Release are developed?” Ο “How does the tester start testing the requirements for a Release in the Testing tool once the build is available?” Ο “How do you initiate the defect resolution process in your Defect tool once the tester records test results in the Testing tool?” Ο “How do you commence your Release and Deployment process in the Release Management tool once the verification process for your Release is completed?”Without an interconnected set of tools, it is almost impossible to integrate the aboveengineering processes carried out in different practitioner tools and more than likely,distributed at multiple locations. Paper based processes are commonly used to control hand-offs between functional areas. Integrated engineering process automates these hand-offsand ensures proper communication, synchronization and feedback between these stagelevel processes which is so essential for successful application development. 2
  4. 4. Organizations establish several best practice processes like Requirements Validation, CodeReview and Verification, Test Coverage for Requirements, Build Verification, Riskidentification and mitigation, Check for Release Readiness, Change Management and morespanning one or more lifecycle stages and tools. Ο “How do you ensure that your corporate methodology and processes are adopted across your organization through the application development lifecycle stages?” Ο “How do you ascertain that your development partner in Bangalore and testing partner in Shanghai are following the same best practice processes?”Connecting the tools is a must for an organization to disseminate, implement and automateits methodology and best practice processes universally across the lifecycle tools so that themethodology becomes a natural part of organization’s business process. Automated andexecutable process models used across these integrated set of tools ensure strict processadherence and achieve consistency, repeatability and predictability.Corporations face the daunting task of ensuring effective compliance requirements likeSarbanes-Oxley, CMMI, ITIL, ISO, Six Sigma and others. Compliance requirements makeoverall traceability across all application lifecycle items a necessity which is practical onlywhen lifecycle tools are connected. Organizations need an environment where thesecompliance efforts can be automated and built into the process throughout the applicationdevelopment stages to achieve sustainable compliance.3. Overcome Challenges for Globally Distributed DevelopmentApplication development is more global than ever. Projects increasingly involve multipleteams in disparate locations, often from multiple companies and countries. Enterpriseorganizations often encounter a situation where even for the same lifecycle domain peoplefrom different companies/countries with different cultures participate in applicationdevelopment. It is often the case that one company using Doors for Requirements definitionand Perforce for SCM needs to work with another partner company using RequisitePro forRequirements and ClearCase for SCM. Challenge here for an enterprise is to accommodatedifferent culture and tools, yet remain connected in such a way that work is not duplicated,productivity is not sacrificed and cross-culture miscommunication is minimized. This is crucialespecially with lot of global business consolidations happening for enterprises. Ο “How is your development team in Bangalore using Eclipse for developing code getting updated real time on the business requirements managed by your Product team in Boston?” Ο “How do you control and gain visibility into your development process in Bangalore, testing activities in Shanghai and delivery process in LA happening around the clock 24X7?” Ο “How do you synchronize your stakeholders’ activities such that the developers in India start development after the requirements are designed in US and testers in China begin testing immediately after development is complete?” Ο “How do you measure individuals’ skills and experience with tools, technologies and activities in the application development lifecycle when they are physically distributed?” 3
  5. 5. Here the situation is even more complicated with the fact that people using differentlifecycle tools are not sharing the same network but their tools are behind the firewall inseparate networks. You will need a modern framework integrating tools behind firewallsacross different networks that overcomes the structural challenges of working across remotelocations, and ensures project outcome – on time, on budget and on target with businessgoals.4. Enable Collaboration between Stakeholders“A development effort can still fail miserably even if analysts document businessrequirements perfectly, architects build flawless models, developers write defect-free code,and testers execute thousands of tests.” Organizations need to provide real-timecollaboration and coordination between the various functional teams including customer,product team, development team, QA team and the testing team by seamlessly integratingdifferent development tools and processes that best fit their needs. Ο “How do the business analysts and customers collaborate real-time on exploring and analyzing business requirements when they may be using different tools?” Ο “How can I start a discussion thread with the tester to recreate a bug in my development environment?” Ο “How do I see my tasks and work items from within my tool, update my progress status and finally complete those?” Ο “How do we notify the right developer immediately after a build is failed for his/her part of code in a Build tool?”All of the above collaboration is possible only when stakeholders’ tools are connected. Thisintegration ensures that all stakeholders in application development are in sync and perfectsynergy. They share equal visibility into the development artifacts, activities and status.Their individual and team activities are synchronized with others and aligned with theultimate project goals. They don’t waste time on manual sync up tasks and bloated meetingschedules. They feel unified and take responsibility and accountability for the success orfailure of the whole application development.5. Increase Productivity & Deliver FasterConnecting the tools used by different stakeholders throughout the application lifecyclestages brings huge opportunities for increasing the productivity of individuals and teams. • Integration enables implementing and enforcing best practice processes and proven methodologies that drive improvement in productivity. • Shorter development cycle and quicker software delivery by decreasing inter-stage transition time. • Teams can collaborate more efficiently and effectively, eliminating human interface errors and time delays. • Business Analysts, architects, developers, testers and project managers are able to carry out most of their application development activities entirely using their preferred tools environment without requiring to learn and use new tools – this saves lot of training time for stakeholders. 4
  6. 6. • Reduce inflated meetings, travel times, phone calls and rework effort by keeping all the stakeholders in sync and sharing the up-to-date information. • Automation of repetitive and tedious tasks saves lot of time and effort. • Enable productivity improvement by analyzing trends and implementing metrics based management best practices.6. Enhance Customer SatisfactionIntegrated Application Lifecycle Management (ALM) breaks down the developer/customerbarrier, enables rapid delivery of customer-driven value and results in better customersatisfaction. • Integration enables business stakeholders and developers to collaborate seamlessly with the customers around common shared artifacts. This provides the opportunity to understand customer needs and expectations better. • Best practice processes adopted throughout the lifecycle stages constantly ensure that all the development activities are aligned with the ultimate customer requirements. Customers get exactly what they have asked for. • Improved quality achieved through the integration helps to deliver a better product to the customer that works for their business to rely upon. • Customer gets real time updates on the application development progress and status because of the increased transparency and visibility into the lifecycle stages. Software quality and reliability are lifelines to customer loyalty. • Integration facilitates quick response to customer requests and requirements with the support of an end-to-end traceability of lifecycle artifacts across the stages and integrated change management process. • Integration with Customer Relationship Management (CRM) and HelpDesk tools provides complete transparency on the progress of customer cases to all lifecycle stakeholders including customer support managers, sales and the entire software development team. This helps organizations to be on top of customer issues. Customer will instantly know the status of issues and when the fixes will be deployed.7. Improve QualityIntegrating the application development lifecycle tools has direct and indirect influences onthe overall quality. It improves quality by reducing the number of defects due tomiscommunication, catching inconsistencies between requirements, enabling efficienttesting, and generally ensuring that the final application meets the needs and expectationsof users. Quality is a result of effectiveness, efficiency and visibility. • Accomplishing tasks with quality outcome, often requires wider vision and extended accessibility to related information/knowledgebase. In an IT environment, linked information from disparate tools needs to be exposed to right stakeholders at the right time – for them to come up with ‘Quality’, and this plays a big role behind the success of IT projects. With integration; architects, developers and testers have ready real-time access to the lifecycle artifacts from within their tool, and hence 5
  7. 7. become more informed to do better design, coding and testing activities. All these result in better software quality. • Integration ensures code quality and performance throughout the lifecycle process. Quality of work is validated at every stage and defects are caught during the process, instead of at the end of it. • Enforce and automate some of the best practice quality verification processes like code analysis, unit testing, checking code coverage, continuous build verification, root cause analysis and more by integrating the relevant tools. Capture these detail level test results/defects to analyze and take smarter decisions to improve quality. Strong analytics help anticipate problems before they arrive. • Better change management practices help to minimize quality issues arising out of changes in requirements, designs and code files. It is key to understand change dependencies and impacts to optimize quality.8. Collect Actionable Metrics & IntelligenceOrganizations are finding it increasingly hard to get the facts needed to build an up-to-dateand reliable picture of application development projects, obtain accurate measures againstbusiness goals and deliver simple actionable intelligence. Typically, in the absence of anautomated metrics collection program across the disconnected lifecycle tools, managers relyon team members to provide these inputs and the results are inconsistent, imprecise,subjective, static, not granular and hard to collate. Absence of factual insights lead tomissed deadlines, budget creep and fundamental erosion of trust and goodwill inrelationship. Companies waste millions of dollars each year in project overruns, cancellationsand missed business goals. Ο “What is the cost per feature development? Is it going up or down?” Ο “Are we spending enough time on proper requirements analysis and design?” Ο “How much time is spent by developers in testing versus developing the code?” Ο “What is the percent of code that has been tested?” Ο “What is the productivity and quality gain after we introduced best practice processes like static code analysis, code coverage test, unit testing and code reviews?” Ο “What is the rework percentage?” Ο “Which tasks do we need to focus to avoid slipping delivery dates?” Ο “Which resources exemplify the best practices resulting in better quality? Can we adopt those as models for others to follow?” Ο “Are we properly allocating resources against the project priorities?” Ο “Are we being able to estimate and plan properly? Are we deviating much?” Ο “What is our build and release readiness? How is the code churn?”Do you feel that the answers are not easily forthcoming? You need an automated metricscollection system integrated across application development lifecycle tools. This will provideyou a decision intelligence solution that delivers relevant, objective, dynamic and granularmetrics needed to make smart decisions influencing cost, quality and time. 6
  8. 8. 9. Manage Change with ConfidenceChange is inevitable in application development. Embracing change and managing itproperly is a major challenge. Organizations find it difficult to keep all stakeholders in syncwith the latest changes in application development and ensure smooth change propagationthrough lifecycle silos. In the process, inconsistent information creeps in, resulting in wastedeffort, productivity loss, incorrect delivery and customer dissatisfaction. Ο “What would be the impact to incorporate this customer feedback that requires a change in the top level business requirement? Where are we on developing the functional requirements? What would be the waste? How much can we reuse? Can we squeeze the change in the current release?” Ο “How do we ensure that the developers are working on the changed scope of the requirement and testers are creating or updating test cases for the change?” Ο “How do the testers easily find out the right sets of test cases that are either modified or newly created because of a change in business requirement and execute those test cases only?” Ο “How do we know which business requirements to clarify, which design models to check, which code files to reprogram, and which unit tests to rerun when a bug is detected during system testing?” Ο “How do we find out which top five bug fixes required code corrections in multiple code files? Do we have time to retest those risky bug fixes before we release?” Ο “Which code file has produced the maximum number of bugs?”To deal with the above scenarios, what we need is an end-to-end multi-directionaltraceability between the lifecycle artifacts and deliverables like requirements, models, sourcecode, build scripts and test cases getting generated throughout the application developmentstages by different stakeholders using different tools. Organizations find it challenging tointer-relate application lifecycle items when they are maintained in isolated tools by peoplefrom different functional areas. Without end-to-end traceability, enterprises will continue todeliver applications that diverge through the lifecycle from the original requirements.Connected set of lifecycle tools makes it easier for the application development teams tobetter assess the impact of changes, track the full history, automate change propagationand thus keep everyone on the same page and reduce change reaction time.10. Plug and Play toolsOrganizations invest heavily on buying the best-of-breed tools for different lifecycle stagesand on training people on these tools. But they have not been able to harness the fullpotential of these tools and get most value out of their investments. Integrating all or mostof these tools you achieve an End-to-End ALM solution resulting in increased ROI andprocess improvement. You need an integration framework that can accommodate yourexisting tools and processes and don’t require to retool your current processes or to committo a particular tool vendor. 7
  9. 9. Ο “How do we retire one tool and plug another tool easily in the same lifecycle domain without disturbing the current process and avoiding the large overhead involved in data migration?” Ο “How do we maintain multiple tools in the same lifecycle domain e.g. DOORS and Caliber RM for Requirements Management and keep these synchronized?” Ο “How can we control and customize the information flow between the tools and avoid fixed integration flows?” Ο “How do we incrementally build the integrated tools environment? Can we start with Requirements and Testing tools and then bring in CM tools? Ο “How do we automate workflows cutting across the tool boundaries?”This integration framework has to be flexible enough to support all of the above integrationrequirements. You should be able to plug any tool from any vendor any time to yourintegrated tools ecosystem and follow your best practice process irrespective of the toolschosen.Kovair Omnibus Integrations MiddlewareKovair Omnibus is the leading ESB (Enterprise Service Bus) integration technology availablefor Application Development and IT tools. This technology offers an open and seamlessintegration middleware with all essential ALM services, like collaboration, traceability,process automation, security, reporting and analytics built on a single repository. Withstandardized SOA based tools specific Omnibus adapters, one can create one’s own toolsecosystem. These tools can be from any vendor or any legacy data or any customhomegrown application development and IT tools.Kovair’s Omnibus integration technology has major advantages which are not typically foundin the vendor specific point tools or even a suite of tools.Bus or Hub versus point to point integrations Leverages existing tools investment forbringing considerable savings in customers – no need to rip and replace toolsdevelopment and maintenance costsSupports multi-directional Synchronization Synchronization of data and relationsand Federation between lifecycle artifacts in different toolsData validation and transformation Conflict Detection and MediationCustomizable Integration Rules & Data Supports integrations of multiple tools forMapping independent of Adapters – No rule the same functional areahardcoded in the AdapterAugment Integrated Tools’ capabilities for Connects tools behind firewalls through SOAProcess & Traceability – needed for globally distributed team 8
  10. 10. We have shown below our entire portfolio of all multi-vendor tools for which integrations arecurrently available or expected to be available over the next 90 days across all functions ofthe software development lifecycle. It shows a very compelling picture for you to exploreand benefit from. 9
  11. 11. ConclusionYou have purchased the best tools money can buy to make your development process moreeffective. You have trained your people in these expensive tools. But, you are not gettingthe most value out of these investments. You don’t have a consolidated picture of yourwhole development projects but only the pieces of the puzzle.You saw the great opportunities you have to achieve substantial savings in time and effortand to ensure consistent quality by integrating the tools in your software engineeringenvironment. You can have one unified, automatically synchronized software engineeringand collaboration system rather than silos of tools and inconsistent information andprocesses. The net result of all these benefits is greater synchronization between IT andyour business to deliver enhanced business value to your customer and to provide anadditional competitive advantage. Kovair Softw are, Inc. 1533 California Circle Milpitas, CA 95035 Sales: 1.408.262.0200 Extn. 1 1.408.904.4794 (F) 10