Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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?


Download ppt "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."

Similar presentations


Ads by Google