Open development management practices

Embed Size (px)

DESCRIPTION

An overview of open development with a quick look at the essential processes and tools.

Citation preview

  • 1. Open development management and practices in a distributed team Ross Gardler OSS Watch Service Manager [email_address] http://www.oss-watch.ac.uk Topic Tag: OSSWatch-OpenDevelopment
    • Unless otherwise indicated, all materials in this presentationare 2008 University of Oxford
  • and are licensed under theCreative Commons Attribution-ShareAlike 2.0 England & Wales licence .

2. Overview

  • Who Are OSS Watch?
  • Who is Ross Gardler?
  • What is Open Development?
  • Essential Processes
  • Essential Tools
  • Advanced Processes and Tools

3. Who Are OSS Watch?

  • JISC funded open source software advisory service(non-advocacy)
  • Online and Face to Face support
    • Licencing and IPR management
    • Open source project support
    • Evaluating and using open source
  • Briefing notes and consultations

4. Who is Ross Gardler?

  • Open source developer
    • Member of The Apache Software Foundation
  • Joined OSS Watch in Jan 2007
  • Service Manager in July 2007
  • My focus is on open source for sustainability

5. Overview

  • Who Are OSS Watch?
  • Who is Ross Gardler?
  • What is Open Development?
  • Essential Processes
  • Essential Tools
  • Advanced Processes and Tools

6. Open development is... A way for distributed team members tocollaboratively develop a shared resource 7. Open Development...

  • Particularly useful in distributed self selecting teams
    • Very common in open source projects
  • Key attributes include:
    • User engagement
    • Transparency
    • Collaboration
    • Agility

8. Is it Agile Development? Yes, but No, but Yes, but No, but... 9. No

  • Some Agile methods are not appropriate
    • e.g. Does not require co-location
  • Does allow anyone to participate
    • NOTE: this does not mean that anyone has therightto modify open source code in the core repository

10. Yes

  • Many agile practices evolved from or alongside open development, e.g.
    • Collective code ownership
    • Incremental design and architecture
    • Real customer involvement
    • Revision Control

11. Overview

  • Who Are OSS Watch?
  • Who is Ross Gardler?
  • What is Open Development?
  • Essential Processes
  • Essential Tools
  • Advanced Processes and Tools

12. Communication

  • If it didn't happen on the list, it didn't happen
  • Face to face meetings produce proposals
    • Decisions are made on mailing lists
  • Transparency
    • No hidden agenda

13. Management

  • Progression through project roles
    • User -> Contributor -> Committer -> Maintainer
  • Governance
    • How are decisions made?
    • How are conflicts resolved?
    • How do you gain influence?
  • IPR management

14. Quality Control

  • Small reversible steps
  • Managing contributions
    • Commit then review
    • Review then commit
  • Test Driven Development
  • No tests or documentation, no commit

15. User Engagement

  • Today's users may be Tomorrows contributor
  • Release early, release often
  • Managing user expectations
  • Capturing user testing (bug reports)
  • Capturing user needs (feature requests)

16. Recognition & Reward

  • Those who contribute to us are as selfish as anybody else. There's rarely any charitable aspect of this.- Marten Mickos, (Sold MySQL for $1B)
  • Recognise why people contribute
    • A better solution for themselves
  • Reward all forms of contribution
    • Peer recognition is valuable

17. Overview

  • Who Are OSS Watch?
  • Who is Ross Gardler?
  • What is Open Development?
  • Essential Processes
  • Essential Tools
  • Advanced Processes and Tools

18. Web Site

  • Mission statement
  • Non technical overview
    • Status
    • Licence
    • Communication channels
  • Downloads
  • Screenshots and Screencasts

19. Documentation

  • Users
    • Getting started
    • FAQ
  • Developers
    • Technical overview
    • Version Control
    • How to get involved

20. Mailing Lists or Forums

  • All lists/forums archived
    • Project memory
    • Documentation
  • Developers List
    • technical discussion
    • developer support
    • Project management

21. Other lists/forums?

  • Do you really need others?
  • Don't split your small audience
  • You may need
    • Users list for user support
    • Commit notifications
    • Management list for sensitive issues
      • Be careful transparency is everything

22. Issue Tracker

  • Project management
  • Project road map
  • User feature requests
  • Activity tracking
  • All changes mailed to developer list
  • Patch management

23. Revision Control System

  • Coordinate multiple developers
  • Project time machine
  • Reverse mistakes
  • IPR Management
  • Enables experimental development
  • All changes mailed to developer list

24. Overview

  • Who Are OSS Watch?
  • Who is Ross Gardler?
  • What is Open Development?
  • Essential Processes
  • Essential Tools
  • Advanced Processes and Tools

25. Do youreallyneed it?

  • Tools are not the answer to a failing process
  • Process is not the answer to a failing project
  • Before adding new tools or processes thinkDo youreallyneed it?

26. Adding value

  • Remove don't add barriers
    • Aim for participation
  • Tools that reduce effort = good
    • Continuous Integration
    • Patch management
  • Tools that increase effort = bad(?)

27. Be Realistic, Be Sensible

  • Building an open development project takes time
    • they won't come flocking
    • You will talk to yourself in the early days
  • Start as you mean to go on
    • Lead by example, others will follow
  • Encourage everyoneto help new users

28.

  • Thank you for listening
  • [email_address]
  • www.oss-watch.ac.uk
  • Ross Gardler
  • Image: Some Rights Reserved http://www.flickr.com/photos/ksaad/152579107/