Ref SW & Testbed Mini Workshop June 2000 Software Process & Environment in Atlas Back-end Doris Burckhart CERN ATLAS DAQ/EF-1 Back-end software.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Configuration management
Configuration management
Project Management Summary Castor Development Team Castor Readiness Review – June 2006 German Cancio, Giuseppe Lo Presti, Sebastien Ponce CERN / IT.
5.1.2 Situative Planning 1 Situative Planning - A Strategic Approach to Urban Planning UPA Package 5, Module 1.
MODELING THE TESTING PROCESS Formal Testing (1.0) Requirements Software Design Risk Data Approved, Debugged, Eng. Tested Code Automated Test Tools Tested.
Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Chapter 4 Quality Assurance in Context
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
T /5115 Software Development Project I/II Project Planning Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
Stepan Potiyenko ISS Sr.SW Developer.
Lecture 2b: Software Project Management CSCI102 - Introduction to Information Technology B ITCS905 - Fundamentals of Information Technology.
Fundamentals of Information Systems, Second Edition
Iterative development and The Unified process
Process, Communication, and Certification Padma Venkata
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
EC Review – 01/03/2002 – G. Zaquine – Quality Assurance – WP12 – CS-SI – n° 1 DataGrid Quality Assurance Gabriel Zaquine Quality Engineer - WP12 – CS-SI.
Configuration Management
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 18 Maintaining.
Software Configuration Management
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
SQA Work Procedures.
Release & Deployment ITIL Version 3
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
SPI Software Process & Infrastructure GRIDPP Collaboration Meeting - 3 June 2004 Jakub MOSCICKI
Chapter : Software Process
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
RUP Fundamentals - Instructor Notes
Chapter 2 The process Process, Methods, and Tools
System Analysis and Design
Maintaining Information Systems Modern Systems Analysis and Design.
CHEP2000 February 2000 Impact of Software Review and Inspection Doris Burckhart CERN ATLAS DAQ/EF-1 Back-end software.
Copyright © Jerzy R. Nawrocki Requirements Review Requirements Engineering & Project.
Software Quality Assurance Activities
CO2403 and CO3808 – Quality Management Systems Quality process definition, administration and accreditation.
EMI SA2: Quality Assurance (EMI-SA2 Work Package) Alberto Aimar (CERN) WP Leader.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Requirements Verification & Validation Requirements Engineering & Project Management.
Configuration Management (CM)
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Project Tracking and Monitoring QMS Training. 2 Objective To track and monitor the progress of the project and take appropriate corrective actions to.
Software Quality Assurance
CERN Equipment Management Integrates Safety Aspects EDMS Doc Eva Sanchez-Corral Mena, Stephan Petit / CERN 1 CERN Equipment Management Integrates.
LCG-SPI: SW-Testing LCG AppArea internal review (20/10/03)
Firmware - 1 CMS Upgrade Workshop October SLHC CMS Firmware SLHC CMS Firmware Organization, Validation, and Commissioning M. Schulte, University.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Project Overview LCG Application Area Internal.
12 March, 2002 LCG Applications Area - Introduction slide 1 LCG Applications Session LCG Launch Workshop March 12, 2002 John Harvey, CERN LHCb Computing.
Advances In Software Inspection
~ pertemuan 4 ~ Oleh: Ir. Abdul Hayat, MTI 20-Mar-2009 [Abdul Hayat, [4]Project Integration Management, Semester Genap 2008/2009] 1 PROJECT INTEGRATION.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
Comments on SPI. General remarks Essentially all goals set out in the RTAG report have been achieved. However, the roles defined (Section 9) have not.
Software Project Configuration Management
Chapter 18 Maintaining Information Systems
Chapter 11: Software Configuration Management
IEEE Std 1074: Standard for Software Lifecycle
Chapter 11: Software Configuration Management
Maintaining Information Systems (SAD- 18)
QA Reviews Lecture # 6.
Chapter 18 Maintaining Information Systems
Impact of Software Review and Inspection
Presentation transcript:

Ref SW & Testbed Mini Workshop June 2000 Software Process & Environment in Atlas Back-end Doris Burckhart CERN ATLAS DAQ/EF-1 Back-end software

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 2 Content Introduction Why a software process The Back-end DAQ Software The Back-End SW Development Process Organisation Phases and Deliverables Software Management Review and Inspection Summary Lessons learnt Summary

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 3 Why a Software Process Define the obvious, plus... define and meet user requirements define structured but flexible work-plan defining responsibilities define interfaces between components define interfaces to external systems Closely follow-up on progress avoids unrealistic goals tracks problems early improves communication provides basis for iterative development Some initial points

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 4 Software Development Version Control Software Release Tool Software Development Process Common Working Culture Standards Agreements Rules Basic Framework Software Development Environment checklists Documentation Configuration Management Testing Tools Development Tools

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 5 Back-End Integration in Atlas online

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 6 Back-end Components

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 7 Back-End Software Process ‘ Light’ Software Process We are not Gurus, just concerned developers based on ‘best effort’ approach - not perfect not formally described in a document but it is on the Web ! -> easy to be updated and to work with Structured Organization - Helpful Framework Process relies on division into component and on a development structured into phases Define and agree on common goals -> community feels responsible for the results -> increased communication Collaborate with Atlas offline where possible coding rules

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 8 SW Development Process identify needs & common issues, define priorities and work-plan, define components perform pre-design investigations -> identify candidate technologies/techniques develop high-level design refine design, implement code 180,000 lines of C++ 40 % generated unit test components integrate with other subsystems Total lines incl. external sw Collect Requirements Pre-design Investigations High-level Design Testing & Integration Detailed Design Implementation Training, Programming and Testing Tools, FrameMaker, html, SRT Configuration Management, StP/OMT CASE TOOLS Software Development Environment

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 9 Organization /1 Work is organized around components small groups dedicated to each component (up to 4 developers) one coordinator for each component prefer one institute per component -> clear boundaries of responsibilities most developers follow a component all the way through its lifecycle look for commonalties between components - don’t duplicate functionality take / reuse as much as possible from colleagues: code, ideas, documentation, templates, examples

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 10 Organization /2 Components developed according to an agreed priority started with core components (run control, config. Databases,...) Then working on additional components (I.e. Online Book- keeper) Component independent parts Software Management (I.e. SRT, CVS) Use of external software (Corba/ILU, Rogue Wave Tool.h++, CmdLine, CHSM) - one developer responsible for each package Supported platforms: those agreed on in the Atlas DAQ community constraint: minimize number of platforms because each platform represents a lot of work for the build and releases of the SW

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 11 Templates and Guidelines Doc. Templates developed within the project generic technical note (FrameMaker) test plan - test report Doc. Templates taken from IP/IPT group user requirements users guide Check-lists and guidelines brief requirements, design and general doc.check-lists C++ coding standards pointers to short easy-to-read ideas about design and testing by Gurus on the Web Simple “how-to’ instructions for most commonly used tools (e.g.SRT)

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 12 Software Management Back-end software grouped into components components map on to SRT packages all packages together form a software repository Test + Build Environment Tools + Release Tools -> Release nightly or official

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 13 Tools: CVS & SRT CVS : Concurrent Version System Used as Code Management System Includes Version Control and Management Keeps track of iterations Control and track changes in our development environment while we are working SRT: Software Release Tools Organizes the development effort at the level of the software as a whole Builds and releases products such as libraries and executables Groups our software as a collection of specific versions of package files - for day to day work and for official release

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 14 Nightly builds Automatic, regular - early problem finding developers commit modified sw to cvs every night new version of the sw in the repository is build on each platform. runs from a batch job each working day during night the latest version of each package is checked out and compiled and linked on each platform. check target is executed. authors of a package will receive an automatically if the build process failed for their package - to be corrected a.s.a.p. The results of the build process are held in temporary log files visible through the web page all binaries, objects and libraries produced by the nightly build will be removed before the next nightly build.

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 15 Official Releases Release every 2 months - time-consuming package developer: steps as for nightly, plus identification (tag) release notes thorough integration testing (2- 3 weeks) represents lots of work for the software librarian each release is given a unique identifier distributed on CD-ROM

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 16 Iterative Development Cycle Document Inspection Code Inspection Document Inspection Applying Testing Tools Code Inspection Requirements Design Test Implementation Documentation Test Plan Implementation Unit Test Use, Maintenance of a Component Integration Test Feedback other components

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 17 Review - Inspection Review: Presentation of each SW Component to the Group in each Development Phase Discussion and Coordination with other components Goal: Clarification and Accept/Reject Decision Goal: Clarification and Accept/Reject Decision Inspection: Quality Improvement Process to the software project Goal: Defect Detection & Defect Prevention Goal: Defect Detection & Defect Prevention

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 18 Informal Review From the start of the project document preparation and monthly open meetings present status, results, proposals inform colleagues - receive feedback suggestions -> enhancements -> acceptance Results: Coherent set of end-product components Increased communication Drawback: Lack of time of reviewers No code review

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 19 Inspection - Objectives Defect Detection documents are checked for cleanness and consistency against rules Defect Prevention learning from defects found suggesting improvements On the Job Training education in standards and rules apply creativity

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 20 Sources Inspection Process Map Inspection Team: Inspection Leader Authors Inspectors Planning & Entry Kick-off Meeting Checking Logging Meeting Brainstorming Edit Exit Follow-up Inspection Plan Issue log tables Action Lists Exit Product Data Summary Change Requests Product Rules Checklists Based on Tom Gilb’s Inspection method

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 21 Results 3 Requirement Inspections 2 Design Inspections 5 Code Inspections Total : ~ 200 pages of documents, lines of code Each issue is logged, discussed, checked Emphasis on non-trivial issues Per Inspection : 10 to 200 issues found Number of recorded issue logs depends on : Type of Inspection, Phase of Project, Entry conditions, Experience of Inspectors, Counting system -> Improved Code -> Improved Documentation

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 22 Inspection Process Results Change Requests To Rules for Requirements, Design or Coding To the Inspection Procedure Action Lists Actions to be performed outside the Inspection Process Questions to be clarified, i.e. beyond the scope of Inspection Observations: Requirements: most important, the first in the chain: a bug may propagate to the end -> unwanted results even with perfect code Design: the hardest to inspect, difficult to provide a good set of guidelines Code: most time consuming: Code & Documentation, mother documents & reference documents, Need good set of rules, Use of automatic checking tools

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 23 Adaptation to Environment Everything is allowed which helps improving process product communication cooperation, education integration, coherence while keeping Consistency and improving Efficiency HEP: geographically distributed no specialized expertise little formal training little hierarchical power participation by conviction

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 24 Efficiency - Flexibility Efficiency Inspection is time consuming - don’t waste time and effort of inspectors Careful planning and Clear Instructions Solid Process Framework Inspect Samples, ‘light’ Inspections Motivation of peers Flexibility Build in change Management Well defined procedure - but each inspection to be handled individually

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 25 Experience Inspection is Take fears seriously Explain aims Respect privacy Demonstrate helpfulness Participation Trust amongst colleagues Constructive criticism Integration Common working culture Fear to be criticized and judged

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 26 Lessons Learnt: Organization Component model is effective Clear interfaces allows parallel development by multiple groups Small group dedicated to each component (max. 4 developers) One coordinator for each component One institute per component works best Component development based on agreed priority (core components first) Look for commonality between components - avoid duplication Centralised integration is best Need people and tests dedicated to this task Must have good collaborative tools Code repository, release management, web site, mailing lists etc. External software (Corba/ILU, Tools.h++, CmdLine, CHSM etc.) One developer responsible for each external package

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 27 Lessons Learnt: Software Process Software process is important do start gently (can’t go from chaos to Nirvana in one step) do tune your software process according to your project do keep it simple and stick with it (don’t abandon ½ way through) do review/inspect every deliverable (requirements, design, code etc.) do provide templates, checklists and examples for all deliverables do get a non-author to perform component testing do encourage developers to share their work and ideas Things to avoid don’t ask developers for a deliverable unless it will be used don’t underestimate time & effort for SW mgmt, integration & test.

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 28 Lessons Learnt: Software Releases Each one must be better than the last Iterative development model reduces errors and risks Use feedback to drive/focus work Nightly on all supported platforms - build & test Official - coincide with Back-end meetings: discuss status of last release and contents of the next More platforms == more work Implies every developer has access to every platform Try to keep the list short - agree within experiment Software librarian != developer Librarian is not there to fix faults in the software Web page gives access to build log for each component A release is an important milestone and a lot of work for everybody

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 29 Summary We need this working SDP & SDE as a helpful framework and to assure quality to hold software efforts from Institutes together, collect fractions of manpower to keep development of components in line to keep track of modification and versions to always know where we are, keep documents Reviews prepare the ground and stabilize SDP Adaptation of the Inspection method to the Environment is necessary Use Review and Inspection through entire SW life cycle Gain in quality and experience, appreciated by authors and peers Help for team building in a distributed environment

June 2000 Software Process and Engeneering Environment in Atlas Back-End - Doris Burckhart 30 References Atlas DAQ technical notes Software Development Environment -> pointers to all relevant topics mentioned in this presentations, like Component Development Procedure how to use SRT introduction to CVS and more...