8. 50,000 9. Mobile Open Source Platform 10. Open source
development Contributions 11. Funambol development community
Contributors 12. Funambol development community Contributors core
projects
community projects
connectors
plug ins
OEMs
13. Developers community
core Funambol developers
full time Funambol employees
core developers
committed developers
owners of a module
alone players or other companies' employees
contributors
3 rdparty developers
14. Contributors and contributions
contributors do not have write access to the code
repository
freely offered from developers to the community
tracked in the bug tracking system
reviewed by core developers
accepted and integrated in the main trunk by core
developers
15. core/3 rdparty development
Funambol provides the framework and API
3 rdparties develop independently
Funambol offers the possibility to host the project on the
Funambol forge
forge.funambol.org
community support
core developers take care of the module they are owner
16. Funambol core development
recently moved from a traditional development process to
agile
using scrum methodology
encouraging adoption of some XP practices
17. Scrum - definitions/1
Backlog
a queue ofprioritisedwork items (things to do...)
each work item is a User Story
each user story has an estimate associated with it
Sprint
iteration
a release is built of a number of iterations
sprint planning meeting at the beginning of each sprint
daily scrum meetings by the teams
sprint review
sprint retrospective
18. Scrum - definitions/2
Product Owner
creates andprioritisesthe product backlog
understands the customers needs and the business value
Scrum Master
organisesthe process
keeps track of the teams progress
removes obstacles from the path of the team
Team
multifunctional (dev + qa + tech writer ...)
organisesitself to perform the work and deliver business
value
19. Funambol development process
two fundamental moments:
release planning
iteration planning
20. Release planning
extracting the release backlog from the main backlog
based on teams velocity
timeboxed(1 sprint)
From here... ...to here 21. Iteration planning
Extracting the iteration backlog from the release backlog