Successfully reported this slideshow.
Your SlideShare is downloading. ×

Beyond Gerrit @ Gerrit User Summit 2017, London

Beyond Gerrit @ Gerrit User Summit 2017, London

Download to read offline

Gerrit is great, however it is also quite an important part of a bigger DevOps process. In this talk I will describe how multiple tools can be unified under a TeamForge or better DLM umbrella and what are the immediate benefits of it.

Gerrit is great, however it is also quite an important part of a bigger DevOps process. In this talk I will describe how multiple tools can be unified under a TeamForge or better DLM umbrella and what are the immediate benefits of it.

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Beyond Gerrit @ Gerrit User Summit 2017, London

  1. 1. 1 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. Beyond Gerrit Integration is the key Monday, October 2, 2017
  2. 2. 2 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. About CollabNet & VersionOne VersionOne is recognized as the leader for enterprise Agile software and services, and CollabNet is the recognized global leader in enterprise software development and DevOps solutions. The merger supports the companies shared vision that Agile and DevOps are interconnected practices that must be managed with a single mindset, and through a fully integrated, flexible and governed tool stack. Joining forces aligns with the shared mission to enable organizations to scale enterprise-wide agility through Agile and DevOps platforms that connect teams, tools and processes in a highly effective manner. For more information, please visit www.CollabNet.com.
  3. 3. 3 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. Using TeamForge, we achieved a high degree of industrialization of our software maintenance. Kay Schober Vice President of IT Service Control at Deutsche Post Testimonials VersionOne is the only enterprise tool that can manage work effectively for very large-scale development involving multiple teams across the world. VersionOne provides high levels of visibility at both the team and enterprise levels, making it easier to align both management and teams to the new (Kanban) practices, metrics and terminology as we scaled. Bennet Vallet Agile Strategist at Siemens
  4. 4. 4 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. TeamForge Git/Gerrit Integration team
  5. 5. 5 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • What is wrong with Gerrit? • What can be done to improve it? • Why improving it? Beyond Gerrit
  6. 6. 6 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. What is wrong with Gerrit? • Nothing! It is just not enough.
  7. 7. 7 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. What can be done to improve it? • Implement new features
  8. 8. 8 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. Integration is the key ALERT MONITORING HEALTH EVENT WORK ITEM SERVICE DESK COMPLIANCE AUDIT SECURITY CHECK DEPLOYMENT EPIC STORY TASK COMMIT CODE REVIEW CI BUILD BINARY TEST PLAN CODE BUILD TEST RELEASE DEPLOY OPERATE MONITORREVIEW RELEASE PACKAGE
  9. 9. 9 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. Why improving integrating it? • Operational excellence – Agile (lean) mindset focused on continuous learning/improvement – Core principles
  10. 10. 10 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Software Configuration Management • Assure quality at the source • Software Process Improvement Operational excellence – Gerrit’s perspective
  11. 11. 11 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Access management – 28 access categories – 21 global capabilities – Labels (Code Review, Verify, …) – Refs (refs/*, refs/heads/*, …) and Magic Refs (refs/for/refs/*, …) – Projects inheritance – Groups – Submit rules – ... – Multiply by projects and servers = big headache :D Operational excellence – Software Configuration Management
  12. 12. 12 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Accounts management – Create accounts over REST/SSH – UI Authentication (LDAP, OAuth, HTTP, OpenID, …) – Git over SSH requires upload of public SSH key whereas git over HTTP requires password generation over REST/SSH/UI (could be handled differently when Gerrit auth is set to LDAP, OAuth) – Multiply by servers = just headache :D Operational excellence – Software Configuration Management
  13. 13. 13 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Projects management – Create and handle projects hierarchy – Replication – Bulk operations on multiple projects Operational excellence – Software Configuration Management
  14. 14. 14 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Software Quality aspects – functional • User Stories, end-users’ raised issues – structural • reliability • efficiency • security • maintainability • size Operational excellence - Assure quality at the source
  15. 15. 15 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Code review (functional/structural) • Requirements/Defects traceability (functional) – Overview of feature/release deliverables – Defects traceability (from fix to release) • Compilation and static analysis (structural) – Find & fix issues even before peers start looking into code – Get recommendations • Tests traceability & coverage (functional/structural) Operational excellence - Assure quality at the source
  16. 16. 16 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. Operational excellence – Software Process Improvement ALERT MONITORING HEALTH EVENT WORK ITEM SERVICE DESK COMPLIANCE AUDIT SECURITY CHECK DEPLOYMENT EPIC STORY TASK COMMIT CODE REVIEW CI BUILD BINARY TEST/SEC PLAN CODE BUILD TEST RELEASE DEPLOY OPERATE MONITORREVIEW RELEASE PACKAGE chaosmonkey buildcodeplan release&deploymonitoroperate
  17. 17. 17 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Monitor, measure & improve, but how? • Theory – Value Stream Management – Value Stream Mapping Operational excellence – Software Process Improvement
  18. 18. 18 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • CollabNet offers 2 VSM solutions • What is – value stream manager – that leverages single-pane-of-glass reports and dashboards – to provide continuous feedback across the entire product lifecycle • In practice with one can – Measure business value across application pipeline – Monitor & predict – IOW: form efficient real-time feedback loop across the entire application lifecycle Operational excellence – Software Process Improvement
  19. 19. 19 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. • Gerrit perspective – Number of rogue commits (commit without User Story link) – Code review pending time – Number of code reviews that were performed by the same developer that committed the code – Number of build failures – Build time/test time – Tests code coverage % – Number of previously closed defects (reviewed) that has been reopened Operational excellence – Software Process Improvement
  20. 20. 20 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. Questions? Jacek Centkowski jcentkowski@collab.net www.collabnet.com +1-650-228-2500 +1-888-778-9793 blogs.collab.net twitter.com/collabnet www.facebook.com/collabnetHQ www.linkedin.com/company/collabnet-inc
  21. 21. 21 | P u b l i c © 2017 CollabNet, Inc. All Rights Reserved. Thank you!

Editor's Notes

  • Interesting facts to mention:
    CollabNet was founded in 1999 in San Francisco, VersionOne was founded in 2002 in Atlanta
    Both CollabNet and VersionOne form a single company to be called CollabNet (as of August 07, 2017)
    Combined portfolio includes (significant products only):
    TeamForge (https://www.collab.net/products/teamforge-alm) and Lifecycle (https://www.versionone.com/product/lifecycle/overview): Application Lifecycle Management (ALM) latter one focused strongly on Agile ALM (SAFe, Scrum, Kanban, Lean, XP, …)
    DevOps Lifecycle Manager (https://www.collab.net/products/devops-lifecycle-manager) and Continuum (https://www.versionone.com/product/continuum/devops): Value Stream Management (VSM) latter focused on DevOps Automation and Intelligence
    The combined company has more than 300 employees worldwide and offices in US, India, UK, Netherlands & Germany

  • Based in Berlin office and responsible for everything about TeamForge Git/Gerrit Integration development
    Active members (1 maintainer) of Gerrit community often participating in Gerrit Hackathons
  • It does what it is designed for: Code Reviews. Regardless of what it means for different people: from formal meeting with whole team going through the code to co-worker casual glance over the code before it gets committed.
    And it does it really good :)

    In addition it has quite vibrant community that responds to user requirements.
    But after all this is just Code Review tool which is only single step in ALM process.

    Complex domain and organizations requires proper tools and processes to support daily operations:
    Acting ad-hoc (quite natural for small shops) is neither efficient nor repeatable at larger scale.
  • Implementation = monster app that does all and nothing
  • Synergy effect
  • The larger scale/complexity the more systematic approach is needed that involves not only right tools and processes but agile(lean) mindset focused on continuous learning/improvement.
    Together it leads to operational excellence:
    all about meeting (and exceeding) customer expectations in a sustainable manner!
    a management philosophy based on earlier continuous improvement methodologies (Lean Thinking, Six Sigma, OKAPI and Scientific Management)

    Core principles of operational excellence:
    Respect every individual – create environment that empowers people to create sense of ‘ownership’
    Lead with humility – willingness to seek input, carefully listen and continuously learn
    Seek perfection – always identify opportunities for improvement
    Assure quality at the source – 1) do not pass defects, 2) stop and fix problems, 3) respect the individual
    Flow and pull value – focus on shortening lead-time from the beginning to end of value stream
    Embrace scientific thinking – PDCA (plan, do, check and adjust), etc…
    Focus on process – shift from finding person that introduced the failure to process that allowed it
    Think systemically – understand how and why things happens
    Create constancy of purpose – regardless of changing requirements and technologies keep pointing why certain things happen
    Create value for the customer – every aspect should be focused on creating value for customer
  • Aspects of DevOps pipeline related to Gerrit that can be improved, having core principles in mind, by integrating it with external tools.
  • Great flexibility comes with great responsibility – one can fine tune access control but...
    Trading flexibility for simplicity != one size fits all, but several well defined schemes come to rescue
    Federated RBAC across projects, servers and tools = improve process compliance with centralized on- and off-boarding of project members
    Operational excellence principles: focus on process, flow and pull value

  • Federated, unified accounts management across all tools with single point for users’ password and SSH keys management + TF users are automatically authenticated (SSO) to Gerrit
    Operational excellence principles: focus on process, flow and pull value
  • Operational excellence principles: focus on process, flow and pull value
  • Software Quality aspects:
    Functional: in short it is about conformance to explicitly stated functional requirements captured in User Stories and level of satisfaction experienced by end-users.
    Structural - measured as compliance with good architectural and coding practices:
    reliability (likelihood of potential application failures)
    efficiency (key factor for applications requiring high execution speed)
    security (likelihood of potential security breaches due to poor coding practices and architecture)
    maintainability (usually consensus between Time-To-Market and keeping maintenance costs under control, however over-engineering is equally bad)
    size (impacts maintainability)
  • Code Review – manually check compliance with good architectural and coding practices considering both functional and structural aspects of quality

    Generate:
    Requirements traceability reports
    Generate defects distribution reports to improve phases/places that are especially vulnerable
    Tests traceability and coverage reports

    Static analysis with Errorprone, finbugs, sonar etc.

    Operational excellence principles: Assure quality at the source, Focus on process, Flow and pull value
  • A Unified Tool Chain Visibility View is a Challenge!
  • Software Process Improvement:
    Speed-up whole process and make more efficient
    Improve quality (reduce number of end-user reported issues)

    Value Stream Management – software solutions built to address problem of managing, visualizing and measuring business value throughput across complex, distributed and heterogeneous environments
    Value Stream Mapping – practical exercise of mapping DevOps toolchain to uncover key bottlenecks in delivering value to customers (stakeholders)
  • Measure business value across application pipeline and answer questions like
    Are teams delivering products faster and better?
    Where is the time saved with a new process or feature delivery?
    How are resources being allocated for new projects vs. reworking existing applications and services?

    Monitor & predict
    monitor entire DevOps toolchain (integration with popular open source and commercial tools in the market + ability to create custom integrations for homegrown tools), alert and predict (through trend analysis) parts that could cause slow downs/bottlenecks

    Continuous feedback
    Create continuous feedback loop across the entire application lifecycle – from plan, build, test, deploy, operations, and back to plan – facilitating effective collaboration between Dev, Test, Sec and Ops teams

    Operational excellence principles: Seek Perfection, Flow and pull value, Embrace scientific thinking, Think systematically, Focus on process, Create value for the customer

×