Unified Process Traceability Matrices using GitHub for Software Project Management: A Student Lab Learning Workbook
Prerequisite Knowledge to appy this material
Understand in a very basic way to workflow of Unified Process as a Software Project Management Methodology.
Be able to discuss what a User Story is, how we obtain user stories, and how user stories are used to create Requirements Documents.
UI prototyping should be used in a complementary format with interviewing Users to gather User Stories. In UI Prototyping, we ask users to draw on paper what they want the IO screens of the SUD (system under design or system under discussion) to look like: what inputs to provide, what outputs to be presented with, and what controls to actuate in interactiving with the System.
Note that we do not conceptualize that users are telling us their Requirements. A User does not know what a REQUIREMENT is in the Software Engineering sense. Users tell us their Stories: Their experiences of what they do, touch, and how they apply judgement to moving around artifacts as they do their job. By gathering user stories from a representative pool of System Users, we can apply our skills as Business Analysts to adduce from a sufficiently large pool of user story inputs what the requirements document should look like.
The Requirements Document is a series of Shall Statements.
Be able to define what a Use Case is and how we use the Use Case as the atomic unit of analysis and design of a software system.
Learning Outcome 4: Integrate ideas and collaborate with team members to complete assigned tasks.
This content is written in the context of the Unified Process Software Project Management Methodology which you can review here:
Introduction to Unified Process Traceability Matrices
Setting up a GitHub Repository
Managing Project Tasks with Git Issues
Automating Workflow with Git Actions
Monitoring Activity with Git Events
Daily Agile Stand-up Meetings: Inputs and Outputs
Conclusion
1. Introduction to Unified Process Traceability Matrices
Unified Process Traceability Matrices are tools that help to map and track the progress of your software development tasks. These matrices are especially useful in agile development and help to streamline project management.
In this workbook, we will guide you on how to create and use Unified Process Traceability Matrices using GitHub, Git Issues, Git Actions, and Git Events.
By the end of this workbook, you will be able to integrate ideas and collaborate with your team members to complete assigned tasks effectively.
2. Setting up a GitHub Repository
To start, you will need a GitHub account and a new repository for your project.
Navigate to GitHub's website and log into your account. If you don't have an account, you'll need to create one.
Once logged in, click on the '+' icon in the top right corner and select 'New repository'.
Name your repository, add a description (optional), choose the visibility (public or private), and initialize with a README file.
3. Managing Project Tasks with Git Issues
Git Issues is a great tool to track tasks, enhancements, and bugs for your projects.
Navigate to your GitHub repository and click on the 'Issues' tab.
To create a new issue, click on the 'New issue' button.
Add a title and a description for your issue. You can also label your issues for easy categorization.
Assign the issue to a team member to ensure responsibility.
As your project progresses, it's important to keep your issues updated. Close them when they're completed and open new ones as needed.
4. Automating Workflow with Git Actions
Git Actions help you automate your software development workflows. You can set up continuous integration workflows, automate testing, or even automate issue responses.
In your repository, click on the 'Actions' tab.
You can choose from pre-made workflows or create your own by clicking on 'New workflow'.
Follow the instructions to set up your actions. Remember, actions can be triggered by specific events in your repository such as pushing commits or opening issues.
5. Monitoring Activity with Git Events
Git Events allows you to see the recent activity in your repository. This can be useful to monitor the progress of tasks and see who is doing what.
Navigate to your repository and click on the 'Insights' tab.
Click on 'Activity' to see the recent events in your repository.
6. Daily Agile Stand-up Meetings: Inputs and Outputs
Your daily Agile Stand-up meetings are an essential part of your project management.
They keep the team updated on progress and blockers.
Inputs: The inputs to these meetings should be the updates from Git Issues, Actions, and Events. You can discuss the progress of tasks, any automated workflows, and the activity in your repository.
Outputs: The outputs of these meetings should be updates to your Git Issues, Actions, and Events. This includes opening new issues, updating existing ones, adjusting workflows, and noting down any important events.
7. Conclusion
By following these steps, you should be able to use GitHub, Git Issues, Git Actions
Here's a summary of your Team’s Project Artifacts so far:
Setting up a GitHub Repository: To begin, you will need a GitHub account and a new repository for your project. Once logged in, click on the '+' icon in the top right corner and select 'New repository'. You can name your repository, add a description, choose the visibility, and initialize with a README file.
Managing Project Tasks with Git Issues: Git Issues is a powerful tool to track tasks, enhancements, and bugs for your projects. You can create an issue, add a descriptive title and details, assign it to a team member, label it, and even add it to a project. The steps and details of using Git Issues have been elaborated in the official GitHub Docs we found
** How to use GitHub Actions to automate software development workflows.
@todo: Develop the GitHub Actions Lab Workbook to present students with user stories about how you can set up continuous integration workflows, automate testing, or automate issue responses.
In terms of integrating this into Agile Stand-up meetings, the updates from Git Issues, Actions, and Events will serve as inputs for these meetings.
Your team will work with this content to devise your own Workflow to make this happen.
You will use the integration of Trello and Slack to provide the communication and collaboration tooling.
Your team will use Trello and Slack to discuss the progress of tasks, apply automated workflows, and the track and manage the activity in the repository.
The outputs of these meetings will be updates to Git Issues, Actions, and Events, including opening new issues, updating existing ones, adjusting workflows, and noting down any significant events.
#todo: develop instructional content on the usage of GitHub Actions and Git Events
Refer to GitHub's official documentation or tutorials available online.
#Final Output Work Product Deliverable:
Apply the Integration of Git Issues, Events, and Actions, and TRELLO/Slack integration to effectively operate your your software project management workflow and stand-up meetings to facilitate effective team collaboration, task completion, and project delivery.
Final Accountability: The Instructor, at the end of your project when you are presenting, should be able to review your TRELLO Board, and run a PowerBI Analytic Report on your GIT Repository Issues, to see your:
Complete project delivery workflow
Your Lessons Learned Documentation in the Close Out phase of the Project
Your Project Back Log of functionalities identified as desirable in the Product but which were out of scope to delivery in this Iteration.
Agile Project Management Backlog.
The Backlog is a document used to track items to deliver in the next iteration of the project.
A backlog is a prioritized list of features or requirements that the team will work on in the next iteration of the project
The backlog can be broken down into smaller units called "user stories," which describe a specific feature or requirement from the perspective of the user
The backlog is a key tool in Agile Project Management, as it helps to ensure that the team is working on the most important items first and that progress is being made towards the project goals