Software Development Services, Software Outsourcing, Offshore Software Development Outsourcing
Software development at INRIA
-
Upload
guest4b8de -
Category
Technology
-
view
1.766 -
download
3
description
Transcript of Software development at INRIA
![Page 1: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/1.jpg)
From research prototypeto reliable software
Clément MATHIEU
![Page 2: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/2.jpg)
How to build reliable software at INRIA ?
How to fulfill both engineer and researcher requirements ?
![Page 3: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/3.jpg)
Here is what we* do
* OASIS / ProActive
![Page 4: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/4.jpg)
Outline
• Introduction• Team• Product• Issues
• Evolution
• Tools & Processes
• Conclusion
![Page 5: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/5.jpg)
The OASIS team
![Page 6: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/6.jpg)
Created in 1999.
![Page 7: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/7.jpg)
Based at Sophia Antipolis.
![Page 8: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/8.jpg)
Distributed and Parallel Computing.
![Page 9: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/9.jpg)
5 researchers 10 PhDs 10 engineers ~17 Interns
![Page 10: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/10.jpg)
* an INRIA spin off
ActiveEon*
![Page 11: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/11.jpg)
The ProActive middleware
![Page 12: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/12.jpg)
ProActive
Written in Java
![Page 13: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/13.jpg)
ProActive
![Page 14: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/14.jpg)
Our issues*
* One of
![Page 15: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/15.jpg)
Researchers/PhDs are not Engineers*
* And don’t want to be
![Page 16: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/16.jpg)
They want to publish papers.
![Page 17: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/17.jpg)
We want (bullet proof) software
(with eye candies).
![Page 18: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/18.jpg)
How to work together ?
![Page 19: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/19.jpg)
Outline
• Introduction
• Evolution
• Tools & Processes
• Conclusion
![Page 20: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/20.jpg)
1998: Project Started.
![Page 21: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/21.jpg)
2000: CVS.
![Page 22: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/22.jpg)
2003: Coding Standards.
![Page 23: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/23.jpg)
2003: Functional Testing.(Home made)
![Page 24: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/24.jpg)
2005: Subversion.
![Page 25: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/25.jpg)
2007: Junit 4.
![Page 26: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/26.jpg)
2007: Continuous Integration.
![Page 27: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/27.jpg)
2007: JIRA Bug Tracking.
![Page 28: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/28.jpg)
Today: Branching.
![Page 29: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/29.jpg)
Outline
• Introduction• Evolution
• Tools & Processes• Principles• Continuous Integration• Branching• Bug Tracking
• Conclusion
![Page 30: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/30.jpg)
Principle
Automation is the way
![Page 31: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/31.jpg)
Which tool ?
• Avoid tool dependency
• Community matters
• Good looking helps adoption
![Page 32: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/32.jpg)
Continuous Integration
Hudson* rocks !
* Thanks Kohsuke
![Page 33: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/33.jpg)
Continuous Integration
The whole test suite is run
after each commit
![Page 34: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/34.jpg)
Continuous Integration
Lots of nightly builds / checks
![Page 35: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/35.jpg)
Continuous Integration
Success
Failure
Code Correctly Formatted
14%
86%
![Page 36: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/36.jpg)
Continuous Integration
Success
Failure
Unstable
Build Results
41%
44%
15%
![Page 37: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/37.jpg)
Continuous Integration
Junit trend
![Page 38: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/38.jpg)
Continuous Integration
![Page 39: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/39.jpg)
Branching
Inspired by agile methods to ease both
engineer and researcher work
![Page 40: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/40.jpg)
Branching
Short iteration
• For engineers• Feature related• Merged ASAP• Synchronized
Long Iteration
• For research• Person related• Hopefully merged
![Page 41: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/41.jpg)
Branching
Each branch has a referee
![Page 42: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/42.jpg)
Branching
Continuous Integration only applies to the trunk
![Page 43: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/43.jpg)
Branching
Avoid heavy branching
![Page 44: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/44.jpg)
JIRA Bug Tracker
![Page 45: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/45.jpg)
Outline
• Introduction
• Evolution
• Tools & Processes
• Conclusion
![Page 46: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/46.jpg)
Conclusion
building blocks already exist*.
* We did not invented them
![Page 47: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/47.jpg)
Conclusion
It’s all about tradeoff.
Maintenance costs VS productivity gains.
![Page 48: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/48.jpg)
Conclusion
We will provide feedback*
* And I want to hear your
![Page 49: Software development at INRIA](https://reader034.fdocuments.net/reader034/viewer/2022051514/54bde4774a795970018b45c8/html5/thumbnails/49.jpg)
Clément MATHIEUIngénieur Associé
INRIA Sophia – AntipolisProjet OASIS