Techniques for Managing Distributed Software Development, Around the World Gary Long SVP for Product Development  EnterpriseDB Corporation [email_address]
Key Topics Business Aspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges Q&A
A Brief Commercial: EnterpriseDB in a Nutshell EnterpriseDB delivers: EnterpriseDB Advanced Server An enterprise-class relational DBMS Built on PostgreSQL, the world’s most advanced open source database Oracle compatible, scalable and reliable at a fraction of the cost of other solutions Commercial support for standard PostgreSQL Full support subscriptions available from EnterpriseDB Level 3 support for Sun PostgreSQL Professional Services Installation, training, performance tuning for EnterpriseDB Advanced Server and PostgreSQL Remote DBA services
EnterpriseDB Company Facts Award-winning enterprise database software company High-growth private company founded in March 2004; launched May 2005 $28.5M funding, including Fidelity, Charles River, and Valhalla Headquartered in Iselin, N.J.;  offices in 6 countries World’s largest concentration of PostgreSQL expertise More than 120 customers and 60 partners Best Database Award 2005 and 2006
Key Topics Business Aspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
Business Aspects Goal:  To become the market leader in the following markets: Overall DBMS Market By delivering an Oracle compatible database at 20% of the cost Open Source Database Market By leveraging PostgreSQL and continuing to contribute to the core database while raising its profile in the market How? - Disrupt the Market Provide enterprise-class software at a very low cost Leverage Open Source software Make the DBMS plug-compatible with Oracle
Enterprise Customer Needs Why would somebody buy what they could download? Pre-integrated & tested software 24/7 support Commercially-oriented enhancements (even if closed source) Training Packaging/installation Upgrades Integration Reliability Performance tuning Reasonable cost (lower TCO than doing it internally)
Business Enablers Things we needed to allow us to build a business around open source : Solid and mature code base, near feature-complete BSD license … we can choose what to give to the community and what to keep A software market category that … large enterprises are used to paying for is approaching commodity status is often over-priced.
Key Topics Business Aspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
Distributed Development – Why? Leverage a rock-solid open source product such as PostgreSQL.  Use a “follow the sun” strategy for 24x7 support. Keep on-going costs low by using a mixture of onshore and offshore resources. Draw on a world-wide talent pool for effective software development—which is the theme of this session. How can a software development organization manage to build an ambitious software product and provide enterprise-class 24/7 support (for two product lines)?
Problem Scope EnterpriseDB has development labs in the United States, England, India and Pakistan—plus individual developers working from anywhere there’s an Internet connection.  The PostgreSQL   community includes hackers on every continent except Antarctica.
Key Topics Business Aspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
The Cathedral and the Bazaar (1997) In his 1997 essay,  The Cathedral and the Bazaar 1 , Eric Raymond wrote: “ Linux overturned much of what I thought I knew.  I [formerly] believed that the most important software … needed to be built like cathedrals, carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time.   “ Linus Torvalds’s style of development—release early and often, delegate everything you can, be open to the point of promiscuity—came as a surprise.  No quiet, reverent cathedral-building here—rather, the Linux community seemed to resemble a great babbling bazaar of differing agendas and approaches …” “… the Linux world not only didn’t fly apart in confusion but seemed to go from strength to strength at a speed barely imaginable to cathedral-builders.” “ Another strength of the Unix tradition, one that Linux pushes to a happy extreme, is that a lot of users are hackers too. Because source code is available, they can be  effective  hackers.” Linus’s Law: “Given enough eyeballs, all bugs are shallow.” AKA “Debugging is parallelizable”. Raymond also proposed a necessary pre-condition: “It’s fairly clear that one cannot code from the ground up in bazaar style.  One can test, debug and improve in bazaar style, but it would be very hard to  originate  a project in bazaar mode.  Linus didn’t try it. …  Your nascent developer community needs to have something runnable and testable to play with.” 1 http://www.catb.org/~esr/writings/cathedral-bazaar/ 1 2 3 4 5 6
The Ignorance of Crowds (2007) In his provocatively titled article,  The Ignorance of Crowds 1 , Nicholas Carr pointed out that “The open source model can play an important role in innovation, but know its limitations.” “ The open source model has proven to be an extraordinarily powerful way to refine programs that already exist … but it has proven less successful at creating exciting new programs from scratch.” “ First, peer production works best with routine or narrowly defined tasks that can be pursued simultaneously by a big crowd of people. It is not well suited to a job that requires a lot of coordination among the participants.” “ Third, and most important, the open source model — when it works effectively — is not as egalitarian or democratic as it is often made out to be. Linux has been successful not just because so many people have been involved, but because the crowd’s work has been filtered through a  central authority  who holds supreme power as a synthesizer and decision maker.” “ They’re not two different and incompatible approaches to innovation.  Their relationship is symbiotic . Without the bazaar, the cathedral model moves too slowly. Without the cathedral, the bazaar model lacks focus and discipline.” “ The open source model is also unlikely to produce the original ideas that inspire and guide the greatest innovation efforts. That remains the realm of the  individual .” 1  http://www.strategy-business.com/press/freearticle/07204 1 2 3 4 5
Working with the Community EnterpriseDB EDB AS Code pg Code Sun Skype NTT Fujitsu Core Compatibility
Bringing the Open Source Advantage to Enterprises Teams Company-assigned projects SDLC: Waterfall, spiral, etc. Big projects are common Formal inspections Separate test team Massive test scripts Traditional Development Individuals Self-assigned roles, projects Self-formed, small teams No mandated methodology Small patches Lots of “eyeballs” Committers are key Open Source Development Collision?
Traditional or Open Source Development Model? The Best of Both Worlds: Teams include strong individual contributors Large projects are broken into smaller pieces Yes, specs are needed! Spiral builds, testing and phased  releases Inspections provide eyeballs (“white box” testing) Committers are key  (more eyeballs, “white box” testing) Massive test scripts (“black box” testing) Traditional Development Open Source Development
Key Topics Business Aspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
How We Do It Tools we use: Teleconferences over IP Videoconferences over IP Webex CVS (code & doc. repository) Central Build Farm (Islamabad) E-mail News groups & Forums Intranet A ~ common language (English) What we need to do: “ All Hands” company meetings Project communications Peer reviews Software configuration mgmt. Daily builds Daily regression tests Commit patches Preserve “institutional memory” Answer technical questions Track defects
Video Conferencing at EnterpriseDB
Key Topics Business Aspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Challenges & Benefits
Lessons Learned You need multiple tools & techniques to manage this  Videoconferences beat teleconferences (even over the public internet) E-mails do not = institutional memory Webex and video combine well (two screens) Many developers do not use MS-Office!
Challenges (from a manager’s perspective) Getting large initiatives through the community process can be difficult There is less schedule control when the community is involved Interaction between “core” and “product” developers is lessened due to differences in focus  (when it does happen it is appreciated -- the groups do have common business goals, and they learn from each other) It’s hard to arrange things like development off-sites due to the distance between offices and political barriers Political risk in Pakistan Salary inflation in India
Benefits Community attention to  de jure  standards (such as ANSI SQL) combined with commercial attention to  de facto  standards (such as Oracle SQL) results in a broad array of choices for our users: database administrators and developers. Likewise, our own developers have tremendous opportunities to learn. The richness of the Bazaar, coupled with the long-range planning of the Cathedral, seem to be resulting in great things so far. The difference in focus implies different communication webs? “ Yes - which I think strengthens the company in many ways because those webs reach outside of the cathedral, through the bazaar and into a variety of other cathedrals as we work in the community and with groups and individuals within companies like Unisys, Sun, Fujitsu, NTT and so on.” -- Dave Page, PostgreSQL Core Committer at EnterpriseDB
Questions? Gary Long SVP, Product Development EnterpriseDB Corporation (732) 331-1391 [email_address] Q A &
Thank you. Gary Long SVP for Product Development  EnterpriseDB Corporation [email_address]

Os Long

  • 1.
    Techniques for ManagingDistributed Software Development, Around the World Gary Long SVP for Product Development EnterpriseDB Corporation [email_address]
  • 2.
    Key Topics BusinessAspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges Q&A
  • 3.
    A Brief Commercial:EnterpriseDB in a Nutshell EnterpriseDB delivers: EnterpriseDB Advanced Server An enterprise-class relational DBMS Built on PostgreSQL, the world’s most advanced open source database Oracle compatible, scalable and reliable at a fraction of the cost of other solutions Commercial support for standard PostgreSQL Full support subscriptions available from EnterpriseDB Level 3 support for Sun PostgreSQL Professional Services Installation, training, performance tuning for EnterpriseDB Advanced Server and PostgreSQL Remote DBA services
  • 4.
    EnterpriseDB Company FactsAward-winning enterprise database software company High-growth private company founded in March 2004; launched May 2005 $28.5M funding, including Fidelity, Charles River, and Valhalla Headquartered in Iselin, N.J.; offices in 6 countries World’s largest concentration of PostgreSQL expertise More than 120 customers and 60 partners Best Database Award 2005 and 2006
  • 5.
    Key Topics BusinessAspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
  • 6.
    Business Aspects Goal: To become the market leader in the following markets: Overall DBMS Market By delivering an Oracle compatible database at 20% of the cost Open Source Database Market By leveraging PostgreSQL and continuing to contribute to the core database while raising its profile in the market How? - Disrupt the Market Provide enterprise-class software at a very low cost Leverage Open Source software Make the DBMS plug-compatible with Oracle
  • 7.
    Enterprise Customer NeedsWhy would somebody buy what they could download? Pre-integrated & tested software 24/7 support Commercially-oriented enhancements (even if closed source) Training Packaging/installation Upgrades Integration Reliability Performance tuning Reasonable cost (lower TCO than doing it internally)
  • 8.
    Business Enablers Thingswe needed to allow us to build a business around open source : Solid and mature code base, near feature-complete BSD license … we can choose what to give to the community and what to keep A software market category that … large enterprises are used to paying for is approaching commodity status is often over-priced.
  • 9.
    Key Topics BusinessAspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
  • 10.
    Distributed Development –Why? Leverage a rock-solid open source product such as PostgreSQL. Use a “follow the sun” strategy for 24x7 support. Keep on-going costs low by using a mixture of onshore and offshore resources. Draw on a world-wide talent pool for effective software development—which is the theme of this session. How can a software development organization manage to build an ambitious software product and provide enterprise-class 24/7 support (for two product lines)?
  • 11.
    Problem Scope EnterpriseDBhas development labs in the United States, England, India and Pakistan—plus individual developers working from anywhere there’s an Internet connection. The PostgreSQL community includes hackers on every continent except Antarctica.
  • 12.
    Key Topics BusinessAspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
  • 13.
    The Cathedral andthe Bazaar (1997) In his 1997 essay, The Cathedral and the Bazaar 1 , Eric Raymond wrote: “ Linux overturned much of what I thought I knew. I [formerly] believed that the most important software … needed to be built like cathedrals, carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time. “ Linus Torvalds’s style of development—release early and often, delegate everything you can, be open to the point of promiscuity—came as a surprise. No quiet, reverent cathedral-building here—rather, the Linux community seemed to resemble a great babbling bazaar of differing agendas and approaches …” “… the Linux world not only didn’t fly apart in confusion but seemed to go from strength to strength at a speed barely imaginable to cathedral-builders.” “ Another strength of the Unix tradition, one that Linux pushes to a happy extreme, is that a lot of users are hackers too. Because source code is available, they can be effective hackers.” Linus’s Law: “Given enough eyeballs, all bugs are shallow.” AKA “Debugging is parallelizable”. Raymond also proposed a necessary pre-condition: “It’s fairly clear that one cannot code from the ground up in bazaar style. One can test, debug and improve in bazaar style, but it would be very hard to originate a project in bazaar mode. Linus didn’t try it. … Your nascent developer community needs to have something runnable and testable to play with.” 1 http://www.catb.org/~esr/writings/cathedral-bazaar/ 1 2 3 4 5 6
  • 14.
    The Ignorance ofCrowds (2007) In his provocatively titled article, The Ignorance of Crowds 1 , Nicholas Carr pointed out that “The open source model can play an important role in innovation, but know its limitations.” “ The open source model has proven to be an extraordinarily powerful way to refine programs that already exist … but it has proven less successful at creating exciting new programs from scratch.” “ First, peer production works best with routine or narrowly defined tasks that can be pursued simultaneously by a big crowd of people. It is not well suited to a job that requires a lot of coordination among the participants.” “ Third, and most important, the open source model — when it works effectively — is not as egalitarian or democratic as it is often made out to be. Linux has been successful not just because so many people have been involved, but because the crowd’s work has been filtered through a central authority who holds supreme power as a synthesizer and decision maker.” “ They’re not two different and incompatible approaches to innovation. Their relationship is symbiotic . Without the bazaar, the cathedral model moves too slowly. Without the cathedral, the bazaar model lacks focus and discipline.” “ The open source model is also unlikely to produce the original ideas that inspire and guide the greatest innovation efforts. That remains the realm of the individual .” 1 http://www.strategy-business.com/press/freearticle/07204 1 2 3 4 5
  • 15.
    Working with theCommunity EnterpriseDB EDB AS Code pg Code Sun Skype NTT Fujitsu Core Compatibility
  • 16.
    Bringing the OpenSource Advantage to Enterprises Teams Company-assigned projects SDLC: Waterfall, spiral, etc. Big projects are common Formal inspections Separate test team Massive test scripts Traditional Development Individuals Self-assigned roles, projects Self-formed, small teams No mandated methodology Small patches Lots of “eyeballs” Committers are key Open Source Development Collision?
  • 17.
    Traditional or OpenSource Development Model? The Best of Both Worlds: Teams include strong individual contributors Large projects are broken into smaller pieces Yes, specs are needed! Spiral builds, testing and phased releases Inspections provide eyeballs (“white box” testing) Committers are key (more eyeballs, “white box” testing) Massive test scripts (“black box” testing) Traditional Development Open Source Development
  • 18.
    Key Topics BusinessAspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Benefits & Challenges
  • 19.
    How We DoIt Tools we use: Teleconferences over IP Videoconferences over IP Webex CVS (code & doc. repository) Central Build Farm (Islamabad) E-mail News groups & Forums Intranet A ~ common language (English) What we need to do: “ All Hands” company meetings Project communications Peer reviews Software configuration mgmt. Daily builds Daily regression tests Commit patches Preserve “institutional memory” Answer technical questions Track defects
  • 20.
  • 21.
    Key Topics BusinessAspects Distributed Development Organization Blending the Open Source Community with a Traditional Product Development Life Cycle Techniques For Better Communication & Virtual Team Collaboration Lessons Learned, Challenges & Benefits
  • 22.
    Lessons Learned Youneed multiple tools & techniques to manage this Videoconferences beat teleconferences (even over the public internet) E-mails do not = institutional memory Webex and video combine well (two screens) Many developers do not use MS-Office!
  • 23.
    Challenges (from amanager’s perspective) Getting large initiatives through the community process can be difficult There is less schedule control when the community is involved Interaction between “core” and “product” developers is lessened due to differences in focus (when it does happen it is appreciated -- the groups do have common business goals, and they learn from each other) It’s hard to arrange things like development off-sites due to the distance between offices and political barriers Political risk in Pakistan Salary inflation in India
  • 24.
    Benefits Community attentionto de jure standards (such as ANSI SQL) combined with commercial attention to de facto standards (such as Oracle SQL) results in a broad array of choices for our users: database administrators and developers. Likewise, our own developers have tremendous opportunities to learn. The richness of the Bazaar, coupled with the long-range planning of the Cathedral, seem to be resulting in great things so far. The difference in focus implies different communication webs? “ Yes - which I think strengthens the company in many ways because those webs reach outside of the cathedral, through the bazaar and into a variety of other cathedrals as we work in the community and with groups and individuals within companies like Unisys, Sun, Fujitsu, NTT and so on.” -- Dave Page, PostgreSQL Core Committer at EnterpriseDB
  • 25.
    Questions? Gary LongSVP, Product Development EnterpriseDB Corporation (732) 331-1391 [email_address] Q A &
  • 26.
    Thank you. GaryLong SVP for Product Development EnterpriseDB Corporation [email_address]