SlideShare a Scribd company logo
eXo Software Factory
                             Harder, Better, Faster, Stronger




Friday, January 27, 12
Software Factory Team
                         •   Software Factory Team
                             •   Development rules and recommendations
                                 •   Methods and Tools
                                 •   To improve quality and productivity
                             •   Teams training
                                 •   To improve ours skills
                             •   Support & Accompaniment
                                 •   About tools, methods, processes, and technical


Friday, January 27, 12
Skills Catalog
                         • Development practices
                           • Unit tests, integration tests, functional
                              tests, web tests, performances tests
                           • Code quality
                           • Java/JEE & Production Architecture
                         • Development tools
                           • Build, Packaging, IDE ..
Friday, January 27, 12
How are we working ?
                         •   Documentations are in ours WIKIs
                             •   http://wiki-int.exoplatform.org/display/
                                 exoSoftwareFactory/Home
                         •   Activity is tracked in Jira :
                             •   http://jira.exoplatform.org/browse/SWF
                         •   Contact us :
                             •   Email : exo-swf@exoplatform.com
                             •   Skype : aheritier


Friday, January 27, 12
Confluence
                            WIKI




Friday, January 27, 12
Confluence




Friday, January 27, 12
SCMs
                         Sources management




Friday, January 27, 12
Subversion
                         •   https://svn.exoplatform.org/projects/
                             •   Private and public R&D projects
                         •   https://svn.exoplatform.org/exo-int/
                             •   Private developments
                         •   https://svn.exoplatform.org/cp
                             •   Customers projects
                         •   https://svn.exoplatform.org/sandbox/
                             •   Sandbox


Friday, January 27, 12
Git                     Proof of
                                                                            concept




                         •   https://git.exoplatform.org/public/
                             •   Public projects
                         •   https://git.exoplatform.org/private/
                             •   Private projects
                         •   Tests repositories
                             •   https://git.exoplatform.org/public/tests-git/
                             •   https://git.exoplatform.org/private/tests-git/


Friday, January 27, 12
Nexus
                         Binaries management




Friday, January 27, 12
Nexus




Friday, January 27, 12
Nexus for productivity




Friday, January 27, 12
Nexus for
               collaboration
              Deploy 3rd Party Artifacts
              Collaborate with Internal
                     Repositories
          Distribute to the community with
                 Public Repositories
            Distribute to customers with
                 Private Repositories



Friday, January 27, 12
Jira
                         Issues and tasks management




Friday, January 27, 12
Jira




Friday, January 27, 12
Jira with Greenhopper




Friday, January 27, 12
Jira with Bonfire




Friday, January 27, 12
Jenkins
                     Automation and scheduling : Build, Tests, Deployment




Friday, January 27, 12
Jenkins




Friday, January 27, 12
Continuous
                   Integration
                Build, Test and Deploy ASAP
                       Using Maven 2/3
               From sources in SVN or GIT
               googlecode, jboss, exo, github
                             repos
                  To Maven repositories
                          >100 jobs



Friday, January 27, 12
Packaging
           Generate the full packaging of our
                        products
                Ready for demo or tests
          Use upstream constraints and a large
        quiet period to not launch them to often
            Use priority sorter plugin with a
                    reduced priority
                        ~15 jobs




Friday, January 27, 12
Mobile developments - continuous
                           integration and deployment
Friday, January 27, 12
Reporting and
                                  dashboards
                         • Jenkins => Teams
                          • Emails (email-ext plugin)
                         • Teams => Jenkins
                          • Dashboard views
                          • Radiator views

Friday, January 27, 12
Dashboards




Friday, January 27, 12
Unstable Build
                          Notification




Friday, January 27, 12
Build Failure
                         Notification




Friday, January 27, 12
Radiator views




Friday, January 27, 12
Quality management
                         •   Sonar reports everyday if the code had changed
                             (polling)
                             •   ~90 jobs
                         •   Continuous deployment and integration or
                             performances tests
                             •   Jmeter
                             •   Selenium
                             •   JMXTrans / Graphite / Zabbix for monitoring


Friday, January 27, 12
Sonar
                         Quality management




Friday, January 27, 12
Sonar, a quality
                           dashboard




Friday, January 27, 12
Sonar, analyze your
                               project




Friday, January 27, 12
Sonar, Continuous
                          Improvement ?




Friday, January 27, 12
Acceptance
                           Tests platform




Friday, January 27, 12
Acceptance




Friday, January 27, 12
Fisheye & Crucible
                          Sources browsing and code review




Friday, January 27, 12
Fisheye/Crucible




Friday, January 27, 12
Teams Code Reviews
                           Asynchronous, distributed discussions




Friday, January 27, 12
Have fully threaded conversations
                 about source code with your others.
Friday, January 27, 12
Simply click on some lines to add
                                     comments.
Friday, January 27, 12
Comments can be displayed inline or
                   next to the code they refer to.
Friday, January 27, 12
Flag a comment as a defect to
                                  highlight it.
Friday, January 27, 12
Teams Code Reviews
                               Manage reviews




Friday, January 27, 12
Features
                         •   Pre-commit: reviewing content that is not under version control. Upload a
                             piece of code, a file or cut-and-paste from your IDE.
                         •   Post-commit: reviews after the code is committed to the repository.
                         •   Moderated: reviews can have a moderator responsible for a review;
                             creating, approving, and determining when a review is finished.
                         •   Un-moderated: a streamlined process where the review author is the sole
                             person who starts and stops the review is a simple default.
                         •   Snippet: a pastebin service meets peer review - you can simply paste some
                             code and start discussing it with the team, without the need for any formal
                             code review workflow.
                         •   Changeset discussions: commit messages allow a developer to provide
                             information with a commit. Provide free form comments on commit
                             messages.




Friday, January 27, 12
Browsing changesets, searching for files,
                    or uploading a patch to add content
Friday, January 27, 12
You can use the classic review roles Moderator,
                  Author and Reviewer or let anyone do anything.

Friday, January 27, 12
Only a title and code are needed to
                          start a Snippet Review.
Friday, January 27, 12
Use change set comments as a
                          catalyst for code discussions.
Friday, January 27, 12
Reviews evolve as your code evolves

Friday, January 27, 12
Live updates and notifications
Friday, January 27, 12
Teams Code Reviews
                              Dashboard & Reports




Friday, January 27, 12
Activity Stream
Friday, January 27, 12
Who is holding up
Friday, January 27, 12
Which issues are being held up by
                                    reviews?
Friday, January 27, 12
Teams Code Reviews
                               Jira Integration




Friday, January 27, 12
Create Jira issues
Friday, January 27, 12
Resolve subtasks from Crucible
Friday, January 27, 12
Create reviews from Jira
Friday, January 27, 12
Follow reviews attached to a jira
                                     project
Friday, January 27, 12
Conclusion



Friday, January 27, 12
SWF links
                         Subversion :                        Jira :
                         https://svn.exoplatform.org         https://jira.exoplatform.org
                         Git :                               Fisheye/Crucible :
                         https://git.exoplatform.org         https://fisheye.exoplatform.org
                         Nexus :                             Sonar :
                         http://repository.exoplatform.org   https://sonar.exoplatform.org
                         http://repository.exoplatform.vn    Confluence :
                         Jenkins :                           https://wiki-int.exoplatform.org
                         https://ci.exoplatform.org          Acceptance :
                                                             http://acceptance.exoplatform.org




Friday, January 27, 12
Questions




Friday, January 27, 12

More Related Content

PDF
Agile Deployments with Puppet
PPTX
Agiletools
PDF
Lean in Software Development
PDF
YaJUG-Maven 3.x, will it lives up to its promises
PDF
Hands on iOS developments with jenkins
PDF
LavaJUG-Maven 3.x, will it lives up to its promises
PDF
2014 August - eXo Software Factory Overview
PDF
Sonar In Action 20110302-vn
Agile Deployments with Puppet
Agiletools
Lean in Software Development
YaJUG-Maven 3.x, will it lives up to its promises
Hands on iOS developments with jenkins
LavaJUG-Maven 3.x, will it lives up to its promises
2014 August - eXo Software Factory Overview
Sonar In Action 20110302-vn

Similar to eXo Software Factory Overview (20)

PDF
Berlin.JS Meetup
PDF
State of the Ecosystem - Atlassian Summit 2010
PDF
Stanford session
PDF
Stepping into Usable Web
PPTX
Answer powerpoint template
PPTX
Quality Coding: What’s New with Visual Studio 2012
PPTX
Quality Coding: What's New with Visual Studio 2012
PDF
import continuous.delivery.*
PPTX
Quality Coding with Visual Studio 2012
PDF
Complexity requires Empiricism which requires Scrum by Ralph Jocham
PPTX
My Experiments In Agile Testing in Yahoo.pptx
PDF
Best Practices - Seeqnce - 23/24-02-2012
PDF
The MySQL Diaspora
PPTX
Agile testing experiments
PDF
JBoss Enterprise Maven Repository
PDF
Symfony - Introduction
PDF
Releasing To Production Every Week India
PDF
The state of drupal 8 - Drupalcamp Gent
PDF
Releasing To Production Every Week
PDF
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)
Berlin.JS Meetup
State of the Ecosystem - Atlassian Summit 2010
Stanford session
Stepping into Usable Web
Answer powerpoint template
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012
import continuous.delivery.*
Quality Coding with Visual Studio 2012
Complexity requires Empiricism which requires Scrum by Ralph Jocham
My Experiments In Agile Testing in Yahoo.pptx
Best Practices - Seeqnce - 23/24-02-2012
The MySQL Diaspora
Agile testing experiments
JBoss Enterprise Maven Repository
Symfony - Introduction
Releasing To Production Every Week India
The state of drupal 8 - Drupalcamp Gent
Releasing To Production Every Week
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)
Ad

More from Arnaud Héritier (20)

PDF
From monolith to multi-services, how a platform engineering approach transfor...
PDF
Devops Recto-Verso @ DevoxxMA
PDF
Java is evolving rapidly: Maven helps you staying on track
PDF
Quand java prend de la vitesse, apache maven vous garde sur les rails
PDF
CRaSH @ JUGSummerCamp 2012 - Quickie
PDF
Apache Maven - eXo TN presentation
PDF
Mobile developments at eXo
PDF
Jenkins User Meetup - eXo usages of Jenkins
PDF
ToursJUG-Maven 3.x, will it lives up to its promises
PDF
BordeauxJUG-Maven 3.x, will it lives up to its promises
PDF
ToulouseJUG-Maven 3.x, will it lives up to its promises
PPTX
Apache Maven - eXo VN office presentation
PDF
LyonJUG - Maven 3.x, will it live up to its promises?
PDF
Lorraine JUG (1st June, 2010) - Maven
PDF
Riviera JUG (20th April, 2010) - Maven
PDF
Lausanne Jug (08th April, 2010) - Maven
PDF
Geneva Jug (30th March, 2010) - Maven
PDF
Alpes Jug (29th March, 2010) - Apache Maven
PDF
Maven for eXo VN
PPTX
20091112 - Mars Jug - Apache Maven
From monolith to multi-services, how a platform engineering approach transfor...
Devops Recto-Verso @ DevoxxMA
Java is evolving rapidly: Maven helps you staying on track
Quand java prend de la vitesse, apache maven vous garde sur les rails
CRaSH @ JUGSummerCamp 2012 - Quickie
Apache Maven - eXo TN presentation
Mobile developments at eXo
Jenkins User Meetup - eXo usages of Jenkins
ToursJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promises
Apache Maven - eXo VN office presentation
LyonJUG - Maven 3.x, will it live up to its promises?
Lorraine JUG (1st June, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - Maven
Geneva Jug (30th March, 2010) - Maven
Alpes Jug (29th March, 2010) - Apache Maven
Maven for eXo VN
20091112 - Mars Jug - Apache Maven
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
Review of recent advances in non-invasive hemoglobin estimation
Unlocking AI with Model Context Protocol (MCP)
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation_ Review paper, used for researhc scholars
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Network Security Unit 5.pdf for BCA BBA.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A Presentation on Artificial Intelligence
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.
Chapter 3 Spatial Domain Image Processing.pdf

eXo Software Factory Overview

  • 1. eXo Software Factory Harder, Better, Faster, Stronger Friday, January 27, 12
  • 2. Software Factory Team • Software Factory Team • Development rules and recommendations • Methods and Tools • To improve quality and productivity • Teams training • To improve ours skills • Support & Accompaniment • About tools, methods, processes, and technical Friday, January 27, 12
  • 3. Skills Catalog • Development practices • Unit tests, integration tests, functional tests, web tests, performances tests • Code quality • Java/JEE & Production Architecture • Development tools • Build, Packaging, IDE .. Friday, January 27, 12
  • 4. How are we working ? • Documentations are in ours WIKIs • http://wiki-int.exoplatform.org/display/ exoSoftwareFactory/Home • Activity is tracked in Jira : • http://jira.exoplatform.org/browse/SWF • Contact us : • Email : exo-swf@exoplatform.com • Skype : aheritier Friday, January 27, 12
  • 5. Confluence WIKI Friday, January 27, 12
  • 7. SCMs Sources management Friday, January 27, 12
  • 8. Subversion • https://svn.exoplatform.org/projects/ • Private and public R&D projects • https://svn.exoplatform.org/exo-int/ • Private developments • https://svn.exoplatform.org/cp • Customers projects • https://svn.exoplatform.org/sandbox/ • Sandbox Friday, January 27, 12
  • 9. Git Proof of concept • https://git.exoplatform.org/public/ • Public projects • https://git.exoplatform.org/private/ • Private projects • Tests repositories • https://git.exoplatform.org/public/tests-git/ • https://git.exoplatform.org/private/tests-git/ Friday, January 27, 12
  • 10. Nexus Binaries management Friday, January 27, 12
  • 13. Nexus for collaboration Deploy 3rd Party Artifacts Collaborate with Internal Repositories Distribute to the community with Public Repositories Distribute to customers with Private Repositories Friday, January 27, 12
  • 14. Jira Issues and tasks management Friday, January 27, 12
  • 17. Jira with Bonfire Friday, January 27, 12
  • 18. Jenkins Automation and scheduling : Build, Tests, Deployment Friday, January 27, 12
  • 20. Continuous Integration Build, Test and Deploy ASAP Using Maven 2/3 From sources in SVN or GIT googlecode, jboss, exo, github repos To Maven repositories >100 jobs Friday, January 27, 12
  • 21. Packaging Generate the full packaging of our products Ready for demo or tests Use upstream constraints and a large quiet period to not launch them to often Use priority sorter plugin with a reduced priority ~15 jobs Friday, January 27, 12
  • 22. Mobile developments - continuous integration and deployment Friday, January 27, 12
  • 23. Reporting and dashboards • Jenkins => Teams • Emails (email-ext plugin) • Teams => Jenkins • Dashboard views • Radiator views Friday, January 27, 12
  • 25. Unstable Build Notification Friday, January 27, 12
  • 26. Build Failure Notification Friday, January 27, 12
  • 28. Quality management • Sonar reports everyday if the code had changed (polling) • ~90 jobs • Continuous deployment and integration or performances tests • Jmeter • Selenium • JMXTrans / Graphite / Zabbix for monitoring Friday, January 27, 12
  • 29. Sonar Quality management Friday, January 27, 12
  • 30. Sonar, a quality dashboard Friday, January 27, 12
  • 31. Sonar, analyze your project Friday, January 27, 12
  • 32. Sonar, Continuous Improvement ? Friday, January 27, 12
  • 33. Acceptance Tests platform Friday, January 27, 12
  • 35. Fisheye & Crucible Sources browsing and code review Friday, January 27, 12
  • 37. Teams Code Reviews Asynchronous, distributed discussions Friday, January 27, 12
  • 38. Have fully threaded conversations about source code with your others. Friday, January 27, 12
  • 39. Simply click on some lines to add comments. Friday, January 27, 12
  • 40. Comments can be displayed inline or next to the code they refer to. Friday, January 27, 12
  • 41. Flag a comment as a defect to highlight it. Friday, January 27, 12
  • 42. Teams Code Reviews Manage reviews Friday, January 27, 12
  • 43. Features • Pre-commit: reviewing content that is not under version control. Upload a piece of code, a file or cut-and-paste from your IDE. • Post-commit: reviews after the code is committed to the repository. • Moderated: reviews can have a moderator responsible for a review; creating, approving, and determining when a review is finished. • Un-moderated: a streamlined process where the review author is the sole person who starts and stops the review is a simple default. • Snippet: a pastebin service meets peer review - you can simply paste some code and start discussing it with the team, without the need for any formal code review workflow. • Changeset discussions: commit messages allow a developer to provide information with a commit. Provide free form comments on commit messages. Friday, January 27, 12
  • 44. Browsing changesets, searching for files, or uploading a patch to add content Friday, January 27, 12
  • 45. You can use the classic review roles Moderator, Author and Reviewer or let anyone do anything. Friday, January 27, 12
  • 46. Only a title and code are needed to start a Snippet Review. Friday, January 27, 12
  • 47. Use change set comments as a catalyst for code discussions. Friday, January 27, 12
  • 48. Reviews evolve as your code evolves Friday, January 27, 12
  • 49. Live updates and notifications Friday, January 27, 12
  • 50. Teams Code Reviews Dashboard & Reports Friday, January 27, 12
  • 52. Who is holding up Friday, January 27, 12
  • 53. Which issues are being held up by reviews? Friday, January 27, 12
  • 54. Teams Code Reviews Jira Integration Friday, January 27, 12
  • 55. Create Jira issues Friday, January 27, 12
  • 56. Resolve subtasks from Crucible Friday, January 27, 12
  • 57. Create reviews from Jira Friday, January 27, 12
  • 58. Follow reviews attached to a jira project Friday, January 27, 12
  • 60. SWF links Subversion : Jira : https://svn.exoplatform.org https://jira.exoplatform.org Git : Fisheye/Crucible : https://git.exoplatform.org https://fisheye.exoplatform.org Nexus : Sonar : http://repository.exoplatform.org https://sonar.exoplatform.org http://repository.exoplatform.vn Confluence : Jenkins : https://wiki-int.exoplatform.org https://ci.exoplatform.org Acceptance : http://acceptance.exoplatform.org Friday, January 27, 12