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.

Slides:



Advertisements
Similar presentations
Iterative Development: Done Simply Emily Lynema NCSU Libraries Code4Lib 2010.
Advertisements

JIRA Agile for Your Agile Implementation by Rajeswari Pandyram & Kevin Coughlan.
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Agile at ON.Lab Bill Snow VP of Engineering. What is waterfall? RequirementsDesignDevelopTest Or Requirements Design Develop Test Time.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
<<replace with Customer Logo>>
JIRA – An Introduction -Arpit Jindal
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
NAUG NAUG Knowledge Evening – th February 2007.
Agile development By Sam Chamberlain. First a bit of history..
Agile-SCRUM. Introduction to SCRUM Sanil Xavier What is Scrum?
SE-2800 Dr. Mark L. Hornick 1 SE-2800 Software Engineering Process Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick SE2800.
Agile/Scrum Case study Code name: ninja.  2 scrum teams  One product backlog  8 months so far  Long term project  External integrations  R&D and.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
> Blueprint Kickoff >. Introductions Customer Vision & Success Criteria Apigee Accelerator Overview Blueprint Schedule Roles & Responsibilities Communications.
CERN - IT Department CH-1211 Genève 23 Switzerland t SVN Pilot: CVS Replacement Manuel Guijarro Jonatan Hugo Hugosson Artur Wiecek David.
CWG2 Tools, Guidelines and Procedures 16 December 2014 ALICE O 2 Asian Workshop
SDT NIWA Systems Development Team Andrew Watkins SDT Overview Taking dull repetitive work from scientists and giving it to robots since 2008.
CERN - IT Department CH-1211 Genève 23 Switzerland t Monitoring the ATLAS Distributed Data Management System Ricardo Rocha (CERN) on behalf.
Distributed Software Development Transport4You1 Project Plan Gaurav Kushwaha & Dajan Zvekic.
Extreme Programming Software Developing Methodology.
Teaching material for a course in Software Project Management & Software Engineering – part II.
Distributed Software Development Transport4You1 Project Plan Gaurav Kushwaha & Dajan Zvekic.
SCRUM introduction 6 April Scrum Team are known as pigs because they’re committed to delivering Sprint Goal People who are involved but not dedicated.
When is Agile the Best Project Management Method? Lana Tylka.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
CERN IT Department CH-1211 Genève 23 Switzerland t Internet Services Job Monitoring for the LHC experiments Irina Sidorova (CERN, JINR) on.
CERN IT Department CH-1211 Geneva 23 Switzerland t Daniel Gomez Ruben Gaspar Ignacio Coterillo * Dawid Wojcik *CERN/CSIC funded by Spanish.
CERN IT Department CH-1211 Genève 23 Switzerland t Castor development status Alberto Pace LCG-LHCC Referees Meeting, May 5 th, 2008 DRAFT.
CERN IT Department CH-1211 Genève 23 Switzerland t Internet Services Overlook of Messaging.
CS 5150 Software Engineering Lecture 3 Software Processes 2.
OFFICE OF INFORMATION AND TECHNOLOGY Mobile Applications Scrum Framework November 21, :00 am (EST) Seal of the U.S. Department of Veterans Affairs.
Mantychore FP7 WP4 (SA1) - Software Refinement. Objectives Main duties – Analysis of User Requirements – Implementation – Support and bug fixing This.
Introduction to Active Network Technology Bernhard Plattner Computer Engineering and Networks Laboratory ETH Zurich, Switzerland.
Computing Facilities CERN IT Department CH-1211 Geneva 23 Switzerland t CF SCRUM Do’s and Don’ts ITTF 31 May 2013 Miguel Santos CERN IT/CF.
Theories of Agile, Fails of Security Daniel Liber CyberArk.
CERN IT Department CH-1211 Genève 23 Switzerland t 24x7 Service Support Tony Cass LCG GDB, 24 th November 2009.
Copyright © by Mark J. Sebern Software Engineering Process I SE 2800.
Software Testing Process
WHEN TITLE IS NOT A QUESTION N O ‘WE CAN’ CA Agile Vision Product Manager Michael Lester.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
CERN IT Department CH-1211 Genève 23 Switzerland t Migration from ELFMs to Agile Infrastructure CERN, IT Department.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
CERN - IT Department CH-1211 Genève 23 Switzerland t Operating systems and Information Services OIS Proposed Drupal Service Definition IT-OIS.
CERN IT Department CH-1211 Genève 23 Switzerland t Future Needs of User Support (in ATLAS) Dan van der Ster, CERN IT-GS & ATLAS WLCG Workshop.
Geoff Davis Software Development Leader Software Development at eWater.
Globus online Delivering a scalable service Steve Tuecke Computation Institute University of Chicago and Argonne National Laboratory.
CERN IT Department CH-1211 Genève 23 Switzerland t Bamboo users meeting IT-CS-CT.
CERN IT Department CH-1211 Genève 23 Switzerland t Load testing & benchmarks on Oracle RAC Romain Basset – IT PSS DP.
(Atlassian) Software Development tools used in BE/CO Jira, Bamboo, Fisheye+Crucible, Clover
Barnes & Noble Alonda Morgan. Agile UX Agile.
10 Advantages of Agile Software Development. Contents ● Introduction ● Client Focus ● High Motivation ● Reduced Risks ● Faster Development Process ● Flexible.
The Strategic Role of Information Development in Continuous Delivery
Scrum.
Appendix B Agile Methodologies
CSDB Fiber Module IT-CS-CT.
Real World Use of Agile Software Development Methods
Work Package 4 Software Integration and Distribution
SAFe Workshop - Oct 17 Presenter: Ray Brederode
Quality Control in the dCache team.
Scaled Agile Requirements: What, When & How
Product Backlog List of things that needs to be done to make the product come into existence 
Effective way to build test Automation strategy in Agile
Scrum Overview.
SCRUM PROCESS RELEASE SCRUM PROCESS M SCRUM ROLES
Automated Testing and Integration with CI Tool
CS 577b: Software Engineering II
SOFTWARE DEVELOPMENT LIFE CYCLE
Software Development In Agile
Agile Development.
Presentation transcript:

CERN IT Department CH-1211 Genève 23 Switzerland t Towards agile software development Marwan Khelif IT-CS-CT IT Technical Forum – 31th May 2013

CERN IT Department CH-1211 Genève 23 Switzerland t Introduction Towards agile software development2 CS group –Large infrastructure (network, telephony, Wi-Fi) 3250 network equipment (switches, routers, PABX, …) 950 Wi-Fi station fixed phones / 5700 mobile phones –Limited staffing Automation + Simplified management + Robustness

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t Introduction Towards agile software development4

CERN IT Department CH-1211 Genève 23 Switzerland t Introduction Towards agile software development5 ApplicationLanguagesLOC WebReq (users)Perl + Web CSDBWeb (admins)Java + Web CFMGRPerl MagicJava SyslogPerl6 000 WINDJava MIKEPerl + Web NetLivePerl + Web LANDBPL/SQL Main applications

CERN IT Department CH-1211 Genève 23 Switzerland t Introduction Towards agile software development6 More than 200 tables

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t SDLC Towards agile software development8

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t SDLC Towards agile software development10

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t SDLC Towards agile software development12

CERN IT Department CH-1211 Genève 23 Switzerland t Agile Scrum Towards agile software development13 Daily meeting Weekly meeting <15min≈30min

CERN IT Department CH-1211 Genève 23 Switzerland t Agile Scrum Towards agile software development14 Time-boxing –Retrospective (feedback)  planning refinement Self empowered and organized –Requires team commitment Shippable code –Incremental releases

CERN IT Department CH-1211 Genève 23 Switzerland t Agile Scrum: pragmatic approach –4 weeks meeting: prioritization + estimation –GreenHopper plugin for JIRA Short term planning Towards agile software development15

CERN IT Department CH-1211 Genève 23 Switzerland t Sprint follow-up Short term planning Towards agile software development 16 Daily meeting Weekly meeting <15min≈30min

CERN IT Department CH-1211 Genève 23 Switzerland t SDLC Towards agile software development17

CERN IT Department CH-1211 Genève 23 Switzerland t Architectural Meetings Towards agile software development18 For new critical/complex features Decide on functional implementations –Involve end-users for validation Homogenize technical architecture

CERN IT Department CH-1211 Genève 23 Switzerland t Short term development process Towards agile software development19

CERN IT Department CH-1211 Genève 23 Switzerland t Short term development process Towards agile software development20

CERN IT Department CH-1211 Genève 23 Switzerland t Feature Branch Development Towards agile software development21 Static code analysis using Sonar –Only Java code checked –Multiple plugins used

CERN IT Department CH-1211 Genève 23 Switzerland t Feature Branch Development Towards agile software development22

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t Short term development process Towards agile software development24

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t Automated tests Towards agile software development26 Virtual Machines

CERN IT Department CH-1211 Genève 23 Switzerland t Short term development process Towards agile software development27

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t Peer review Towards agile software development29

CERN IT Department CH-1211 Genève 23 Switzerland t Short term development process Towards agile software development30

CERN IT Department CH-1211 Genève 23 Switzerland t Build Towards agile software development31 Atlassian Bamboo software used Automated and centralized build process –Backed by SVN repository

CERN IT Department CH-1211 Genève 23 Switzerland t Builds Towards agile software development32

CERN IT Department CH-1211 Genève 23 Switzerland t Short term development process Towards agile software development33

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland 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

CERN IT Department CH-1211 Genève 23 Switzerland t Integrated toolset Towards agile software development36 Documentation: Twiki + Doxygen Statistics: Ohcount (non-Java projects) Monitoring: Spectrum + CS Synapse Evaluating Central Atlassian services

CERN IT Department CH-1211 Genève 23 Switzerland t Questions ? Towards agile software development37 Questions?