Plastic SCM: Entreprise Version Control Platform for Modern Applications and Services
-
Upload
kiko-monteverde -
Category
Technology
-
view
953 -
download
2
description
Transcript of Plastic SCM: Entreprise Version Control Platform for Modern Applications and Services
© 2013 Codice Software
Enterprise Version Control Platform
for Modern Applications & Services
Francisco Monteverde
CEO Codice [email protected]
@plasticscm www.plasticscm.com
“The Cadillac of the SCMs” - eWeek
© 2013 Codice Software
Codice Software Company Background
Founded 2005
Products Plastic SCM & Semantic Merge
Our Customers from small (+5 developers) to large developer teams (hundreds)
Investors (VC): Bullnet Capital
HQ’s Valladolid (Spain) & Silicon Valley office
Distribution US, EU, Israel, South Korea , China
© 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, Distribution, Industrial Manufacturing… …
© 2013 Codice Software
VERSION CONTROL IS AN ESSENTIAL FUNCTION WITHIN SOFTWARE DEVELOPMENT
© 2013 Codice Software
What is Version Control about?
:)
:)
:|
|:
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
© 2013 Codice Software
… Version Control aka SCM
5
6
1. Manage every change and access2. Allow concurrent edits3. Guarantees merges are correct4. 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
© 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
© 2013 Codice Software
¿Why SCM Matters? (@ RIM)
RIM declared $500M lost in Jun’125,000 employees outBlackBerry 10 launch delayed 2013
http://www.wired.com/gadgetlab/2012/06/down-goes-rim-blackberry-10-delayed-until-2013-5000-job-cuts/http://www.cio.com/article/print/710295
”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)
© 2013 Codice Software
The Vast Majority of Source Code is Developedin Serial Mode using a Centralized Repository
cset: 10474Fix core database query to retrieve customersdevel: pablo
cset: 10475Typo in about formdevel: john
cset: 10476New loading formdevel: pat
cset: 10478Fix a crash on the new loading formdevel: pat
cset: 10477Resource leak disposing GDI brushesdevel: pablo
main
Serial Development: Developing and Evolving in
One Code Line (Main, Dev…)Centralized
Code RepositoryOne single branch
One Central Repository
© 2013 Codice Software
Problems of Yesterday’s SCMsTechnology
1. Broken Builds: because
everyone is working in the main
line (or one line)
2. Branching Limitations: prevent
embracing of agile methods and
true parallel development
3. Arcane Branching Patterns:
Lock teams (SVN, Perforce)
4. Can’t work in a distributed
manner
5. Not a flexible release cycle
Business1. Long development cycles: high
cost, lost opportunities
2. Unstable releases – too many
bugs, poor quality - causing
delays to market
3. Difficult Cooperation: among
heterogeneous or de-located
teams and offices
They are ALL solved by Plastic SCM
© 2013 Codice Software
Enabling Parallel and Distributed Development with DVCS *
/main/task113 fix core database query
devel: pablo
devel: john
/main/task115New loading form
devel: pat
devel: pablo
/main/task114Typo in about form
/main/task116GDI resource leak
main
BL130Released to customer
BL131Internal
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
© 2013 Codice Software
The Only Commercial Enterprise Distributed
Version Control Systems (DVCS) for Teams of Any
Size, Enabling Parallel and Distributed
Development that works
Introducing Plastic SCMBranching and Merging is GOOD!
“The Cadillac of the SCM’s”eWeek editor Jeff Cogswell published on July 27, 2012Plastic SCM Pays Attention to Detail in Source Code Management
The Coolness that is Plastic SCM (MSDN Blog reference, December 5, 2011)http://blogs.msdn.com/b/saveenr/archive/2011/12/03/the-coolness-that-is-plastic-scm.aspx
“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
© 2013 Codice Software
Plastic SCM is Different Because…
1. Fully Distributed or Centralized Repositories2. Branching and Merging Made Simple & Powerful3. Rich Graphical User Interface or Straight CLI4. Security Management of the Source Code5. Reliable & Scalable Repositories Storage with the
RDBMS of Your Choice
© 2013 Codice Software
Plastic SCM: 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
© 2013 Codice Software
Plastic SCM Integrates with Many Third-party Tools
Codice Software is open to integrate with other tools upon customer demand
Issue Trackers or Project Management Tools
• Atlassian Jira• Version One • Axosoft OnTime • Bugzilla
• Mantis, • Trac,RallyDev• DevTrack• FogBugz
IDE Tools• Visual Studio• Eclipse• IntelliJIDEA (JetBrains)
• Powerbuilder• Visual Fox Pro• Others with SCC interface
Relational Databases (RDBMS) for Plastic SCM Repositories
• MySQL• SQL Server & SQL Server Express• SQL Server Compact Edition• Oracle
• Firebird Server• Firebird Embedded• SQLite• PostgreSQL
Continuous Integration Tools
• Cruise Control• Final Builder• Pulse
• Jenkins / Hudson• TeamCity• Atlassian Bamboo
Others • Red Gate (database versioning) • Inedo (Release Management)
© 2013 Codice Software
Plastic SCM Licensing Model
Type of License Price
Perpetual License 595 USD / DeveloperMaintenance 119 USD / Developer (after the 2nd year)
Subcription License 279 USD / Year / Developer
Community Edition Free to use for Team <15 Members Optiona lSupport Package available 645 USD / Year
© 2013 Codice Software
Some Customers Worldwide
© 2013 Codice Software
Impact of Plastic SCM: Customer Case
Software Manufacturer500 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
© 2013 Codice Software
Development Productivity gains made by Plastic SCM translated 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
2nd Largest Mobile Manufacturer in South
Korea
Healthcare Information Systems Division
© 2013 Codice Software
Plastic SCM embraces Open Standards and Drives Innovation
Initiative Explanation
Open: Plastic SCM GitSync
• Plastic SCM GitSync launched in March 2013, http://plasticscm.com/gitsync/index.htm
• 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) www.semanticmerge.com
• 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
• http://www.plasticscm.com/mergemachine/index.html
© 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
© 2013 Codice Software
Codice Software in US Developer’s Press
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 SupportPlastic 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
© 2013 Codice Software
Semantic Merge 7,000 downloads in 2 weeks with reputed tweets worldwide
unbuffered4:26pm via Web When semanticmerge.com becomes a standard part of every IDE, it will make manual git/svn merging look like coding with punchcards
© 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.
© 2013 Codice Software
Thank you…
You may contact us at [email protected]
Francisco MonteverdeCEO Codice [email protected]