1 / 28

Software Development Needs to radically change

The Open Internet – Open Source, Open Standards and the Effects on Collaborative Software Development September 26, 2005, High Performance Transaction Systems Workshop (HPTS) Dr. Danny Sabbah General Manager, Rational Software, IBM. Software Development Needs to radically change. Why???

Télécharger la présentation

Software Development Needs to radically change

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Open Internet – Open Source, Open Standards and the Effects on Collaborative Software DevelopmentSeptember 26, 2005, High Performance Transaction Systems Workshop (HPTS)Dr. Danny SabbahGeneral Manager, Rational Software, IBM

  2. Software Development Needs to radically change • Why??? • Increasing abstraction and forced integration = forced complexity • The Ugly reality of developing distributed, internet based solutions • The pluses and minuses of Moore’s Law and Cheap and pervasive interconnection • Mass Adoption (individual computing) meets Mass Interconnection (internetworking) • How??? • Rethinking modularity and granularity of software • Increasing focus on ‘decomposition’ for re-composition • Leveraging network effects introduced by Open Source development methodology • Open Source development is not just about ‘Open’ Source

  3. Technology innovation and long-term public policy shifts are consistently destabilizing the marketplace (and it’s accelerating) • Technology systematically reduces interaction costs and extends global reach • Constant worldwide public policy shifts alter regulatory climate and promote or discourage competition • In a world where speed through IT automation is now largely assumed Source: Creative Destruction, Richard Foster Destabilizing forces converge to significantly intensify global competition

  4. How Moore’s Law and Unlimited Bandwidth play: • As environmental and economic factors (globalization, risk management, innovation), force CONSTANT, accelerating fundamental business change (processes,deconstruction/refocus, partnerships) • Chaos results from conflicting goals from multiple generations of ‘captured intelligence’ in the form of code/business rules mixed in with new generations of assumptions (Mainframe to C/S to Peer distributed – and variants) • Technology adds to disruptive forces unless properly managed and accounted for. NO ONE starts from SCRATCH. Software EVOLVES. • The unintended side effects of Moore’s law can become a curse to innovation if an organization’s Information technology isn’t allowed to advance at the same rate.

  5. Mainframe PC/NT apps Unix apps Vendor Setup 3rd Party Interface Vendor Process Servers Maintenance Budget (Imaging) Analysis Tool Printer S20-Sales Maintenance Polling Printer PO Insertions S01 - Sales AIS Reports Orders Corrections AIS Calendar I06 Warehouse Due Dates Print Costing Management General Invoice App Depository Broadcast Maintenance Stores & Mrkts Banks Filter Smart Plus I17 Customer Perceived M03 - Millennium 3.0 Smart Plus UAR - Universal Account In-Stock NEW Soundscan Sterling VAN Launcher Reconciliation NPD Group Roadshow Mailbox (Value) Mesa Data AIG Warranty Guard I03 Return to I13- Auto I15 Hand Scan Vendor Replenishment M02 - Millennium S06 - Credit App I06 - Customer Apps Order P15 EES Employee Change Notice L02-Resource E13 Scheduling Fringe PO E3 Interface E01-EDI (Campbell) P14 On-line New Hire Entry S04 - Sales Posting S07 - Cell Phones P16 - Tally Sheet D01 Post Load Billing P09 - P17 Cobra Cyborg Equifax CTS Stock Options S09 - Digital I12 Entertainment Satellite Software Prodigy System A04 - Cust L01-Promo Refund Chks 1 Analysis Banks - ACH and Pos to Pay AAS Plan Administrators V02-Price Resumix P01- B01 - Stock Spec Source (401K, PCS, Life, Marketing Washington, Employee Status SKU Tracking Unicare, Solomon Support RGIS, Masterfile Smith Barney) Ntl Bus Systems Frick S11 - ISP CTO2.Bestbuy. Co Tracking I10 Cycle Physical com I04 Home Inventory ACH Deliveries I01 PO V04-Sign Receiving System Scorecard - HR U18 - CTO I02 - POS X92-X96 Transfers Host to AS400 S03-Polling Communication I11 Price I09 Cycle Counts Testing Supplier S08 - Vertex Compliance S02 - NPD, Intercept Sales E02-Employee Layaways SoundScan Tax Purchase Spec Source SKU Performance V03- Mkt Reactions L60 MDF P09 Coop G02 - General I05 V01-Price Management SKU Selection Bonus/HR Ledger Inventory Info System Tool I35 - CEI K02 Customer Repair ASIS Arthur Planning I35 Early Warning Tracking System I18 Rebate SKU Rep Transfer I55 SKU I07 Purchase Information Store Order Ad Expense ELT Monitor PowerSuite Store Scorecard Journal Entry Tool Kit Sign Texlon 3.5 A05 - AP System NARM I14 Count Corrections Store Budget Reporting INVENTORY CONTROL APPS - PC INVENTORY CONTROL APPS - PC ACCTS REC APPS - PC Valley Media Code Alarm DPI/CPI 990COR B02 Merchandise Debit Receivings OTHER APPS - PC IC Batching U16-Texlon Bad Debt CopyWriter's Analysis Devo Sales AP - Collections/Credit Inventory Adj/Count Correct BMP - Bus Beneficial Fees Display Inventory TM - Credit Card DB Inventory Control Reports Workspace Beneficial Reconcile performance Mngt In Home Inventory Levels JEAXF EDI Junkouts Inventory Roll JEBFA Coordinator Merchandise Withdrawal Merchandise Withdrawal JEBKA PSP Promo Credits Open Receivings JEDVA Merch Mngr Approval RTV Accrual PI Count Results JESOA Batch Forcasting Shrink PI Time Results from Inv JEVSA AIMS Connect 3 AP Research - Inv Cntrl Price Protection JEVSF Ad Measurement AP Research-Addl Rpts Sales Flash Reporting NSF AIMS Admin In-Home Book to Perpetual Inventory Shrink Reporting TeleCredit Fees Data Warehouse Close Out Reporting Repair SKU Gross Margin Connect 3 Connect 3 Cellular Computer Intelligence Data SKU Shrink Level Detail (Interfaces to and from the Reports PDF Transfe Rollover Count Corrections USM Data Warehouse are not AIMS Cross Ref for VCB Dnlds VCB Downloads displayed on this diagram) Ad S05 - House Reporting Warranty Damage Write Off Launcher Charges Billing Debit Receivings DFI Vendor Database System Display Inventory Reconcile US Bank Recon Prepared by Michelle Mills Optika Display Inventory Reporting File C02 - Capital Projects ICMS Credit SiteSeer Cash Receipts/Credit F06 - Fixed Misc Accounting/Finance Apps - PC/NT Assets COBA (Corp office Budget Assistant) Star Repair PCBS(Profit Center Budget System) Cash Over/ Short Merchandising Budget IT Software Engineering Realities

  6. Unraveling the Chaotic Mess of conflicting abstraction and undifferentiated monoliths • I see 2 major dimensions: • Modularity for the Internet age: Very Loosely coupled architectures and systems focusing on largely ‘declarative’ I/F’s based on OPEN standards (necessarily stemming from the Internet) -- Decomposable Systems • Standards, Standards, Standards…. For interop NOT portability • Commonly termed “Service Oriented Architectures” based on XML and Web Services standards • Only made possible by the ‘positives’ in Moore’s law (i.e. no one in their right mind would have suggested this 10 years ago) • ‘The discipline of Programming in the Very Large’ through internet community growth and governance (e.g. Open Source Communities governed by meritocracy) • Meritocracies force minimal design and controlled extensibility.. A form of collaborative innovation • Exposure early and often forces accountability and better quality • Establishing pervasive, default distribution for STANDARDS

  7. ‘Open’ Computing: Staying Open for Business Goals of openness: • Flexibility • Resilience • Avoid limiting network effects • Maximize freedom of action and innovation Open standards: • Promoting interoperability by using open published specifications for APIs, protocols and data and file formats Open architecture: • Building loosely coupled, flexible, reconfigurable solutions Open source software: • Leverages community development and collaborative innovation • Optimizes network effects and ‘minimalism’ in design

  8. Controlling/minimizing Complexity • Large, monolithic systems and packaged apps are the result of uncontrolled, undisciplined experimentation driven by quickly dissolving software business models • Persistent software systems (OS’s, Middleware, P. Apps) must practice controlled evolution with simpler, decomposable designs. • Software Components must be driven to ‘just enough’ • This is Hard! Simple does not mean ‘simplistic’: • “Designs should be as simple as possible, but no simpler” • This applies to all ‘aspects’ of systems designs: internal and external

  9. The ‘Open’ Proposition: Industry business models must change Letting Go of Control Change From “Control” To “Sustained Value Add” • Benefit from network effects • Use economy of scale • Increase availability of skills • Increase Speed of Innovation • Own standard • Own customer relationship • Control price • Control pace of development

  10. Emergence of Open Source Software communities are being fueled by: • Internet based cost efficiencies and near universal connectivity • Standards • Efficient collaboration/community tools (email, Wikis, newsgroups, Collaborative Development platforms) • Social aspects • Emergence of “good enough” programming models (Occam’s razor at work) • Perception of innovation opportunities • Alignment of Interests (commercial and strategic): Development expense subsidy and incumbency disruption • Growing commercial acceptance

  11. Community Types There are two major open source community archetypes, though most projects have some characteristics of both: • Voluntary model • Apache, Linux projects. • 46% do not earn any money for their participation, 16% paid to develop; 18% paid to administer; 12% paid to support it; 26% indirect financial comp • Projects such as Apache and Linux that started out as pure voluntary model are trending towards a greater commercial aligned interests model and now have the majority of their code contributed by professional commercial developers • Vendor-initiated model • Eclipse, Open Office, Ingres, for example • Often used for establishing or diverting ecosystem vitality • Initially dominated by donor company • May mature to broad based aligned interest model • May have direct or indirect business model plays • Vendor initiated projects may take on greater voluntary model aspects as they mature

  12. IBM Open Source History/Involvement • 1999 - 2001 • IBM forms Linux Technology Center – contributions to serviceability, performance • Leads Apache XML projects Xalan Xerces, SOAP • Forms Open Source Steering Committee • Creates OSI-approved IBM & Common Public Licenses • Participation in Mozilla • Participated in founding of Eclipse • 2002 • Linux contributions to scalability (8-way+), reliability (stress testing, defect mgmt, doc) • Leads Apache Web Services projects WSIF and WSIL • Leads Eclipse projects GEF (editing), EMF (modeling), XSD (XML Schema) • IBM contributes eServer support for Globus Toolkit 2x • 2003 • IBM and SuSE achieve EAL2+ Common Criteria security cert • Leads Apache projects Pluto (Portlet API) and WSRP4J (Remote Portal) • Leads Eclipse projects Hyades (testing), AspectJ, Equinox rich client • Globus Toolkit 3 contributions for OGSA, OGSI • 2004 • IBM and Novell/SuSE achieve EAL3+ and Common Operating Environment compliance • Linux additional RAS • Incubates Apache project Derby (Cloudscape Java database) • Dialog components to Apache Jakarta taglibs • Eclipse becomes independent org – IBM contributes UML2, Web Tools, Voice Tools and eRCP • Globus Toolkit 4 to be WS-I compliant 2005 • Contributions to Xen hypervisor, Linux accessibility • Contributions to Apache WSDL4J 2.0 (Woden), Web Services Security • Database extensions to PHP • Redeploy 30+ developerWorks projects on SourceForge.net • IBM pledges 500 US patents to OSS • Geronimo commitment; purchase of Gluecode IBM contributes to 150+ OSS projects Morethan 1000 developers involved in OSS projects IBM leads 80+ OSS projects

  13. An Example: Eclipse Eclipse continues gaining popularity and a broad community • Eclipse formed as an independent organization in February 2004, establishing scalable governance model for Open Source projects and commercial participation • There have been over 18 million download requests since 4Q2001 that we can track (many more that we don’t) • By attracting more subprojects and third party contributors, the Eclipse community is establishing a de facto standard for an Integrated Development Environment • Founding strategic developers and strategic consumers are Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP, and Serena Software • Over 30 companies are committed to Eclipse via IBM WebSphere Studio WorkBench • There are over 40 Eclipse add-in providers, including Borland, Novell, Oracle, Red Hat, VA Software, webMethods, and Wind River • More than 175 tools vendors are delivering tools for the Eclipse platform

  14. Lessons Learned: Not all Open, Collaborative projects Succeed Critical Factors for a successful Commercial Open Source Community • Business perspective • Must provide “perceived value" to end customers • Active sponsorship and marketing by 1 or more significant sponsors • Solid overall vendor support • Critical skills available and actively engaged • Long-term plans for improvements - plans, design, development, test, documentation; rigorous IP policies • Developer perspective • Passionate interest in developing and enhancing code • Significant overlap between set of users and developers - common wavelength • Personal rewards - able to build status and recognition in developer community • Diverse, interactive community • Strong overall project/code leadership (e.g. Linus Torvalds -Linux)

  15. Licensing: Can Open Source Software co-exist with Commercial Software? YES • Most (not all) open source software licenses allow combination and distribution of open source software and Commercial source code under a commercial license. • Some commonly encountered open source software licenses (BSD, MIT, X11, Apache) don't require modifications to original open source software to be published upon redistribution. • GPL allows commercial applications to be built on top of Linux to remain commercial • Application can be licensed under commercial license of choice. • No need to disclose source code of such applications. • LGPL Libraries can be dynamically linked to arbitrary commercial code • No requirement to release commercial code under LGPL. • Decision to use open source software is just another business decision with risk/reward tradeoff • License terms need to be understood before beginning to work with open source software .

  16. Internal Community Source (Open Source) Model • An open source-style development environment where consumers can contribute code to shared components • Producers get • Collaboration • Broader testing and tuning • More folks using their code • Consumers get • Fast access to capabilities • Ability to invest to tune to a unique specification • Broader testing and tuning

  17. Internal Development Community Community Source: Open Source Within IBM • Provides a collaborative environment accessed via a Web-based portal for shared, distributed development and testing; 225+ projects to date engaging 3,000 developers • Controlled “white box” approach for development of component software • Explore shared development of components intended for reuse • Seeded by respective development organizations Key Features: • Access Control • Product builds, fixes and test drivers • Discussion Forums • Reference information (API specs, programming documentation, education, demo, etc.) • Defect Reporting • Feature Requests • Code Storage and Version Control Benefits • Encouraging reuse over reinvention • Improving information flow between teams (availability of source materials, decisions and discussions) • Leveraging broader IBM community skills (technical and non-technical communities) • Improving quality through peer reviews and user feedback (defects and forums) • Positively impacting our ability to deliver more function on shorter schedule (collaboration and contribution) • Most valuable assets get the most attention (based on reuse) • Facilitate development

  18. Community Source Infrastructure: How? • Register the project, meeting established criteria • Set up mailing lists and forums • Establish Project Leads & Committers • Publish materials, which may include: • Source (logic, test cases, binaries) • Documentation, specs • News, bulletins • Education materials • Patches, fixes • Build an interested community • Process requirements and contributions

  19. Community Source Infrastructure: Who? Contributors: Developers who submit code changes through committers • Provide additional testing • Provide additional documentation • Submit patches and features • Submit requirements • Help fulfill consumer requirements Committers: Developers with write access to the repositories • Often the Project Leaders • Write/update source materials • Control code contributions from contributors

  20. Community Source Infrastructure: Who else? Project Administrators: Individuals responsible for enabling and regulating the smooth operation of the project • Operations and access control • Sets up mailing lists and forums • Publishes news and announcements Users: Reviewers of source materials and documentation • May submit defects or feature requests • May be non-technical • May participate in discussion forums

  21. IBM Internal Open Source Bazaar(IIOSB) Community SourceIBM Product Licenseand SWG projects IIOSB Non-IBM confidentialprojects 2005 IBM Product License zone Projects – Community Source GForge GForge SourceForge Enterprise Community Source Background • IBM Internal Open Source Bazaar (IIOSB) was established January 2000 • Community Source became a subset of the IIOSB around August 2002 • Community Source has been referred to as the “IBM Product License zone” in IIOSB • Community Source was moved out of IIOSB infrastructure to its own dedicated server at the end of June 2005 • Today based on open source, collaborative development infrastructure • Alphaworks and DeveloperWorks offer technology preview and an IBM open source infrastructure available for outside participation since 1999

  22. Measuring Community Growth New Registration Measuring Usage & Leverage Site-wide Function Usage Executive Summary: Statistics & Measurements • Important Community Source statistics as of August 15, 2005: • Active project count on Community Source: 224 • 07/15/05-08/15/05: 33 new project registrations approved • Active member count on Community Source: 3,014 • Most active projects (> 50% activity level*): 17 projects *Note: Activity level refers to the site-wide project usage of the key Community Source features (tracker, CVS, patch, file publisher etc.)

  23. Community Growth Information Sharing Source Code Development Production Environment Service & Support Mode Project Pattern Usage 1 ….. 2 ….. 3 ..… 4 ..… 5 % Projects Using Function

  24. Community Source Example: Constellation Project • Created to address the need to componentize the IBM Software Development Platform Toolset • Scope • For Caspian focus is (Rational Application Developer, WebSphere Integration Developer, WebSphere Business Integration Modeler, Rational Software Architect) • Cross product usage pain point for Atlantic • High degree of overlap and lack of reuse • Goals: • Create an internal open source environment (modeled after eclipse) • Governance • Rules of Engagement • Define a set of common tools and processes • Status: • Established cross brand Project Management Committee • Created component inventory working closely with WebSphere Integration Developer • Set of component classifications/layers • Sizing component recommendations for Caspian plan

  25. Building the Community… SWG Developers Portal Developers Workplace Developers Portal Customized info by role Developments tools integrated with Web Integrated with individual teamrooms/intranets Developers Intranet Collaborate Recommend resources Locate experts Share content with other portals Find resources Learn strategy “How to” integrate crossbrand Share components/plans

  26. Eclipse Client Local data WorkItems Build Reporting/Health RAS Requirements Test Planning Guidance … Filesystem/VCM Vertical Client Plug-ins Tomcat/Geronimo->WAS ND ->WAS XD Team Bench awareness, team places UI, collaboration Project Client API/Extensibility Web Services Web/Portal Admin WorkItems Build Reporting/Health RAS Requirements Test Planning Guidance … Filesystem/VCM Cloudscape ->DB2/Oracle/… Project home Vertical Server Plug-ins Proj. Health Communication: wiki, blog, etc Relational data Platform API/Extensibility Project Team Server Workflow Search Collaboration Login/ACL Vertical Web UI’s …. Notification Query Persistence

  27. Platform Goals and Services • Network effects/pervasive integration – Global development • Simple but scalable deployment and management • Significantly Improved Communication and collaboration (human and agent) • Basic interoperability with selected external solutions to ease evolution and integration • Loosely coupled workflow with fine grained security – peer to peer distribution model • Fine grained, configurable components through plug-in extensibility architecture • Out-of-the-box schema, metadata, metrics, process, views, roles, security model

  28. Summary • Business models must adapt to survive in today’s business environment. Openness fosters adaptability and flexibility. • Software Development must promote greater ‘experimental’ discipline, incorporate finer modularity and leverages community based feedback/innovation • Letting go of control and loosening the reins on the development environment leads to greater innovation and business value. Programming in the large must become programming in the VERY large over internet protocols and standards • Fostering community source projects can speed development and ultimately, result in greater advances for the organizations. Even for proprietary software. • Commercial, open source and hybrid software models all deliver distinct value to the marketplace. They are leading to the emergence of new software business models

More Related