Development Process
Background
uPortal is a JA-SIG sponsored open-source enterprise portal framework developed by higher education for higher education. It it currently in its 2nd generation, with a 3rd generation in a development sandbox. The project has enjoyed considerable success and is widely deployed (600+ production deployments). To ensure future success and sustainable development we are seeking to formalize our existing community processes and roles, and encourage greater transparency and wider contribution.
Goals
We wish to take advantage of the open-source model to marshal resources from a variety of contributors. As opposed to traditional processes which prioritize the allocation of a fixed pool of resources, an open-source community's available resources scale with the size and depth of the community.
We encourage a bottom-up approach to scheduling and prioritizing, focusing community resources and collaboration. Natural prioritization ensures the framework advances as members allocate resources (developer time, paid consulting, local expertise, or others) to address local needs. This has the advantage of members prioritizing work according to local needs, aligning community resources with the needs of our individual members. We seek to provide a focus for planning, coordinating, resource gathering, and tracking this progress. We encourage:
- Open Planning - Gather requirements and use an open process to advance the uPortal framework
- Sharing the load - enable collaboration, resource sharing and expertise transfer for planning and implementing requirements
- Limiting local forks - ease contributing local modifications/enhancements into the base uPortal framework
- Harness the community - Involve large & small institutions, vendors, and individuals
Deliverables
Vision
A living document capturing institutional and individual visions for an enterprise portal framework by educational institutions for educational institutions. Address problems we want to solve and descriptions of roles we see portals playing e.g customizable, personalizable user platform, service delivery mechanism
Requirements
Library of requirements and use cases for an enterprise portal framework consisting of: Requirements what the framework needs to do to fulfill our visions Use Cases detailed descriptions of how to meet our requirements, XP story-card style
Development Roadmaps
Development plans are expressed in 6 month roadmaps solidified at the semi-annual developer meetings detailing:
- planned features and scope for the next 6 months
- task assignments & resource requests
- longer term development goals
Initial Milestones & Status
Plan for initial ramp up of portal framework requirements library and incorportion into development cycle
Target Dates |
Task |
Status |
---|---|---|
Feb 06 |
Start with seed of core institutions and players |
completed |
March 06 |
Seed library with lists |
completed |
Spring Dev Meeting |
Follow up at uP developers meeting
|
completed |
May 06 |
Put out for community review before JA-SIG conference
|
completed |
Summer uPortal Conference |
Solicit contributions and feedback at JA-SIG 2006 Summer Conference
|
|
July 06 |
incorporate conference contributions and feedback
|
|
Fall Dev Meeting |
use to build roadmap at Fall developers meeting |
completed |
Winter JA-SIG Conference |
Update requirements library and gather information on community priorities and needs/requests |
|
Ongoing Milestones
Spring Developers Meeting |
Review roadmap progress, update roadmap detailing next 6 months from requirements library |
Summer Conference |
Update requirements library and gather information on community priorities and needs/requests |
Fall Developers Meeting |
Review roadmap progress, update roadmap detailing next 6 months from requirements library |
Winter Conference |
Update requirements library and gather information on community priorities and needs/requests |
wash, rinse, repeat...
Roles
Framework Coordinator
The Framework Coordinator gathers our vision and requirements for a portal framework to build a strategy for the future. He is also responsible for leading the translation of our strategy into a development roadmap and coordinating follow up and action items between development meetings and conferences.
- Point of contact for collaboration, filters (or delegates) suggestions and comments
- Coordinate activity (email lists, schedule conference calls, follow up on action items/deliverables)
- Key player in the roadmap planning process, especially pre-developer meeting groundwork
- Work with branch leads to incorporate roadmap items into specific release schedules
- Moderate discussions, maintain agendas, track progress
- Reports regularly to the JA-SIG Board on the state of uPortal development
Currently in this role: Jason Jason
Release Engineer
- Incorporate road map items into branch-specific release schedules consistent with the Release Strategy
- Coordinate development efforts related to implementing features/changes within a particular development line
Currently in this role: Andrew Petro on the uPortal 2 stream; Eric Dalquist on the uPortal 3 stream
Core Developers
Informal group of experts and leaders. Possible responsibilities include:
- coordinate/maintain requirements and plans for a specific functional area
- contribute expertise, advice, and code
- represent significant stakeholders.
Documentation Coordinator
- Point of contact for collaboration on documentation, brokering worthwhile documentation initiatives
- Cheerleader for documentation, encouraging participants to document and guiding towards productive and useful documentation approaches
- Editor in Chief of uPortal portions of the JA-SIG wiki, with particular responsibility for encouraging good organization and usability alongside inclusiveness
- Reports regularly to the Framework Coordinator on the state of documentation efforts
uPortal Manual Coordinator
- Point of contact for collaboration and updates to the uPortal Manual
- Reports regularly to the Documentation Coordinator on the state of uPortal Manual efforts
Community Contributors
Community members expressing their wants and needs for a portal framework
- Outline vision, requirements, and use cases
- Provide resources (developer time, money, expertise)