Skip to main content

How It Works

Opening Skills and Solutions operates on a simple but powerful principle: real software development requires real clients with real needs. Our process ensures students work on projects that matter while clients receive quality solutions.

Client Engagement

Organizations bring specific software challenges: internal tools, data analysis platforms, community websites, or research applications. We work with clients to:

  • Define clear requirements and success criteria
  • Establish project scope appropriate for student teams
  • Set realistic timelines that balance learning with delivery
  • Maintain ongoing communication throughout development
Project Scoping

Not every software request becomes a student project. We carefully evaluate potential projects to ensure they:

  • Provide meaningful learning opportunities for developers
  • Can be completed within academic timelines
  • Have engaged clients who can provide feedback and guidance
  • Align with our open source mission and values
Development Cycle

Student teams work on open source products in semester-long iterations inspired by Extreme Programming principles. Teams typically continue working on the same product across multiple semesters, building sustained engagement and deeper expertise.

Weekly Development Rhythm:

  • Team meetings for planning, code review, and problem-solving
  • Client collaboration to demonstrate progress and gather feedback
  • Continuous development with ongoing testing and quality assurance
  • Faculty and Tech Lead support for technical guidance and mentorship
Between Semesters

Tech Leads work with clients during semester breaks to prepare for upcoming iterations:

  • Client discovery and requirements gathering
  • Architecture and development planning
  • Technology stack evaluation when needed
  • Team preparation and goal setting

Each iteration concludes with handoffs serving two audiences:

  • Client handoff of new features and improvements
  • Team handoff to ensure continuity for future development

Student Showcases:

  • Fall semester: Live pitch presentations highlighting product vision and recent work
  • Spring semester: Poster presentations as part of the School of Science and Engineering showcase
Learning Integration

Every project serves dual purposes: delivering client value while maximizing student learning opportunities.

Learning Objectives:

  • Professional software development practices
  • Collaborative coding and version control
  • Client communication and requirement analysis
  • Project planning and deadline management
  • Technical problem-solving and debugging

Students and faculty monitor progress across both technical and professional competencies, ensuring comprehensive career preparation.

Success Metrics

We measure success through multiple lenses:

Client Satisfaction:

  • Delivered software meets or exceeds requirements
  • Projects completed on schedule and within scope
  • Ongoing use and value of delivered solutions

Student Development:

  • Technical skill advancement and portfolio building
  • Professional readiness and career placement
  • Confidence in real-world development scenarios

Community Impact:

  • Open source contributions and community engagement
  • Knowledge sharing and documentation quality
  • Long-term project sustainability and maintenance

Next: Learn about our Team Structure and how different roles work together to ensure project success.

Related: Explore the Student Experience to understand how developers grow through this process.