Collaborative Development - RepoCamp/ohsu2018 GitHub Wiki

Overview

The Samvera community employs little-a agile development practices. This means we focus on delivering incremental functionality created by self-organizing cross-functional (and cross-institutional) teams. At the community and individual institutional level, we generally work in short sprints, focusing on tickets that describe new features and functionality requested by our users. We engage in a continuous process of planning and reflection to ensure we're on track to delivering value to our users.

Various teams employ slightly different practices, but a few themes run throughout our community:

  • Collaboration via tools that enable shared ownership such as public source control e.g. GitHub
  • Processes and tools that help make work visible such as agile boards and continuous integration services - e.g. Waffle and Travis-CI
  • Rituals and rhythms that encourage the radiation of information throughout working teams such as sprint planning, daily stand-ups, and sprint demos
  • A spirit of continuous learning and improvement
  • A commitment to providing a welcoming, safe, and respectful environment for everyone - see our Code of Conduct

Rhythms & Meetings

  • Release planning: High-level goal setting for the most valuable features to be released next. Releases can require multiple sprints.
  • Backlog grooming: Sorting the possible work to be done in order of user value - how much benefit does this work provide. Sometimes balanced against the effort required. Led by Product Owner.
  • Sprint planning: Goal setting for the next increment of work; often 1 or two week sprints.
  • Daily stand-up: Planning for the next 24 hours; coordination of work in support of the sprint goals.
  • Sprint demo: Showcasing the work done during the last iteration of work. Typically led by the development team. All stakeholders and interested parties invited.
  • Sprint review or retrospective: Internal team review of successes, challenges, and lessons learned during the sprint. Helps the team capture and persist helpful practices. Gives a safe environment to reflect on areas for improvement. Wash, rinse, repeat...

Collaborative Coding

References