Download presentation
Presentation is loading. Please wait.
Published byRoderick McDonald Modified over 9 years ago
1
Status and first objectives 14/06/2012Jean-Christophe Garnier1
2
7 software developers ~40 distinct software applications BIS, QPS, SMP, Post Mortem, AccTesting, PcInterlock, etc. 3 main technologies: Java, C/C++, LabVIEW What about VHDL? Collaborations with EN/ICE, BE/CO, BE/OP 14/06/2012Jean-Christophe Garnier2
3
Purposes Basis for Software Quality Sharing Future steps 14/06/2012Jean-Christophe Garnier3
4
Improve software quality Reach a common agreement for SW practices Coding conventions Testing recommendations Consistent infrastructure + tools Documentation ▪ For users ▪ For developers 14/06/2012Jean-Christophe Garnier4
5
Coordinate resource allocation on projects Working primarily with students Improve collaboration with other groups FESA3 DIAMON2 Software Upgrade Working Group 14/06/2012Jean-Christophe Garnier5
6
14/06/2012Jean-Christophe Garnier6 External Quality Correctness Efficiency Maintenance Cost Invisible Root Program Structure Complexity Coding Practices Testability Reusability Maintainability Readability
7
Define Coding Conventions Define Testing Rules Unit Testing Static Code Analysis Test / Pre-prod environment Implement Continuous Integration Quality control performed frequently 14/06/2012Jean-Christophe Garnier7
8
Improve readability for long-term maintenance Indentation Name length Acronyms Syntax highlighting Discussion still on-going Following or extending CO rules Helping and auditing using code checking tools 14/06/2012Jean-Christophe Garnier8
9
Purpose Correctness of individual modules No contact with outside -> Mocking Test Driven Development? Solutions Toolset already established by CO for Java C++ definition on-going -> Google Testing 14/06/2012Jean-Christophe Garnier9
10
Purpose No program execution needed Check for possible coding errors Formal methods to check if program behaviour matches specifications Solutions PH-SFT using Coverity ▪ Line of Code license or Team License BE-CO ▪ CheckStyle ▪ FindBugs ▪ PMD 14/06/2012Jean-Christophe Garnier10
11
14/06/2012Jean-Christophe Garnier11 Coverity FindBugs
12
Tests in an exact copy of the production environment Decoupled from operation Needed for the Post-Mortem data collection 3 alternatives EN-ICE test-bed BE-CO test-bed Virtual test-bed 14/06/2012Jean-Christophe Garnier12
13
Automatic build Automatic test execution Audit of code quality Using Bamboo from CO for Java projects 14/06/2012Jean-Christophe Garnier13
14
CheckStyle Static Code Analysis with PMD Code Coverage
15
Projects in Continuous Integration AccTesting PcInterlock SMP software To be done BIS and QPS software Post Mortem data collection ▪ See with BE-CO and EN-ICE to compare different solutions Limits Report’s configurations is not consistent yet Better having the same tool for Java and C++ 14/06/2012Jean-Christophe Garnier15
16
R&D Software Upgrade Working Group 14/06/2012Jean-Christophe Garnier16
17
Identify and extract redundant features Projects were developed independently by different developers Some features could prove to be useful for other projects ▪ SMP Logger to be extended for BIS ▪ History Buffer interpretation and display ▪ Client / Server architecture ▪ Etc. 14/06/2012Jean-Christophe Garnier17
18
Software Quality Tools Inventory and test of existing tools ▪ Particularly for C++ Analysis of software development practices and tools ▪ Consistent configurations ▪ Spread across technologies and groups Change-tracking framework ▪ Better diagnostic on software failure 14/06/2012Jean-Christophe Garnier18
19
Aims Quality of upgrade interventions Software quality Standardization of development practices Involved groups BE-CO, BE-OP, BE-BI, BE-RF, EN-STI, EN-CV, EN- ICE, GS-ASE, TE-ABT, TE-PO, TE-MPE Numerous possible contributions 14/06/2012Jean-Christophe Garnier19
20
Technologies Spring Framework Project Management Agile Programming with Scrum eXtreme Programming (XP) 14/06/2012Jean-Christophe Garnier20
21
Open Source Programming and configuration model Inversion of Control Configure the objects at run-time from outside ▪ Create the dependencies and the dependant object ▪ Inject dependencies into dependant object Enhance testability Aspect-oriented programming Improvement for crosscutting concerns Enhance maintainability Many other nice features 14/06/2012Jean-Christophe Garnier21
22
Spring for future projects Simplify application configurations Simplify maintenance Testability ▪ Injecting mocked objects Not intrusive Already used in PcInterlock AccTesting SMP pre-op 14/06/2012Jean-Christophe Garnier22
23
14/06/2012Jean-Christophe Garnier23 Main characteristics Self-Organizing teams Requirements are captured as items in a list of “product backlog” Product progresses in series of 2-4 week “sprints” = iteration Monitoring progress per day and per sprint Extracted from slides from Mike Cohn – mike@moutaingoatsoftware.com
24
14/06/2012Jean-Christophe Garnier24 Roles Product Owner ▪ Define and prioritize features of the product ▪ Define deadline ▪ Available to provide information/feedback frequently Scrum Master ▪ Management of the project ▪ Interface with outer world Team ▪ 5-9 full time people ▪ Self organized
25
14/06/2012Jean-Christophe Garnier25 Statistics on 230 people in 150 companies, computed by Scrum User Group France in 2009 Adopted Agile Methods Used Scrum practices Scrum users: Google, Microsoft, Yahoo, Siemens, Nokia, CERN (EDH developer team), etc.
26
14/06/2012Jean-Christophe Garnier26 Customer satisfaction Developer satisfaction
27
14/06/2012Jean-Christophe Garnier27 Specific engineering practices Automated Testing ▪ On-going Test Driven Development ▪ Long term idea Pair Programming ▪ Writer focuses on current task ▪ Observer considers the overall direction ▪ Frequent switching of roles Refactoring Collective Code Ownership
28
14/06/2012Jean-Christophe Garnier28 Software Quality Long term objective, needs assimilation Identifying standard tools in collaboration with other groups Project Management Start using Scrum and XP ▪ Agree on which practices, if not all Review feedback ▪ Internal and External points of view http://wikis/display/MPESC/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.