The goal of this project is for developers to have a way to collaborate with other devs on open source projects and to get recognition and connections for doing so.
I am starting this project as a way of building up a personal portfolio, learning new skills, and connecting with other developers who are doing the same.
The idea is a small tasks board where you can request assistance or collaborators on an open source project.
A use case provides a way to document and explain how a user will interact with your software. In this case I want to document and explain how users will interact with the developer collaboration board.
The users of the developer collaboration board are expected to be developers, technical leads and business owners who are working on a project together. Developers will typically create the source code and perform reviews, Technical leads will review the source and work on more complicated functionality such as prototyping and creating frameworks, and business owners provide the requirements and validate completion of work against those requirements.
The next three paragraphs provide an overview of the 3 main use cases for the developer collaboration board.
Developers are the workers on the project the doers, the project relies on developers to build and unit test the source used to run the application. Developers will use the developer collaboration board to pick up tasks, to report on progress on tasks, to show unit test results, and to request code reviews.
Technical leads are the supervisors on the project, they are responsible for the quality of the source code as built by the developers and also are responsible for implementing frameworks to be used by developers. Technical leads will use the developer collaboration board to create lists of tasks, to review progress, to pick up code reviews, to request code reviews and to document frameworks
Business owners are the managers on the project, they are responsible for the output of the project and liaising with users of the application to produce requirements. Business owners will use the developer collaboration board to document business requirements and to provide acceptance of business requirements when they are implemented as functionality in the application.
It should be noted that on a given project, an individual can perform duties of another actor, so a Technical lead can perform Developer tasks or Business owner tasks for example.
The next step involves deciding on a platform. A platform involves the back end and front end and the database.