100 likes | 207 Views
LCG Software Process & Infrastructure. Software Process panel SPI. GRIDPP 7 th Collaboration Meeting 30 June – 2 July 2003 A.Aimar - CERN. LCG Application Area. Project context of LCG SPI. LHC grid software applications (LHC experiments, projects, etc).
E N D
LCG Software Process & Infrastructure Software Process panelSPI GRIDPP 7th Collaboration Meeting 30 June – 2 July 2003 A.Aimar - CERN LCG - Software Process & Infrastructure
LCG Application Area Project context of LCG SPI LHC grid software applications (LHC experiments, projects, etc) • LCG Application Area software projects • POOL: Persistency • SEAL: Core common software • PI: Physics Interfaces • SIMU: Simulation • …etc… LCG Infrastructure • Common services • Similar ways of working (process) • Tools, templates, training • General QA, tests, integration, release LCG SPI project LCG - Software Process & Infrastructure
Project context of the LCG SPI • “Software Management Process RTAG” • General recommendations • All LCG projects must adopt the same set of tools, standards and procedures • Adopt commonly used open-source or commercial software when easily available • Avoid “do it yourself solutions” • Avoid commercial software, if may give licensing problems • If each project needs an infrastructure, many projects need it even more… • Tools, standards and procedures • Try to avoid complexity LCG - Software Process & Infrastructure
Coding Development Analysis and Design Release Planning Testing Specifications Deployment and Installation ….. ….. Infrastructure Software Development Software Development General Services • Keep it “simple and modular” a. Provide general services needed by each project • CVS repository, Web Site, Software Library • Mailing Lists, Bug Reports, Collaborative Facilities b. Provide solutions specific to the software phases • Tools, Templates, Training, Examples, etc. LCG - Software Process & Infrastructure
Purpose, scope, objectives • The goal of the project is to provide • basic environment for physics SW development • general scientific libraries class libraries for PP applications • software development tools • documentation tools and document templates • and define the support • activity necessary to ensure that a common grid-enabled environment is available LCG - Software Process & Infrastructure
No specific software development The project should avoid any new development, and future maintenance, of any specific software package needed for the LCG software infrastructure. Use HEP or free software All software used should be already available, or become available, in the HEP community or in the free software community The goal of the project is to define an infrastructure and later a simple process Future maintenance will need separate planning and resources. Everything is done in collaboration LCG and LCG projects IT division and LHC experiments Big projects (G4, Root, etc) Using as the existing IT services The project should use all existing IT services Make sure they match the LCG needs Project guidelines LCG - Software Process & Infrastructure
Process for later… LCG - Software Process & Infrastructure
Break-down the infrastructure User Requirements Analysis and Design Development Release Deployment and Installation Testing Distribution Validation Planning ….. ….. Documentation • Break the project in “components” • Each is a sub-project • A responsible person in the LCG SPI • Understand and learn the subject • Know/find who knows about the subject • Provide practical solutions, usable independently LCG - Software Process & Infrastructure
Component development • Each component of the infrastructure has: • A responsible person in the project • Similar SIMPLE approach • Define the goal of the component • Standard procedures and documentation • Standard procedure • Survey of possible/existing solutions in HEP and free software • Meet the people expert and responsible of the component in real projects (LCG or experiments or big projects) • Discuss and agree/decide/verify a solution • Present the solution • Implement the solutions and make it available • Use in the LCG SPI project itself • Use it in a real project (LCG or experiment or big project) LCG - Software Process & Infrastructure
Suggestions / Hints • When a solution looks quite accepted just do it (and then fix it) • Keep it simple and modular • Never use words like “process, ISO, plan, strategy”: speak the language of the users and developers • Start with something the developers can use right away • Know and talk to the skeptical people not to those (few ;-) )that agree with you • The users must be convinced that they are taken into account, you must know them and they must know you • Ask help to the users to work with you • An homogenous solution has a value in itself. Even if it is not a process, it helps to share things and improve all together LCG - Software Process & Infrastructure