How the Open Source tools and spirit enable better projects July 09 th 2009



Similar documents
Java Software Quality Tools and techniques

Software infrastructure for Java development projects

Model Driven Development for Composing Business Applications. Jean-Loup Comeliau (W4)

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

Open Source Tools. The Magazine for Professional Testers. December 2010

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

SMZ. SocialMedia. Z olutions

Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool

HP Agile Manager What we do

Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Agile Best Practices and Patterns for Success on an Agile Software development project.

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Continuous Integration Multi-Stage Builds for Quality Assurance

SAP Technical Brief SAP NetWeaver. Increase IT Productivity with ABAP Development Tools for SAP NetWeaver

Your Technology Partner Offshore and Onsite. Services Portfolio

JBoss. choice without compromise

IBM Rational Web Developer for WebSphere Software Version 6.0

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Introduction to Agile Software Development Process. Software Development Life Cycles

A Software Development Platform for SOA

Effektiver Tool-Einsatz

EBA Procurement Procedure for the Supply of Website Services 2016: Annex 1 System Architecture Document SYSTEM ARCHITECTURE DOCUMENT

Effective feedback from quality tools during development

Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

JAVA/J2EE DEVELOPER RESUME

OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER

The 3C Approach for Agile Scrum Software Methodology Jisha Johns, Akhil P Sivan, Prof. K Balachandran, Prof. B R Prathap

A Practical Guide to implementing Agile QA process on Scrum Projects

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Enhancing The ALM Experience

Upping the game. Improving your software development process

Advanced Test-Driven Development

Java/J2EE or Web Developer. Formal Education. Technical knowledge. Spoken Languages

SUMMARY CURRICULUM VITAE J. Andries

Objecteering. The convergence of SOA, UML2, BPMN and EA, for Model-driven Engineering.

WHITE PAPER GoundWork: Bringing IT Operations Management to Open Source and Beyond

Software Engineering I (02161)

Document Management. Document Management for the Agile Enterprise. AuraTech Pte Ltd

BONITA, The Open Source BPM Solution

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability

Software Construction

<Insert Picture Here> Building a Complex Web Application Using ADF and Siebel

Delivering Quality Software with Continuous Integration

CMMI and IBM Rational Unified Process

Build management & Continuous integration. with Maven & Hudson

are you helping your customers achieve their expectations for IT based service quality and availability?

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

New Web Application Development Tool and Its MDA-Based Support Methodology

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Hexacta - A Case Study in Oil and Gas Industry

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

Continuous Integration Processes and SCM To Support Test Automation

Information Technology Services

HP ALM11 & MS VS/TFS2010

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

APPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS

Development of a Personal Budgeting Application Using the Waterfall Model. Lorena Flores and Dr. Jacalyn Huband Department of Computer Science

Jenkins: The Definitive Guide

Curriculum Vitae E. A. Java/JEE developer

Agile Development with Jazz and Rational Team Concert

SA4 Software Developer Survey Survey Specification v2.2

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

HP Application Lifecycle Management

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions

DHANE Amir. Professional Experiences. Objectives. Senior Java/J2EE Developer/ SOA Architect. SOA Architect Since January 2014

APPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS

Oracle Application Development Framework Overview

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

Development Testing for Agile Environments

Actuate Business Intelligence and Reporting Tools (BIRT)

Solutions for Quality Management in a Agile and Mobile World

Nicholas J. Parks, M.S.W.E

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

Eclipse BPMN Modeler Introducing Intalio Designer

Software Development. Overview.

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

The leading platform for Model Driven Architecture (MDA) Content:

Meister Going Beyond Maven

What s New in IBM Web Experience Factory IBM Corporation

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Transcription:

RMLL / Libre Software Meeting 2009 How the Open Source tools and spirit enable better projects July 09 th 2009 Erlé Le Gac Bertrand Florat

Contents FLOSS*, a strategic choice for us FLOSS* within the project life cycle Design through Model Driven Development Development : tools, methods and frameworks we use Quality insurance : How FLOSS enables global quality from coding to publishing (*) FLOSS = Free Libre Open Source Software (E) RMLL 2009

FLOSS is a strategic choice Direct benefits : economic choice Profitability, Budget focus on value-added business but we need Performance. Good compromise between efficiency and usability Indirect important benefits for an IT integrator Ease in recruiting skilled employees Software perenity Collaborative appoach ensures good support No license means no legals headeach, trial licenses, token servers complifying the architecture... (E/B) RMLL 2009

Contents FLOSS*, a strategic choice for us FLOSS* within the project life cycle Design through Model Driven Development Development : tools, methods and frameworks we use Quality insurance : How FLOSS enables global quality from coding to publishing (*) FLOSS = Free Libre Open Source Software RMLL 2009

FLOSS is used in any phase of the project Single iteration / sprint for Scrum projects (B) RMLL 2009

Contents FLOSS*, a strategic choice for us FLOSS* within the project life cycle Design through Model Driven Development Development : tools, methods and frameworks we use Quality insurance : How FLOSS enables global quality from coding to publishing (*) FLOSS = Free Libre Open Source Software RMLL 2009

Model Driven Development : from design to generation (E) RMLL 2009

The MDD concept Model Driven Development MDA : Topcased (includes an UML editor) DSM : EMF / GMF Unedic : Full open source approach Capgemini SoFa : mixed approach, open source complemented with a commercial solution (Obeo Designer) Sometimes commercial solution required When the FLOSS is less profitable Generator : Acceleo (E) RMLL 2009

@Unedic, a DSM cuts down development costs by 30% 5000 day-man Unédic project (EMF, GMF, Acceleo) Capgemini consulting support DSM built by OBEO 1 meta-model, 100 meta-entities, 3 modelers, 70 templates Cost of the tool : 200 day-man Productivity gain : 30 % (B) RMLL 2009

Contents FLOSS*, a strategic choice for us FLOSS* within the project life cycle Design through Model Driven Development Development : tools, methods and frameworks we use Quality insurance : How FLOSS enables global quality from coding to publishing (*) FLOSS = Free Libre Open Source Software RMLL 2009

Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted application server The trend is for us to use Eclipse in place of commercial offers our customers used (RSA, BEA WorkShop, ) Beyond Eclipse tool itself, we leverage : Numerous powerful FLOSS plugins Internal plugins Bundle releases (EMF, GMF, Mylyn, Birt, ) Development is made more efficient through centralized and unified tool (single place for the modeler, the generator, the IDE, the RDBMS browser etc.) (E) RMLL 2009

Eclipse is a standard that comes with a set of almost-standard FLOSS plugins (E) RMLL 2009

FLOSS frameworks are now totally ubiquitous within major companies applicative architecture Main frameworks we use by architecture tiers : Presentation / GUI Navigation process Web : JSF, GWT RIA / RDA : Swing, RCP Struts, Spring MVC JBPM Services Rules Axis Drools Persistence legacy Hibernate - Ibatis (B) RMLL 2009

We code agile with XP Main XP* practices we use the most : Test Driven Development (TDD) Even Test-first in some projects (especially for technical code) Coding standard Shared code layouts / rules Continuous Integration "Bob the builder" is the "slave" member of the team! Detect dev and integration issues early, save time and money Tools : Hudson rocks! (*) XP = extreme Programing is a set of best practices and rules used to make projects more agile. (B) RMLL 2009

Improving exchanges between technical integration and continuous integration We set up an Continuous Integration Platform (ICP) to consolidate : Coding Continuous Integration Technical Integration This ICP improves communication between actors who shares a common tool : Technical framework responsible Developers Technical integrator Project manager (E) RMLL 2009

Hudson is probably currently the best Continuous Integration tool (B) RMLL 2009

Unit tests For TU coding, we use the ubiquitous JUnit available within Eclipse...and the mock framework Mockito coming with abilities to manage behavior of dependencies of the targeted component. (E) RMLL 2009

Contents FLOSS*, a strategic choice for us FLOSS* within the project life cycle Design through Model Driven Development Development : tools, methods and frameworks we use Quality insurance : How FLOSS enables global quality from coding to publishing (*) FLOSS = Free Libre Open Source Software RMLL 2009

Quality analysis Main goals : Keep code style homogeneous and formal among developers (Checkstyle) Detect potential flaws and bugs (Findbugs) Provide metrics (JavaNCSS) Detect rules violations (PMD) Tests coverage analysis (Cobertura) All this metrics can be customized according team and customer specifications (often contractual) We use Sonar Provides a global dashboard targeting project managers.. but also offers full drill-down vision to developers (B) RMLL 2009

Sonar is the leading FLOSS solution as quality center (B) RMLL 2009

Automated functional validation Open sources solutions combination is sometimes more relevant than commercial products Watin (Watij) allows automated nonregression validation : Screen navigation Business rules View Rules Business services Cobertura allows measuring test coverage Unlike unit tests, all the Java code is instrumented test coverage is more representative (E) RMLL 2009

Performance testing We make performance testing campaigns after functional qualification and in near-production situation These tests aim to ensure early good performances Verify that performance was not degraded by contentions or bugs A loading test workshop relies on tools such as (E) RMLL 2009

FLOSS monitoring is production-proof! Efficient monitoring solution is critical for an information system. We have to : Be proactive, foresee production incidents Be fast in detecting production issues Assessing overall performance of the information system (Capacity Planning...) To implement open supervision we use : Nagios and plugins Centreon : Configuration and Restitution NagVis : Map view application RRDTool : Trend curves (E) RMLL 2009

Conclusions Most of Capgemini Ouest software factory is made of FLOSS tools FLOSS tools now covers all the software engineering scope This choice is strategic for us Open technology (standards, formats) Easier to find skilled staff Better support from community Profitability (E/B) RMLL 2009

Questions?

Contacts : Erlé LE GAC Senior Architect erle.le-gac@capgemini.com Bertrand FLORAT Senior Architect bertrand.florat@capgemini.com