an agile development process for osgi projects

15
An Agile Development Process for OSGi projects Filippo Diotalevi <fi[email protected] >

Upload: filippo-diotalevi

Post on 28-Jan-2015

106 views

Category:

Technology


2 download

DESCRIPTION

The presentation describes an agile development process for OSGi projects that incorporates Scrum and XP best practices.

TRANSCRIPT

Page 1: An agile development process for OSGi projects

An Agile Development Processfor OSGi projects

Filippo Diotalevi <[email protected]>

Page 2: An agile development process for OSGi projects

Goal

Define a development process for OSGi projects,

incorporating Scrum and XP best practices

Page 3: An agile development process for OSGi projects

Project Lifecycle (Scrum)

Retrospective

Sprint Backlog

Product Backlog

Sprint

Sprint

Planning

Daily

Meeting

Sprint

Review

Coding

and

testing

Working

Software

Page 4: An agile development process for OSGi projects

Development Process Matrix

Wiki

Issue Tracker

BuildAutomation

IDE

Unit Tests

ContinuousIntegration

IntegrationTesting

FunctionalTests

AcceptanceTest

ReleaseAutomation

Documentation

Task Assignement

Bug Tracking

Project Management

Code development

Continuous QA

Code-Use Cases

alignement

Compatibility with

different sw versions

and OSGi frameworks

Final QA

Delivery

Monitoring

Deployment

Monitoringand

Management

Deploymentand

Provisioning

Page 5: An agile development process for OSGi projects

Wiki + Issue Tracker

Atlassian Jira + ConfluenceBest Choice

Runner-Up

Trac

Other: VQWiki, Redmine

www.atlassian.com

trac.edgewall.org

Page 6: An agile development process for OSGi projects

Build Automation

Maven (maven-bundle-plugin)Best Choice

Several other tools to structure and automate OSGi projects: - Pax Construct - Pax Runner

maven.apache.org

http://wiki.ops4j.org/display/ops4j/Pax

Page 7: An agile development process for OSGi projects

IDE

EclipseBest Choice

A plain Eclipse for JavaSE development would work. Possible enhancements (sometimes unstable): - m2clipse (maven 2 Eclipse plugin) - Apache Felix Sigil

http://www.eclipse.org

Page 8: An agile development process for OSGi projects

Unit Testing

JUnit 4Best Choice

Runner-Up

TestNG

http://www.junit.org

http://www.testng.org

Page 9: An agile development process for OSGi projects

Continuous Integration

HudsonBest Choice

https://hudson.dev.java.net/

Page 10: An agile development process for OSGi projects

Integration Testing

Pax ExamBest Choice

Runner-Up

Apache Felix JUnit4OSGi

http://wiki.ops4j.org/display/paxexam/Pax+Exam

http://felix.apache.org/site/apache-felix-ipojo-junit4osgi.html

Page 11: An agile development process for OSGi projects

Functional/Acceptance Testing

Selenium

FitnesseBest Choice

http://seleniumhq.org/

http://fitnesse.org/

Page 12: An agile development process for OSGi projects

Monitoring and Management

Best Choice

Apache Felix Web Consolehttp://felix.apache.org/site/apache-felix-web-console.html

Page 13: An agile development process for OSGi projects

Monitoring and Management (II)

Best Choice

Apache Felix Console (+ custom command)

JMX Components + VisualVM

https://visualvm.dev.java.net/

Page 14: An agile development process for OSGi projects

Deployment and provisioning

Experimental!

http://wiki.eclipse.org/Equinox_p2_Getting_Started

Eclipse P2

Apache ACE

http://incubator.apache.org/ace/