Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring

60 views

Published on

Software Qualimetry at Schneider Electric using SQuORE

Published in: Software
  • Be the first to comment

  • Be the first to like this

20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring

  1. 1. Software Qualimetry at Schneider Electric using SQuORE Hervé Dondey Schneider Electric Strategy & Innovation
  2. 2. Make the most of your energy™ Schneider Electric at a glance
  3. 3. Schneider Electric – Strategy & Innovation – H. Dondey 2012 3 1999 Groupe Schneider becomes Schneider Electric, focused on Power & Control 1975 Merlin Gerin joins Groupe Schneider 1988 Telemecanique joins Groupe Schneider 1991 Square D joins Groupe Schneider 1996 Modicon, historic leader in Automation, becomes a Schneider brand 2007 Acquisition of APC corp. and Pelco 1836 Creation of Schneider at Le Creusot, France 19th century 20th century 21st century 2000 Acquisition of MGE UPS Systems 2003 Acquisition of T.A.C 2005 Acquisition of Power Measurement Inc. 2003-2008 Targeted acquisitions in wiring devices and home automation (Lexel, Clipsal, Merten, Ova, GET, etc.) 2008 Acquisition of Xantrex Steel Industry Power & Control 2010 Acquisition of Areva’s distribution activity Energy Management More than 170 years of history
  4. 4. Schneider Electric – Strategy & Innovation – H. Dondey 2012 4 Residential 9% Utilities & Infrastructure 20% Industrial & machines 24% Data centres 17% Non-residential buildings 30% Balanced geographies – FY 2010 sales Year-end 2010 employees Diversified end markets – FY 2010 sales1 North America 24% Asia Pacific 24%Rest of World 18% Western Europe 34% 1 Proforma with Areva D integrated on 12-month basis 26,000 41,700 31,900 19,200 Schneider Electric – the global specialist in energy management billion € sales in 2010 % of sales in new economies people in 100+ countries of sales devoted to R&D
  5. 5. Schneider Electric – Strategy & Innovation – H. Dondey 2012 5 ● Around 9 100 employees in R&D and technical engineering ● More than 2 500 employees in Software Development ● 60 major R&D centers in about 23 countries, representative in terms of markets and competences Schneider Electric R&D and technical engineering population
  6. 6. Software Qualimetry at Schneider Electric - Main Goals
  7. 7. Schneider Electric – Strategy & Innovation – H. Dondey 2012 7 The Cost of Waiting Focusing on Code
  8. 8. Schneider Electric – Strategy & Innovation – H. Dondey 2012 8 Three pillars, but … Prevent Industry standard coding Rules C/C++,C#, Java &Security MISRA, JSF, =S= Detect Static Code Analysis Early defect Detection Coverity,Klocwork … Source Code Quality Measure Qualimetry SCQI / SQUORE Measure Source Code Quality model One Source Code Quality Model This code quality solution enables SW bug prevention, defect identification, policy enforcement and corrective actions early in the development cycle
  9. 9. Software Qualimetry at Schneider Electric - The Source Code Quality Indicators (SCQI) Method
  10. 10. Schneider Electric – Strategy & Innovation – H. Dondey 2012 10 SCQI Basic Concepts Quality Objectives Technical Debt Quality Model Analysis Model
  11. 11. Schneider Electric – Strategy & Innovation – H. Dondey 2012 11 RxR4R3R2R1 Comment ratio Complexity Readability Understandability Changeability The Quality Model describes the break down of code quality into characteristics, sub characteristics and then establish the link with the internal properties of the code artifacts Portability Reliability ….ilityMaintainability Quality 1st concept: the Quality Model Cyclomatic Complexity Comment line count Non Conformity count for rule R Coupling Between Object Code Measures
  12. 12. Schneider Electric – Strategy & Innovation – H. Dondey 2012 12 Schneider Electric Source Code Quality Model (SCQM) All quality sub characteristics are linked to 50 internal property checks (measures or coding rules) Re-usability Maintainability * for future extension of quality model ** when code coverage measures are available
  13. 13. Schneider Electric – Strategy & Innovation – H. Dondey 2012 13 Tailored Source Code Quality Model Tailored (at department level) Source Code Quality Model
  14. 14. Schneider Electric – Strategy & Innovation – H. Dondey 2012 14 A Quality Hierarchy of (sub) characteristics linked to measures/rules QH Q Measure/rule Sub characteristic CharacteristicMaintainability An Artifact Hierarchy 2nd concept: the Analysis Model Rules to aggregate from one AH level to the upper level Rules to aggregate from one QH level to the upper level The Analysis Model describes the rules and algorithms for combining measures in order to build the relevant indicators AH A Application C Files Component
  15. 15. Schneider Electric – Strategy & Innovation – H. Dondey 2012 15 3nd concept: the Technical Debt The Technical Debt is the cost of remediating / refactoring the software components to remove (intentional or unintentional) defects or to comply with requirements related to source code The Technical Debt of a software artifact shall aggregate the technical debts of the embedded artifacts. AH A QH Σ
  16. 16. Software Qualimetry at Schneider Electric - SCQI Process and Tools
  17. 17. Schneider Electric – Strategy & Innovation – H. Dondey 2012 17 Using software qualimetry during project ConstructionDefinition Concept and feasibility Validation Closure 1 - Quality Assessment before maintenance CLOSESELLDOSELECTOPEN Release for Validation 2 - Quality stage gate (intermediate and final audit before launching) ...... 3 - Quality measurement integrated into each design and coding phase with 1 to n iterations as needed
  18. 18. Schneider Electric – Strategy & Innovation – H. Dondey 2012 18 SQuORE: An Open and Scalable Architecture A Collaborative Platform for Optimizing Software Project Management SQuORE DataBase SQuORE Server Data Analysis & Modeling Optimized Remediation Plan Dashboards & Reporting Source Code Design Models Requirements Test Coverage Bug Tracking User Defined Checklists … SQuORE Evaluation Engine
  19. 19. Schneider Electric – Strategy & Innovation – H. Dondey 2012 19 SQuORE: An intuitive Portal to Key Performance Indicators 19 Trend analysis version by version Forecast Predicting the trend Objective and impartial evaluation Breakdown into Quality characteristics Distribution of artifacts according to their level of performance Double Drill-Down
  20. 20. Schneider Electric – Strategy & Innovation – H. Dondey 2012 20 SQCI Infrastructure in January 2012 SQuORE servers UserUser Admin Centralized infrastructure http://http:// Standard browser (M:) Local source repository Continuous integration CLI* * CLI: SQuORE Command Line Interface (Z:) Local source repository Pre-Prod Prod #1 Prod #2 Prod #3
  21. 21. Software Qualimetry at Schneider Electric – Status of the deployment
  22. 22. Schneider Electric – Strategy & Innovation – H. Dondey 2012 22 Deployment status Last year (Q4 2010) SW/FW population impacted < 20% SCQI - mature SCA - begin SCQI - begin SCA - mature 50p 50p 100p 100p 50p 50p WW impacted population xx p (estimation)
  23. 23. Schneider Electric – Strategy & Innovation – H. Dondey 2012 23 Deployment status Current (Q4 2011) SW/FW Population impacted ~ 30% SCQI - mature SCA - begin SCQI - begin SCA - mature 150p 50p 150p 150p 50p 70p 70p 70p ?p WW impacted population xx p (estimation)
  24. 24. Schneider Electric – Strategy & Innovation – H. Dondey 2012 24 Deployment forecast > Q2 2012 SW/FW Population impacted > 50% SCQI - mature SCA - begin SCQI - begin SCA - mature 200p 100p 200p 170p 300p 120p 100p 70p 50p WW impacted population xx p (estimation) 100p
  25. 25. Software Qualimetry at Schneider Electric - Field background Based on 5 departments and 70+ projects using SQuORE for Source Code Quality Indicators
  26. 26. Schneider Electric – Strategy & Innovation – H. Dondey 2012 26 Some key feedback from the field  Deliver an easy-to-access “out-of-the-box” platform  Establish the scope of the evaluation clearly  Make your own “Technical Debt”  Extend the scope of quality evaluation when possible  Optimize standardized “configurations”  Ensure simple use cases for the end-users
  27. 27. Schneider Electric – Strategy & Innovation – H. Dondey 2012 27 F1.c Some key feedback from the field  Establish the scope of the evaluation clearly F2.c F3.c F4.c F5.c F6.c Avoid generated code Avoid test oriented code: test drivers, stubs, … Avoid Third-Party code / Reusable packages, …
  28. 28. Schneider Electric – Strategy & Innovation – H. Dondey 2012 28 Some key feedback from the field  Make your own “Technical Debt”! Considering the 4 following change proposals being part of a remediation plan, which one should have the highest priority ? a) completing function comment headers for Analyzability purpose, b) specifying a default clause at the end of a switch structure for Fault Tolerance, c) factorizing cloned code for Changeability and Testability, d) adding a missing break statement ending a case block of a switch structure to avoid unintentionally falling through the next case for Reliability purpose  Consider severity to setup an optimized remediation plan! The SCQI Technical Debt Density Scale
  29. 29. Schneider Electric – Strategy & Innovation – H. Dondey 2012 29 Some key feedback from the field  Extend the scope of quality evaluation when possible Source CodeSource CodeSource CodeSource CodeSource Code Mantis Jira ClearQuest … Change Mgnt. SVN GIT ClearCase … Conf. Mgnt. PCLint, FxCop, Logiscope CheckStyle … Rule Checking GCOV Junit RTRT … Test - V&V Coding ReqPro Reqtify Doors … Requ. Mgnt.
  30. 30. Schneider Electric – Strategy & Innovation – H. Dondey 2012 30 Some key feedback from the field  Optimize standardized “configurations” Project Maturity Data Providers Configuration and Training Low Level: No code review or analysis No continuous integration All technologies: CPD (Copy/paste detection) SQuORE (Code metrics) - Corporate standard Quality Model - SQuORE deployed as a static code analyzer and qualimetry dashboard - Training/coaching provided only to super-users (senior software developer) Medium Level: Code review One or more static code analysers (at different steps) No continuous integration All technologies: CPD (Copy/paste detection) SQuORE (Code metrics) C/C++: Klocwork, Coverity, CodeSonar C# : FxCop Java: Checkstyle - Quality Model adapted to the local technical rules set - Rule Checking results integrated into SQuORE - Qualimetry dashboard shared within the team from the SQuORE server - Training/coaching provided to some key users (i.e. senior software developers and quality engineers) High Level: Code review supported by static code analyzers running all along the software development lifecycle. Continuous integration (including static code analysis, unit testing and code coverage measurement) All technologies: CPD (Copy/paste detection) SQuORE (Code metrics) C/C++: Klocwork, Coverity, CodeSonar, Gcov C#: FxCop, Nunit, Ncover Java: Checkstyle, Junit, FindBugs - Quality Model adapted to the local technical rules set - All results integrated in automatic tool chain - Qualimetry dashboard shared within team in development loop - Training/coaching provided to all team members.
  31. 31. Schneider Electric – Strategy & Innovation – H. Dondey 2012 31 Software Qualimetry at Schneider Electric - Conclusion & Perspectives
  32. 32. Schneider Electric – Strategy & Innovation – H. Dondey 2012 32 Conclusion & Perspectives ●Adding new data providers ● Additional “Advanced” Source code Analyzers ● New process measurement (i.e.: Configuration management, Requirement management, ●Including architectural data from Design Models ●Towards a “Capitalization Database” ●And deploying on more and more R&D centres…
  33. 33. Thank you for your attention

×