Download presentation
Presentation is loading. Please wait.
Published byBernard Johns Modified over 9 years ago
1
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Towards agile software development Marwan Khelif IT-CS-CT IT Technical Forum – 31th May 2013
2
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Introduction Towards agile software development2 CS group –Large infrastructure (network, telephony, Wi-Fi) 3250 network equipment (switches, routers, PABX, …) 950 Wi-Fi station 12000 fixed phones / 5700 mobile phones –Limited staffing Automation + Simplified management + Robustness
3
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Introduction Towards agile software development3 CT section (7 people) –Software for automation –Critical applications CERN network and telephony depend on these High turnover + Flexible to new user demands
4
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Introduction Towards agile software development4
5
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Introduction Towards agile software development5 ApplicationLanguagesLOC WebReq (users)Perl + Web75 000 CSDBWeb (admins)Java + Web315 000 CFMGRPerl150 000 MagicJava17 000 SyslogPerl6 000 WINDJava77 000 MIKEPerl + Web27 000 NetLivePerl + Web17 000 LANDBPL/SQL180 000 Main applications
6
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Introduction Towards agile software development6 More than 200 tables
7
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Continuous consolidation strategy Towards agile software development7 Programming languages –Java, Perl, PL/SQL, Web (JS, HTML, …) Technologies –Web, Rich Client, command line Architectures Software development life cycle (SDLC) Knowledge consolidation
8
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t SDLC Towards agile software development8
9
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Full process setup since November 2011 Adapted to our needs Main goals: –Simplify software development management –Improve code quality / applications reliability –Ease knowledge transfer to new members SDLC Towards agile software development9
10
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t SDLC Towards agile software development10
11
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Atlassian JIRA used as repository (Backlog) Users requests coming from ServiceNow Long term planning –Program of work –Management decisions SDLC Towards agile software development11
12
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t SDLC Towards agile software development12
13
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Agile Scrum Towards agile software development13 Daily meeting Weekly meeting <15min≈30min
14
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Agile Scrum Towards agile software development14 Time-boxing –Retrospective (feedback) planning refinement Self empowered and organized –Requires team commitment Shippable code –Incremental releases
15
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Agile Scrum: pragmatic approach –4 weeks meeting: prioritization + estimation –GreenHopper plugin for JIRA Short term planning Towards agile software development15
16
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Sprint follow-up Short term planning Towards agile software development 16 Daily meeting Weekly meeting <15min≈30min
17
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t SDLC Towards agile software development17
18
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Architectural Meetings Towards agile software development18 For new critical/complex features Decide on functional implementations –Involve end-users for validation Homogenize technical architecture
19
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Short term development process Towards agile software development19
20
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Short term development process Towards agile software development20
21
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Feature Branch Development Towards agile software development21 Static code analysis using Sonar –Only Java code checked –Multiple plugins used
22
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Feature Branch Development Towards agile software development22
23
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Feature Branch Development Towards agile software development23 Commit validation (RepoGuard) –SVN hook applied before each commit –Code checked against Checkstyle rules –Commit aborted if check fails
24
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Short term development process Towards agile software development24
25
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Automated tests Towards agile software development25 Selenium based GUI testing (Web) –End-user experience validation –Detect integration problems Grid distribution of tests –Virtual Machines execute tests –Each test is executed against Firefox/Chrome/IE
26
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Automated tests Towards agile software development26 Virtual Machines
27
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Short term development process Towards agile software development27
28
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Peer review Towards agile software development28 At least 2 developers need to validate Detect issues and improve architecture Homogenize code style Transfer of knowledge
29
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Peer review Towards agile software development29
30
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Short term development process Towards agile software development30
31
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Build Towards agile software development31 Atlassian Bamboo software used Automated and centralized build process –Backed by SVN repository
32
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Builds Towards agile software development32
33
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Short term development process Towards agile software development33
34
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Summary Towards agile software development34 Continuous process improvement –From developers feedback Knowledge sharing is part of the process Empowers the team Team commitment Improves software quality
35
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Integrated toolset Towards agile software development35 JIRA Tracking System Bamboo Build System GreenHopper Planning Fisheye + Crucible Review Selenium Testing Sonar Analysis SVN + Repoguard Repository ServiceNow Support
36
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Integrated toolset Towards agile software development36 Documentation: Twiki + Doxygen Statistics: Ohcount (non-Java projects) Monitoring: Spectrum + CS Synapse Evaluating Central Atlassian services
37
CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/i t Questions ? Towards agile software development37 Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.