Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IT Metrics in Real Life

IT Metrics in Real Life

It's all about measuring, and that's just the easy part. The hard part is focusing on what really matters.
I'll show you a bunch of metrics at different levels and from different perspectives, trying to make some sense out of them. I'll try to expand the current vision of what could be a metric, how it affects you and how you can choose your next ones.
The main goal is being able to understand what you need to monitor and improve in order to get better at what you're doing.

Fabio Cicerchia

March 26, 2019
Tweet

More Decks by Fabio Cicerchia

Other Decks in Technology

Transcript

  1. What’s a Metric? Metrics are parameters or measures of quantitative

    assessment used for measurement, comparison, or to track performance or production. https://www.investopedia.com/terms/m/metrics.asp
  2. Are they useful? • Provide Transparency • Highlight Improvements, Regressions

    or Mistakes • Lead to Self Improvement • Drive Decisions • Reduce Costs • Allow you to be Objective
  3. What’s a KPI? A KPI is a measurable value that

    demonstrates how effectively a company is achieving key business objectives. Organisations use KPIs at multiple levels to track performance measures. https://www.klipfolio.com/resources/articles/what-is-a-key-performance-indicator
  4. - Auditability – The ease with which conformance to standards

    can be checked. - Accuracy – The precision of computation and control. - Communication Commonality – The degree to which standard interfaces, protocols and bandwidth are used. - Completeness – The degree to which full implementation of required function has been achieved. - Complexity – The degree to which the program is complex. - Conciseness – The compactness of the program in terms of lines of codes. - Consistency – The use of uniform design and documentation technique throughout the software development project. - Data Commonality – The use of standard data structures and types throughout the program. McCalls’ Software Quality Factors http://education.dewsoftoverseas.com/QE/QUickReference/Software%20Enginering/2.6.asp
  5. - Error Tolerance – The damage that occurs when the

    program encounters an error - Execution Efficiency – The run time performance of a program. - Expandability – The degree to which architectural, data or procedural data can be extended. - Generality – The breadth of potential application of program components. - Hardware Independence – The degree to which the software is decoupled from the hardware on which it operates. - Instrumentation – The degree to which the program monitors it’s own operation and identifies errors that do occur. - Modularity – The functional independence of program components. McCalls’ Software Quality Factors (cont’d) http://education.dewsoftoverseas.com/QE/QUickReference/Software%20Enginering/2.6.asp
  6. McCalls’ Software Quality Factors (cont’d) - Operability – The ease

    of operation of a program. - Security – The availability of mechanisms that control or protect programs and data. - Self-Documentation – The degree to which the source code provides meaningful documentation. - Simplicity – The degree to which a program can be understood without difficulty. - Software System Independence – The degree to which the program is independent of nonstandard programming language features, operating system characteristics, and other environmental constraints. - Traceability – The ability to trace a design representation or actual program component back to requirements. - Training – The degree to which the software assists in enabling new users to apply the system. http://education.dewsoftoverseas.com/QE/QUickReference/Software%20Enginering/2.6.asp
  7. LOC - Lines Of Code - Commented Lines - Logic

    Lines - New Lines vs Deleted Lines - Impact (new block vs lots of small changes) - Bugs Rate
  8. TTFC (Time To First Commit) • How well-organised is the

    code base? • How supportive is the team? • How much confidence do we have in our tests? • How mature is the CI pipeline? • How is the dev environment?
  9. APF (Augmented Pony Factor) The lowest number of committers whose

    total contribution constitutes the majority of the codebase https://ke4qqq.wordpress.com/2015/02/08/pony-factor-math/
  10. Overall Budget - Infrastructure (Cloud / Bare Metal) - Equipment

    (PC, Devices, Dongles, …) - Software (Licences, …) - SaaS - Personnel - Consulting - Outsourcing - Training (Workshops, Conferences, Books, …) - Recreational (Pastries, Drinks, Snacks, …)
  11. - Custom Metrics - APM (Application Performance Monitoring) - RUM

    (Real User Monitoring) Application Telemetry
  12. Internal Tools - GitHub/GitLab/BitBucket - Sentry - SonarQube - SiteSpeed.io

    - StatsD - Ticket System - Zabbix/Nagios/Cacti/New Relic/… - ...
  13. ELK

  14. References • https://blog.usenotion.com/13-essential-software-development-metrics-to-ensure-quality-219cfc264ed1 • https://www.frontrowagile.com/blog/posts/69-30-metrics-for-agile-software-development-teams • https://ardalis.com/static-code-analysis-and-quality-metrics • https://github.com/mre/awesome-static-analysis •

    https://www.slideshare.net/JerryTan2/metrics-driven-dev-ops-2017 • https://www.slideshare.net/mattiabattiston/kanban-metrics-in-practice-for-leading-continuous-improvement • https://github.com/chaoss/metrics • http://shop.oreilly.com/product/0636920020134.do