How dvcs can reduce your development costs and enhance productivity final


Published on

Learn how dvcs can reduce your development costs and enhance productivity final

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

  • Be the first to like this

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

No notes for slide
  • Objetivos:Problema (Oportunidad) & Tecnología para resolverloEl Mercado y CompetenciaNuestro producto y diferenciaciónModelo de Negocio y ClientesPlan de Negocio y necesidades de financiación.
  • El 28 de Junio de 2012 fue un mal díapara el CEO de RIMSe le presentaba un díalleno de malasnoticias.Teníaqueanunciar el retraso de la esperada BlackBerry 10 hasta 2013Y con ello un total de 5000 despidosLas cosas se complicaban, con muymalosresultadospara la compañíaLa razón, comodeclaró el CEO, no era que el software necesariopara el nuevodispositivo no estuviera a tiempoSe trataba de un problema de integración: “nuestrosgrupos de software hansidomuyrápidos, perohangeneradotantocódigoque no nos da tiempo a integrarlo a tiempo”.Un problema de gestión de laspiezas de software quecomponen el productoretrasaba en 1 año el lanzamiento de BlackBerry
  • How dvcs can reduce your development costs and enhance productivity final

    1. 1. © 2013 Codice Software How DVCS can reduce your development costs and enhance productivity Francisco Monteverde CEO Codice Software @plasticscm David Anderson Business Developer Codice Software
    2. 2. © 2013 Codice Software How DVCS can reduce your development costs and enhance productivity? 1. Why SCM matters? 2. The problem with SCM’s today? 3. Development trends driving DVCS adoption 4. Main factors to reduce cost, increase productivity and software quality 5. Customer’s examples 6. Intro Plastic SCM: The Enterprise DVCS
    3. 3. © 2013 Codice Software TODAY SOFTWARE IS ALMOST EVERYWHERE….AND INCREASING Computers, Mobile Phones, Tablets, Internet Services, Video Games, Consoles, Financial Services, Telecommunications, Automobiles, Transportation, Healthcare, Commerce, D istribution, Industrial Manufacturing… …
    5. 5. © 2013 Codice Software ¿Why SCM Matters? (@ RIM) RIM declared $500M lost in Jun’12 5,000 employees out BlackBerry 10 launch delayed 2013 ”We weren’t able to merge fast enough” Research In Motion CEO Thorsten Heins June 2012 BlackBerry 10 was launched +7 months later than expected (Jan 30th 2013)
    6. 6. © 2013 Codice Software Working in parallell seems an obvious productivity gain… :) :) :| |: t1 t2 total :O :S ? 1 32 64 5 Two developers need to work in the same file One works first and then the next complete it But what if the work in parallel with a copy? But now how can we merge both jobs? Total time used is the sum of each indivicual’s time Total time used is the largest of one of the individuals
    7. 7. © 2013 Codice Software … but you need to merge all work well 5 6 1. Manage every change and access 2. Allow concurrent edits 3. Guarantees merges are correct 4. Enables coordination among developers Version Control makes all merges, among other things And it is a very complex operation when you have hundreds of developers and tens of thousands files
    8. 8. © 2013 Codice Software WHAT’S THE PROBLEM WITH VERSION CONTROL?
    9. 9. © 2013 Codice Software Limited Productivity, Low Quality Code in Software Development today… 1. Development in serial mode (not parallel) creates many dependencies and continuous broken builds 2. Developers need to be connected to central server to use the Version Control tool
    10. 10. © 2013 Codice Software The Vast Majority of Source Code is Developed in Serial Mode using a Centralized Repository cset: 10474 Fix core database query to retrieve customers devel: pablo cset: 10475 Typo in about form devel: john cset: 10476 New loading form devel: pat cset: 10478 Fix a crash on the new loading form devel: pat cset: 10477 Resource leak disposing GDI brushes devel: pablo main Serial Development: Developing and Evolving in One Code Line (Main, Dev…) Centralized Code Repository One single branch One Central Repository
    11. 11. © 2013 Codice Software Problems of Yesterday’s SCMs Technology Business
    12. 12. © 2013 Codice Software Enabling Parallel and Distributed Development with DVCS * /main/task113 fix core database query devel: pablo devel: john /main/task115 New loading form devel: pat devel: pablo /main/task114 Typo in about form /main/task116 GDI resource leak main BL130 Released to customer BL131 Internal Parallel Development Using Branching and Merging Distributed Code Repositories Multiple and Frequent Branches and Merges (the green lines) (*) a.k.a Distributed Version Control System Distributed Repositories
    13. 13. © 2013 Codice Software Main Development Trends Driving DVCS Adoption Distributed Development Teams SaaS /Cloud Services Agile Development Complex Products Component Reuse, SmartPhones, G ames, Embedded SW DevOps An Andorid Application needs 2,000 different versions. An iOS needs 40….still a lot! Component based development is essential. Open Source Development Implies faster development cycles, incremental releases, parallel development, branch per task Teams are not longer centralized. Co- operation among 3rd parties is essential, Component based development and parallel development. Many re-usable software and services, distributed across live repositories, loosely coupled. Continous Delivery of features DevOps embraces agile principles and hence flexible and incremental release cycles are needed. Support for branch per task or parallel development is fundamental. Cooperation among distributed teams as well as component reuse/development are inherent to OSS development 21 3 4 DVCS Adoption
    14. 14. © 2013 Codice Software Distributed Versioning is at the peak of expectations in Application Development (*) Hype Cycle for Application Development (*) Source: Gartner Group, July 2012 Distributed Versioning
    16. 16. © 2013 Codice Software Main Drivers Reducing Costs, Increasing Productivity & Quality A.- Reduce Cost B.- Increase Productivity C.- Enhance Quality 1. Licenses, Installation, Deployment and Training are lower than traditional Centralized SCM systems 1. Enabling parallel development reducing overall time to complete a release, moreover, it significant reduce broken builds 2. Merge efficacy reduces manual interventions 1. Flexible release cycles: allowing to select independently what changes need to be included (merged) in a particular release 2. Infrastructure: minimizes server horsepower since work can be distributed among servers not at a "Central Server" 3. Enables working remotely (or offline to a central server); from anywhere. Work can always continue regardless of the availability of the network 4. Experiences significant performance gains because work is done locally with no network latency issues or server bottlenecks 2. Permits the developer's work to be completed locally without affecting other users until the developer has completed all work 3. “Shifts" merge responsibility to the most knowledgeable developer or dedicated role, thus significantly reducing total merge effort 5. Works with your desired workflow, rather than dictating it 6. Enables point to point communication between developers, not requiring a "central server" to collaborate 3. Code Reviews and Unit Tests can be passed at a task-branch level, before merge is complete to the main line
    17. 17. © 2013 Codice Software Customer Example Software Manufacturer 500 Fortune Company • They use agile methodologies and branch per task in the development of large Operating System Components. Increase Productivity & Ease of Adoption 1. Efficient: Plastic SCM requires 2-3 minutes a day of interaction with the developer, when other SCM’s tested required from 30-50 min per developer, only to include changes made outside de SCM tool. Plastic SCM detects changes made outside de SCM transparently. 2. Fast and efficient: Bad merges (not resolved automatically by the SCM tool) take 5min a day by the developers ,with previous system took 50min in average. 3. Easy of use and adoption: Plastic SCM Branch Explorer (the GUI) is one of the most valuable features in Plastic SCM: allows new developers to come on board, familiarize with the tools in 2-3 days, and then then do not want to work with any other one. But they thought beforehand, the previous tools they were using (/Perforce) was the best and only thing they wished to use. Impact on Business • In total, a project that could have last 6 months, saved 1 month. And Plastic SCM and automated processes implemented with the integration with the CI engine was the responsible. • Developers saved more than 100min a day in just two operations made more efficient by Plastic SCM. That makes +$650K ROI in a year for 35 highly skilled developers
    18. 18. © 2013 Codice Software Development Productivity gains translates into business metrics - Time to Market • Less time to update/integrate device code -> More updated devices to market • Delivering more updated Smartphones to operators + SLA with customers • Support to Parallel development for multiple customers • Flexible Change Management increasing quality and flexibility . COMPANY CONFIDENTIAL
    19. 19. © 2013 Codice Software Some Customer Deployments Pantech, Korea’s second-largest mobile phone manufacturer Seeking to deliver better and faster releases of Android Phones to market. The company’s current SCM was expensive to maintain, too slow, and couldn’t scale with the company’s plans to double in size in the next year. Pantech decided to switch SCMs. With Plastic SCM, Pantech was able to manage huge merges with +250,000 files and thousands of directories in minutes, with minimal conflicts to resolve, and scale the distributed repository structure as the company grew with a master repository. HP’s Healthcare Information System Software Division Turned to Codice Software’s Plastic SCM to help manage the division’s four million lines of code and 50 active branches distributed among under several repositories and two different version control systems. Although the team could create branches with CVS, merging was cumbersome and prone to errors, therefore it was minimized. By implementing Plastic SCM, HP was able to integrate all of its repositories under one version control system and utilize effective branching and merging faster and more frequently. Mobile Game Studio - Digital Legends Entertainment Chose Codice Software’s Plastic SCM as the company struggled to manage a distributed team and to keep pace with the increasing numbers of game releases, formats and distribution channels that have become necessary to compete in the fast-growing gaming market. Codice Software and Digital Legends Entertainment worked together to create a version of Plastic SCM that was tailored to the needs of game developers. The end product, entitled Plastic SCM for Game Developers, combines efficient branching and merging capabilities with improved tools and capabilities, enabling designers, coders, and artists to work cooperatively and, ultimately, shorten development cycles so game projects can hit the market faster. COMPANY CONFIDENTIAL
    21. 21. © 2013 Codice Software Introducing Plastic SCM Branching and Merging is GOOD! “The Cadillac of the SCM’s” eWeek editor Jeff Cogswell published on July 27, 2012 Plastic SCM Pays Attention to Detail in Source Code Management The Coolness that is Plastic SCM (MSDN Blog reference, December 5, 2011) “Codice provides a solid platform that supports DVCS and provides a strong set of tools for managing the source tree that is lacking in open-source solutions” Gartner Cool Vendors in Application Development -Apr. 2011
    22. 22. © 2013 Codice Software Plastic SCM is Different Because… 1. Fully Distributed or Centralized Repositories 2. Branching and Merging Made Simple & Powerful 3. Rich Graphical User Interface or Straight CLI 4. Security Management of the Source Code 5. Reliable & Scalable Repositories Storage with the RDBMS of Your Choice
    23. 23. © 2013 Codice Software Plastic SCM embraces Open Standards and Drives Innovation Initiative Explanation Open: Plastic SCM GitSync • Plastic SCM GitSync launched in March 2013, • Plastic SCM users can now interact natively with Git repositories, including direct connection with github, bitbucked or codeplex Innovation: Plastic SCM is launching a “Semantic Merge” • “Semantic Merge“ is a unique language aware merge technology (launched in April 2013) • Semantic merge, among other benefits, will facilitate and automate software refactors, even the most complex ones that require today a lot of manual work. Excellence: Plastic SCM has the strongest merge technology • Plastic SCM provides the strongest merge technology, several steps ahead from competitors. • No other version control, including ClearCase, Perforce and Git, can compare to the merge capabilities provided by Plastic SCM: this increase productivity and increase software quality •
    24. 24. © 2013 Codice Software Providing Value to Different Roles  For developers who love the freedom of distributed and simple branching and merging  For managers who lead distributed teams, manage access and understand project status  For release builders who need to create stable software releases
    25. 25. © 2013 Codice Software Some Customers Worldwide
    26. 26. © 2013 Codice Software Codice Software in US Developer’s Press First Half of 2013 Jeff Cogswell Plastic SCM is the Cadillac of the SCM’s Adrian Bridgwater Heavy Refactoring In Parallel? No Problem. Semantic Merge World's: First 'Language-Aware' Source Code Merge Tool Eric Caoili Plastic SCM 4.0 solution for game developers, designed in collaboration with Digital Legends Entertainment” Anand Narayanaswamy GitSync for Plastic SCM with Native Git Protocols and Visual Studio 2012 Support Plastic SCM to push and pull code changes to not only GitHub but also Codeplex, BitBucket or any Git server Alex Handy As GDC opened on March 25, Codice announced a new tool that allows this SCM system to integrate with Git repositories WireNews Codice Software Launches First Language-Aware Source Code Merge Tool
    27. 27. © 2013 Codice Software Codice Software Core Values 1. Proven Technology • Leading DVCS implementation for Enterprises • 50 man years development • Key Enterprise references 2. Customer Focused • Flexible to customer improvement demands • Professional support and quick turn around • Assistance in the deployment and to improve the development processes. 3. Strive for Excellence • Experienced, professional and passionate team fully dedicated to make the best DVCS.
    28. 28. © 2013 Codice Software Thank you… You may contact us at Francisco Monteverde CEO Codice Software