• Save
Commercial of the shelve software
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Commercial of the shelve software

on

  • 1,365 views

 

Statistics

Views

Total Views
1,365
Views on SlideShare
1,363
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 2

http://www.slideshare.net 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Commercial of the shelve software Presentation Transcript

  • 1. Commercial -of-the-shelves R.H.W. Claassens, 2001
  • 2. Table of content
    • Introduction
    • Evaluation of COTS-intensive systems
    • The certainty of uncertainty
    • Conclusion
  • 3. Sources
    • [R1] How COTS Software Affects the Design of COTS-Intensive systems , Kurt C. Wallnau, David Carney, Bill Pollak. SEI, 1998 ( http://interactive.sei.cmu.edu/Features/1998/June/cots_ software/Cots_Software.htm )
    • [R2] De beloftes van component based development, Informatie, september 2000, vertaling en bewerking van ‘Component Based Development’ in Xootic Magazine, January 1999
    • [R3] Are COTS products and component packaging killing software malleability?, Jeffrey Voas, 1998 ( http://www.cigital.com/presentations/icsm98/sld001.htm )
  • 4. What are COTS software components (or Objects) ?
    • A “Chunk” of software functionality obtained from a third party that is used on an “as is” basis
      • Terminology
        • COTS (Commercial-of-the-shelf)
        • OTS (Off-the-shelf)
        • NDI (Non-developmental item)
        • CAS (Commercially acquired software)
        • Third-party
        • Public-domain/ OSS (Open Software Sources)
        • ASP (Application Services Providing)
    A kind of Reusable components… Acquired Source : [R3]
  • 5. Why COTS software components ?
    • Productivity
      • 10 line of code per day
        • (includes other non-coding efforts)
        • [source : “Forget the huddled masses: send nerds”, Business Week July 11, 1997]
    • Time-to-Market
      • One month of slippage can result in high percentage lost market share
    • Size : Applications > 100.000 SLOC are commonplace
    • Mandates
    • Philosophy
      • Designers builds systems around available components from catalogues
    Source : [R3] (SLOC = Source Lines Of Code)
  • 6. Build, Buy and Blend Time-to- Market Flexibility High Slow Low High Develop from Scratch Packages Busines Process Components Application Templates Source : Gartnergroup
  • 7. Productivity through Component reuse = Bought/ Subscripted = Built = Wrapped Legacy Package TC TC BC BC BC BC BC BC Application B Application A Application C Application D TC = Technical component BC = Business component Source : Gartnergroup
  • 8. A Spectrum COTS-based Systems COTS-Based Systems COTS-Intensive Systems (CIS)
    • One substantial product (suite) is tailored to provide a “turnkey” solution
    • Generic solutions; very tightly coupled to business process
    • Tailoring, parameterization focus
    • Vendor maintain
    • Take the vendor infrastructure
    • You adapt to the tool
    • Many integrated products provide system functionality
    • Probably more flexible to business process change/creation
    • Integration, engineering focus
    • You maintain
    • You own infrastructure
    • More complex to maintain
    Source : [R1] COTS-Solutions Systems (CSS)
  • 9. COTS-Solutions Systems
    • A COTS based solution system is an off-the-shelf solution to some enterprise-level business need, such as:
    • Product data management
    • Enterprise resource Planning
    • Workflow management
    • Financial planning
    • Manufacturing execution
    • Characteristics :
      • Well bound range of business processes
      • Sufficiently large market segment to justify the COST of developing the COTS product
    Source : [R1]
  • 10. Simple life cycle for COTS-intensive systems P P P Cots market Qualify Adapt Assemble Examine which product ? Select which product ? Use which product features ? Insulate which products ? Which design gets the most from the products ? Which design best meets market ? Upgrade the product? Switch to compelling technology ? Switch to competing technology ? Source : [R1] Update
  • 11. Table of content
    • Introduction
    • Evaluation of COTS-intensive systems
    • The certainty of uncertainty
    • Conclusion
  • 12. Evaluation is ubiquitous across the COTS life cycle P P P Cots market Qualify Adapt Assemble Update Evolution does not only appear in the step, where products are qualified and selected… In each of these activities there is an element of choice, decision, and selection and hence of evaluation   Source : [R1]
  • 13. Evaluation
    • Evaluation COTS products for use in COTS-intensive systems is far more complex and difficult than evaluating a single COTS product (COTS-Solutions Systems)
      • These theme’s wont work
        • Evaluating a product is a one-time activity, with several products compared against a common set of (usually weighted) criteria
        • Evaluation is a form of acceptance testing, where requirements are specified and products are evaluated for conformance with requirements
        • Evaluation is disconnected from the design process
        • A common, standard practice of evaluation can be defined in a process and re-applied for all COTS software evaluations
    Source : [R1]
  • 14. Two Extreme roles of evaluation Define all characteristics of all product we might select “ Pick a horse and ride it until its legs fall off” -Buy something that looks like it might work, and use it as long we can - In the design of COTS-Intensive systems Is more common; Surprisingly, it is the less risky of the the two extremes I) II)
    • Large-scale COTS intensive systems necessitate quick decision making. We must learn to make COTS decisions:
    • Quickly
    • With readily obtainable information
    • Throughout the design activity
    • With an appropriate degree of rigor
    Source : [R1]
  • 15. How COTS software influence the design process
    • 5 ways in which COTS software influence the design of COTS-intensive systems
      • Formative evaluation (e1)
      • Ensemble evaluation (e2)
      • Continuous evaluation (e3)
      • Business evaluation (e4)
      • Exploratory evaluation (e5)
    Source : [R1]
  • 16. Formative evaluation (e1)
      • Formative evaluation is the opposite of normative evaluation
      • The normative idea that a COTS product will comfortably slide into a predetermined system architecture is naïve; COTS products can and often do have substantial influence on system design
    Source : [R1]
  • 17. Design and decision making Future commitments Current commitments Fielded Time Number Of Commitments Source : [R1]
    • Design involves an accumulation of commitments
    • Each commitments leave some options, forecloses others
    • Design decisions involve a tradeoff between these
    • Evaluation is the tool used to perform tradeoff analyses
  • 18. An evaluation timeline Future commitments Current commitments Fielded Time Number Of Commitments Source : [R1] Different evaluation approaches are needed depending on when in a system life cycle a commitment is made Evaluation
    • Multiple objectives
    • Unstable requirements
    • Many unknowns
    • Design
    • Well-defined objectives
    • Firm requirements
    • Technical certainly
    • Acceptance Testing
  • 19. Formative evaluation Future commitments Current commitments Evaluation Formative Context Normative Context Fielded Time Number Of Commitments - Formative vs. normative evaluation Source : [R1]
    • Late in the design process most decisions have been made
      • Hence normative evaluation : product “acceptance testing”
    • Early in the design process unknowns dominate knows
      • Hence formative evaluation : design to capabilities of products
  • 20. Formative vs. normative evaluation
      • When the formative context is dominant, evaluations tend to be
        • Focused narrowly on a few criteria because there are fewer “knows” to constitute a basis for normative evaluation
        • Concerned with the implications of decisions on future decisions
      • When the normative context is dominant, evaluations tend to be
        • Focused on a broad range of criteria (there are more “knowns”)
        • Concerned with the consistency of decisions with past commitments
    Future… … Past Source : [R1]
  • 21. Ensemble evaluation (e2)
      • The second way in which COTS software influences the design process in COTS-intensive systems is by creating a need of assembly process
        • By assemble we mean a collection of products that act together to achieve some desired system capability
    Source : [R1]
  • 22. Real-life example
    • A call center solution
  • 23. Example : A call center solution `` Backoffice out in PBX VOX6110 Aspect/ CTI Banking system CRM-2 CRM-1 Fax Server Edge / VSI PSTN Voice logging RIS for Windows + DDE ODBC+files ActiveX Email Server t.b.d. Voicemail Server Aspect ACD Aspect Campaign Mngt SMTP c c IVR ? Softdialer Edge Agenda planner MS Exchange Locator MS Access Knowledge Digidoc/IIS MS SQL server Dialog scripting Edge C-tree HTML ActiveX uit files files TCP/IP sockets Aspect/ CTI Additional Email management functionality is required Internet Aspect Nicelog
  • 24. E-mail (response) Management System Email Or Webform Respons management Content analyses Content Tracking ERMS Outputs Auto Acknowledgements Fully automated response Autosuggest response CRS Customer Information Repository Source : Gartnergroup Email Server
  • 25. The essence van “Customer Relationship Management” The right message on the right moment !! Which value added has the customer for your company ? Which experiences did the customer have had with your company ? Who are your customers ? In which product purchasing is your customer ? In which type of products is your customer interested ? In which state of life is your customer ? Know your customer Customer
  • 26. Gartner Report (some fragments) The Transformation of ERMS and E-Service 24 January 2000 Donna Fuss Through demand will increase for applications that assist with managing customer e-mails, the majority of standalone ERMS vendors will leave the market by 2003…… … .. … .We expect 98 percent of the stand alone ERMS vendors to be out of the standalone ERMS vendors to be out of business by 2002 (0.9 probability) because customers will no longer be interested in addressing e-mail and will be unwilling to do the integration. Bottom Line : ERMS continue as good tactical solutions, but remain mostly no strategic because the vast majority are not integrated into more-complete, front-office-servicing suites, which are required to provide a complete new view of the customer through multiple channels. Prospects looking into address today's pain point should invest in an ERMS, but must understand that this investment is outdated within two years and that they are responsible for integration ` Update < 2 years
  • 27. 71 Brightware Number of customers N/A Cisco/Webline 200 eGain 50 eShare 85 General Interactive 50 Genesys Labs / Alcatel N/A Interactive Intelligence 200 Kana 50 Lucent Technologies 225 Mustang 9 Octain Software 75 Quintus/Acuity 81 RightNow Technologies 22 ServiceSoft 65 SRA International 3 6% Market share 17 % 4 % 7 % 4 % 17 % 4 % 19 % N/A 6 % 7 % 2 % 6 % Not statistical relevant Comments Cisco’s E-Mail Manager 3.0 available 11/99 eShare NetAgent Re-Sponse became available in 09/99, 10 to 20 customers in production Has a base of 300 customers; announced eFAQ product for e-mail response management in 11/99 Sold 75 in 4Q99 Released e-Mail Starter Pack Claims 150 users of Webcenter product; 125 resulted from Acuity acquisition; GartnerGroup estimates based on 23 percent of hosted-customers Claims 350 customers on a hosted or nonhosted basis; email users estimated based on 23 percent of hosted customers using email As of 09/99 Consulting firm created an ERMS product Release 1.0 available 09/99; release 2.0 was due 12/99 Webtone Technologies Vendor ERMS Vendor and Market Share Example of an ASP solution
  • 28. Customer-service-and-support (CSS) CRM products Siebel Clarify Vantive Silknet Octane Chordiant CorePoint Oracle Ability to execute Completeness of vision IMA ERP High Low Low High Source: Gartnergroup, March 2000 “ Magic quadrants’ compare products in terms of two high level criteria”
  • 29. What’s under the covers – Suit or interfaced bundle ? 1) An interfaced Best-of-breed solution Vendor X Vendor Y Vendor V Vendor Z Vendor V Vendor V 2) Interfaced Application Bundle 3) Best of Cluster
  • 30. Overlappings Gaps Functionality GUI CONTROL ENTITY Functionality problems Can overlapping functionality be switched off ? How can the gaps be filled in ? Do Layering structures fit together ? Do the security en authorization models fit together ? Problems
  • 31. Example : A call center solution An additional Email management COTS-solution can lead to additional redundancy in data and functionality Multi-channel Front-office Outbound Inbound FAX Post IVR Web Assist Me Telephone Email GEA Office Visit Current Front-office applications
  • 32. different interface Interface lacks Openness GUI CONTROL ENTITY Connectivity problems Problems DCE ? Corba ? JAVA RMI ? SOAP ? SQL ? XML ? DDE ? OLE automation ? DCOM ?
  • 33. Example : A call center solution The Additional Email management functionality must be integrated with the current call center functionality Windows-server Edge software architecture Edge server Windows-client (1) Windows-client (2) Edge client proces (1) Edge client proces (2) SQL Database Edge server proces Edge Terminal Server Edge Terminal Server screen display protocol ODBC client events protocol Read, load or mutation of tables via database tools, API’s and/or ODBC TCP/IP-Socket ActiveX Client/server C-libraries Edge server proces Windows-server Dcom Server ActiveX CTI A prosible bridge to other communicatie protocols Application ActiveX HTML Browser HTML Server HTML Presentation Interface Function Interface Data Interface Type of interface DDE, ActiveX, HTTP/HTML, TCI, TCP/IP-sockets, DCOM, MQ/XML ODBC/SQL Protocol Interfaces and protocol ? DDE
  • 34. Continuous evaluation (e3)
      • The third way in which COTS software influences the design process in COTS-intensive systems is by creating a need of a continuous evaluation
        • Performing product evaluations earlier in the life cycle means dealing with incomplete information – requirements and design are also less stable
    Source : [R1]
  • 35. Evaluation in refined context Time Number Of Commitments Source : [R1]
      • Time is an important element in evaluation
      • Design is not a steady state activity
      • New information may be introduced from outside
      • Previous decisions generate constraints for successive decisions
    Formative outcome of initial evaluation Normative elements of successive evaluations Eval Eval
  • 36. Time P1 P2 P3 Eval Eval    Eval    Eval   Eval   Design Alternatives Final Decision Needed here Re-evaluation in Constant context Re-evaluate new product Releases with constant criteria Source : [R1]
      • Design is not a steady state activity
      • New information may be introduced from outside
      • Previous decisions generate constraints for successive decisions
  • 37. Eval Eval Eval Eval Eval Evaluation and design strategy
      • No single evaluation strategy will work under all settings
      • The choice of an evaluation strategy is an outgrowth of an overall design strategy
      • A range of evaluation techniques is required to accommodate different design strategies
    Market Survey Design for COTS Product selection Eval c c c Eval Eval Eval Eval Eval Market Survey Eval c I) II) Time Time Source : [R1] Design for COTS c Product selection c
  • 38. Product Assessment Factor (1) Current released version of the product fully meets our requirements Current released version of the product meets most of our requirements. Future version fully meets requirements. Current released version of the product must be modified (by either the vendor or us) to meet our requirements. Functionality Product fully meets performance requirements for system. Product nearly meets performance requirements and shortcomings are not critical, or will be met in future versions or with hosting on faster hardware. Product does not meet performance requirements in critical areas (e.g., transactions/second). Performance Product is available on target platform and hosted on other platforms that may be required in future. Product is hosted on single platform required by system —not hosted on other platforms Product is not currently hosted on target platform — may be in future. Platforms Product meets security requirements for project. Product meets most security requirements for project —others can be handled procedurally or using other means. Current version of product will not handle security requirements of the project. Security Product meets security requirements for project. Product meets most security requirements for project —others can be handled procedurally or using other means. Current version of product will not handle security requirements of the project. Security Product is stable and has proven itself over time with its customer base. Product can handle error situations gracefully and recover. Product has occasionally errors but none will result in data loss or other critical problems. Product has errors that result in data loss, work lost, system crashes, etc. Reliability Low Risk Moderate Risk High Risk Example Of Product Evaluation List Product Assessment Factor (1)
  • 39. Product Assessment Factor (2) Product has an easy to understand interface and requires modest training. Can handle a range of users —from novice to expert. Product requires some training to use properly Product has difficult user interface and requires training for users to become proficient. Usability Product can interface to other products and can be controlled by custom code. Product has some capabilities to interface to other products and custom code. Product is closed and does not work well with other products and custom code. Openness Vendor provides 1-2 optional point releases per year and requires a major release every two years to stay supported.  Vendor requires a major release at least every year to stay supported Upgrades User manuals and support documentation are of extremely high quality. User manuals and support documentation are of adequate quality User manuals and support documentation do not exist. Documentation Product cost has minimal impact on overall system (e.g. little or no reduction or modification of requirements)Product costs up to 50% less than similar products Product cost has moderate impact on overall system (e.g., low to moderate priority reqmts delayed)Product costs within 10% of market average for similar products. Product cost has major impact on overall system (e.g. cost magnitude forces critical reqmts delayed) Product costs up to 50% more than similar products. Cost Low Risk Moderate Risk High Risk Example Of Product Evaluation List Product is stable and has proven itself over time with its customer base. Product can handle error situations gracefully and recover. Product has occasionally errors but none will result in data loss or other critical problems. Product has errors that result in data loss, work lost, system crashes, etc. Reliability
  • 40. Business evaluation (e4)
      • The forth way in which COTS software influences the design process in COTS-intensive systems is by creating a need of business evaluation
        • Selecting software means selecting a supplier, and software designers are often ill equipped to undertake the nuanced business analyses necessary to make such selection successfully. COST-product selection is just a much decision about business relationships as it is about system functionality
    Source : [R1]
  • 41. Vendor is established company, with quality workforce and facilities. Can attract and retain necessary talent. Vendor organization still fluid, with changes to staffing, work program and facilities. May be in high growth situation. Company is start-up and situation is highly dynamic. Organization Background Low Risk Moderate Risk High Risk Vendor Assessment Factor(1) Solid market position for vendor. Viewed as one of the leaders. Vendor is known in the market or is new entrant that is quickly becoming established. Vendor is not known in this market. Market Position Vendor is working in a market that is well established. Vendor is working in a market that experiencing moderate growth or change. Some vendors will be bought by others Vendor is working in a new market —a volatile situation where products and players are not yet established. Early leaders are often in fleeting positions of market dominance. Market Volatility External reviews from objective sources consistently give high ratings to the vendor’s products. External reviews of the vendor’s products are mixed. The vendor received multiple external reviews that indicate problems with product quality, schedule, etc. External Reviews Vendor has strategic partnerships with several other vendors with complementary products and services. This may provide other opportunities to use COTS. Vendor has a few partnerships, some may be too early to determine strategic utility. Vendor has limited or no partnerships. Partnerships Vendor has solid financial situation, including growing revenue stream, strong ratings. Vendor has a mixed financial picture. May have strong revenue stream but no profit margin. Vendor has financial problems, such as poor credit, low revenues, low profit margin or ROE, etc Financial Example Of Vendor Evaluation List
  • 42. Easy to gain insight into future business direction of vendor. Easy to access key personnel at vendor. Some insight into future direction of vendor. Can access key personnel some of the time. Future business direction of vendor is unknown and access to key personnel is difficult. Access and Visibility Low Risk Moderate Risk High Risk Vendor Assessment Factor(2) Example Of Vendor Evaluation List
  • 43. Business/Technical Evaluation Number Of business Commitments Number Of technical Commitments Time Source : [R1]
    • Evaluation of business and technical aspects involve different skills
      • Usually performed by different people, often at different times
    • A significant risk is when artificial domination of business or technical making occurs
    Effective CIS design will maximize this overlap - and will allow one to inform the other (if not to permit tradeoff between them
  • 44. Exploratory evaluation (e5)
      • The fifth and the last way in which COTS software influences the design process in COST-intensive systems is by creating a need of exploratory evaluation
        • We need to ensure that evaluation does not depend on perfect and complete product knowledge
        • We also need to ensure that the design activity can take advantage of accurate product knowledge at the time it is needed for making decisions (= Just-in-Time Knowledge)
    Source : [R1]
  • 45. Two approaches
    • Make use of product consultants
      • Consultants offer one source of “just in time” expertise
    • Goal directed evaluation
      • Do not focus on implementation requirements
    Source : [R1]
  • 46. Time Eval Eval Eval Eval Eval Goal-directed exploration
      • Time is an important element in evaluation. Over time, new information may be introduced from outside, and previous decisions can generate constraints for successive decisions
    Market survey Feature map Model problem Prototype Opportunity Impact Source : [R1] ? ? ? ?
  • 47. Table of content
    • Introduction
    • Evaluation of COTS-intensive systems
    • The certainty of uncertainty
    • Conclusion
  • 48. The certainty of Uncertainty
    • Understanding of COTS software is limited
      • COTS product exhibit inherent complexity
      • Innovation drives the software markplace
      • Intellectual property (I.e. workings) is hidden
      • Technology evolves quickly and unpredictably
    • Uncertainty has an impact on design process
      • Increases the risk of selection poor products
      • Increases the risk of using products poorly
  • 49. Significant problems
    • Potpourri of Quality Problems…
      • If a system publish by you contains defective COTS components, will your client absolve you of blame for system failures ?
      • Components developed elsewhere may have unknown dependability, security and safety problems
      • Components developed elsewhere are usually delivered in black-boxes. White-box analyses (e.g. coverage Unit-testing) are not options.
      • Components provide no malleability, malleability is necessary for quality improvements to software
  • 50.
      • Avoid COTS altogether. Write your own
      • Ask for independed, (3 rd ) party product certification
      • Go to vendor site and do an assessment
      • Perform system-level testing with the software embedded
      • Depend on: (1) laws to sue COTS publishers, and/or insurance policies for protection if your business suffers after acquired software fails
      • Determine the robustness of your system is the COTS functionality were to fail and then build appropriate middleware wrappers
    Solutions ???
  • 51. Table of content
    • Introduction
    • Evaluation of COTS-intensive systems
    • The certainty of uncertainty
    • Conclusion
  • 52. A popular and often miss-used Explanation
    • The not-invented-here syndrome is the explanation why a software development groups hardly uses COTS-components.
  • 53. Conclusion
    • A more plausible explanation is:
      • A COTS-intensive project is complex and hard to manage, with many unpredictable factors
  • 54. Conclusion
    • On the other hand:
      • The last 10 years there was a substantial growth in the usage of COTS-solution systems
        • But in many cases, this more predictable usage of COTS, did not deliver the expected results
  • 55. Advice
    • Every software acquisition project should consider the use of COTS software component
      • … But you should never underestimate the complexity of the selection and implementation of COTS-software and the associated risks