Share
Explore

IT Project Management and Issues Management with Git Hub Issues and the Traceability Matrix

These are the kinds of Workplace Skills we address with GIT ISSUES:
4. Integrate ideas and collaborate with team members {Scrum and Agile} to complete assigned tasks.
Using GIT ISSUES is our Communication Mechanism for our Software Project Management.
4.1 Perform and document daily agile team meetings
4.2 Effectively communicate with team members and other stakeholders of the project
4.3 Propose and discuss ideas to help complete tasks
5. Implement the proposed mobile application for the proposed platform using the agile software development methodology.
5.1 Perform daily sprints on scheduled tasks (come from the WBS).
5.2 Perform a check, commit, push and pull of the source code on GitHub
5.3 Complete tasks in time according to the project plan (WBS).

Question: How do WBS Tasks (and other issues arising from those tasks) connect to the Code in GITHUB. All of these occurances give rise to problem reports from users.

The answer is: GIT ISSUES. LO 4,5 and contemplating the operation of the code in connection with the Traceability Matrix.


GIT Issues and GIT Actions for Daily Sprints and Code Management

Today, we'll learn how to effectively manage your projects using Git Issues and Git Actions. We'll cover three main tasks:
Perform daily sprints on scheduled tasks
Perform a check, commit, push, and pull of the source code on GitHub
Complete tasks in time according to the project plan: According to the Work Break Down Structure.

5.1 Perform daily sprints on scheduled tasks

In Agile Project Management: Take Start date and end date of the Project:
Get a certain number of days.
SOW : Take the Statement of Work: Functionally decompose into smaller pieces until you get to atomic tasks that cannot be further subdivided. Then you make the WBS to assign tasks to people (resources) to optimally utlize everyone’s time.

Project Management Triangle: Of time, money, quality of the workproduct:

You can have any two of these, but you give up on the third.
Daily sprints are essential for project management and ensuring that tasks are completed on time. They provide a structured way to organize, prioritize, and track the progress of tasks within a project.
A Sprint is the daily work deliverable of one person or team.
Goal of Agile is to produce a testable unit of Code (a Sprint) everyday.
Agile wants to do things fast rather than perfectly.

Using Git Issues to deliver sprints

Git Issues is a powerful tool for managing tasks within your project. You can create, assign, label, and track issues to organize your sprint.
Create an issue: For each task in your sprint, create an issue in your GitHub repository. Provide a clear title and description for each issue.
Assign issues: LO 4. Assign team members to specific issues. This ensures that everyone knows what they're responsible for and reduces confusion.
Label issues: Use labels to categorize issues based on their priority, complexity, or other relevant factors. This makes it easier to filter and track issues during your sprint.
Track progress: Use the GitHub Project Board to track the progress of your issues as they move through various stages (e.g., To Do, In Progress, Done).

5.2 Perform a check, commit, push, and pull of the source code on GitHub

Git workflow for daily sprints

For effective code management, follow these steps in your daily sprints:
Check: Before starting your work, always perform a git fetch and git status to ensure your local repository is up-to-date and there are no conflicts.
Commit: As you complete tasks, make regular commits with clear and descriptive commit messages. Use git add <file> and git commit -m "Your commit message" for this purpose.
Push: Push your changes to the remote repository using git push. This ensures your code is synchronized with everyone else and the latest code version is available to your team members.
Pull: Before integrating your changes, perform a git pull to fetch and merge the latest changes from the remote repository. This helps avoid merge conflicts and keeps your codebase syncronized with all other team members.

5.3 Complete tasks in time according to the project plan

To ensure that tasks are completed on time, follow these best practices:
Set realistic deadlines: When creating issues, always set realistic deadlines based on the complexity of the task and the availability of your team members.
Monitor progress: Regularly check the progress of tasks and update the status of the issues accordingly. This helps identify any bottlenecks or delays in the project.
Communicate: Encourage open communication within your team to address questions, concerns, or roadblocks as they arise.
Review and iterate: At the end of each sprint, review the completed tasks and identify areas for improvement. Use this feedback to refine your project plan and improve your workflow in future sprints.
By following these steps and leveraging the power of Git Issues and Git Actions, you can effectively manage your projects and ensure tasks are completed on time. Keep practicing, and you'll become proficient in using these powerful tools for project management and code collaboration. Good luck!

This worksheet teaches you things that you need to do for the Technical Project Planning Document due Friday April 14. Milestone 2.

You are used to thinking about GITHUB as being a Code Repository.
It is also a Software Project Management tool, as we will now see.
Objective: Students will be able to effectively use GitHub, GitHub issues, and GitHub actions to manage their IT development work and incorporate the Traceability Matrix into their daily stand-up scrum meetings to improve issue recognition, understanding, and actioning.

Materials Needed:
Computers with internet access
GitHub accounts for each student
Access to the course's mobile application development project repository
Introduction (10 minutes)
Briefly discuss the importance of GitHub, GitHub issues, and GitHub actions in IT development work.
Introduce the concept of the Traceability Matrix and its role in the software development process.
Explain the relevance of the Traceability Matrix in daily stand-up scrum meetings for tracking and resolving issues.
Activity 1: GitHub Issues and Actions (30 minutes)
Provide students with a brief tutorial on using GitHub issues and actions, including:
Creating and labeling issues
Assigning issues to team members
Managing issue progress using milestones and labels
Automating tasks with GitHub actions
Have students create sample issues for their capstone project, assign them to team members, and utilize labels and milestones to organize their progress.
Activity 2: Implementing the Traceability Matrix (30 minutes)
Provide students with a brief tutorial on the Traceability Matrix, including:
How to create and maintain a Traceability Matrix
The role of the Traceability Matrix in tracking and resolving issues
How to use the Traceability Matrix in daily stand-up scrum meetings
Have students create a sample Traceability Matrix for their capstone project, incorporating the issues they created in Activity 1.
Activity 3: Daily Stand-up Scrum Meeting Simulation (40 minutes)
Divide students into small groups to simulate daily stand-up scrum meetings.
Instruct each group to focus their discussion on the issues they created in Activity 1 and the Traceability Matrix from Activity 2.
Provide a list of guiding questions for the group discussions, such as:
What issues are currently impacting the project?
How can the Traceability Matrix help identify the root cause of these issues?
What actions can be taken to resolve these issues, and how can the Traceability Matrix assist in prioritizing them?
After the meeting simulations, have each group share their insights and resolutions with the class.
Conclusion (10 minutes)
Recap the importance of GitHub, GitHub issues, GitHub actions, and the Traceability Matrix in IT development work.
Discuss the benefits of incorporating the Traceability Matrix into daily stand-up scrum meetings.
Encourage students to continue utilizing these tools and techniques throughout their capstone project and future IT development work.
Practical Assignment
Have students further refine the Traceability Matrix for their capstone project, incorporating any feedback from the group discussions during the class.
Instruct students to begin implementing the resolutions discussed in the stand-up scrum meeting simulations and track their progress using GitHub issues and the Traceability Matrix.


Practical Lab Exercises:
Lecture: GitHub Issues and Actions for Project Management in React Mobile App Development
Introduction to GitHub Issues and Actions
Importance of project management in IT development [1]
Overview of GitHub Issues and Actions [2]

Using GitHub Issues for React Mobile App Development
Creating and managing issues
Assigning labels and milestones
Collaborating with team members on issue resolution
GitHub Actions for React Mobile App Continuous Integration and Deployment

Overview of CI/CD in React Mobile App development [3]
Creating and managing workflows
Connecting workflows to events and handling job outcomes [2]
Customizing workflows using community or third-party Actions [2]

Integrating GitHub Issues and Actions for Effective Project Management
Issue tracking within workflows
Automating issue updates based on Action outcomes
Enhancing team communication and collaboration

Practical Tutorial Exercises:

Set up a React Mobile App repository on GitHub

Initialize a new React Mobile App project
Push the project to a GitHub repository

Create and manage GitHub Issues

Create sample issues for the React Mobile App project
Assign labels, milestones, and team members to the issues
Discuss and resolve issues through comments and code commits

Implement GitHub Actions for CI/CD

Follow the tutorial in Search Result [3] to set up continuous delivery for the React Mobile App using Docker and GitHub Actions
Customize the workflow to include steps for running tests and building the app
Track job outcomes in the GitHub repository

Integrate GitHub Issues and Actions for Project Management

Update issue status based on Action outcomes (e.g., close an issue when a related code change is deployed)
Link issues to specific Actions or workflows for easy traceability
Use GitHub notifications and project boards to enhance team collaboration

Reflect on the benefits of using GitHub Issues and Actions for project management in IT development work, and discuss how these tools can be utilized in future projects and professional settings.

References:

Case Study of using GITHUB ISSUES to manage your Project.

image.png
I am Monica, an IT Mobile Apps student.
I was eager to learn and implement effective project management strategies for my IT project on GitHub. I had just completed a lecture on using GitHub Issues and Actions, and it was time to put my newfound knowledge to the test.

First, I navigated to my project's repository on GitHub. After clicking on the "Issues" tab, I found myself on the Issues page, where I could create and manage issues related to my project. I clicked on the green "New Issue" button, and a new page loaded, prompting me to enter a title and description for the issue.

To create my first issue, I titled it "Implement user authentication." In the description, I provided more details about the task, such as the need to add a login screen and secure user data. I wanted to make sure my teammates understood the context and requirements of the task. Before submitting the issue, I assigned it to myself, added relevant labels like "enhancement" and "backend," and set a milestone for the first version of the app.

With the issue created, I began working on implementing user authentication in my React Mobile App. After making the necessary changes to the code and testing the functionality, I was satisfied with my work and ready to close the issue.

To close the issue, I returned to the "Issues" tab in my project's GitHub repository. I located the "Implement user authentication" issue in the list and clicked on it to view its details. At the bottom of the issue, I added a comment summarizing the work I had done and how I tested the functionality. I also mentioned the specific commit where the changes were made for easy reference.

Finally, I clicked the "Close issue" button below my comment, and the issue's status changed to "Closed." The closed issue would still be accessible for future reference, but it would no longer appear on the list of open issues.

Throughout the process, I appreciated the clarity and organization that GitHub Issues brought to my project. It allowed me to break down tasks into manageable pieces, assign responsibilities, and track progress. Furthermore, the detailed instructions and the ability to link issues with specific code commits made it easy for me and my teammates to collaborate and keep track of our work.

Closing the issue marked the successful completion of a task, and it was a rewarding experience. I felt a sense of accomplishment and looked forward to applying my knowledge of GitHub Issues and Actions to future projects and professional settings.


Sample of a Work Break Down structure WBS

The Project starts with the Project Charter.
Consists of:
Name of the Executive Sponsor who is paying for all this.
SOW: Statement of Work
Start date
End date
Make a Resource Plan: Write down: How many people of each skill set that you need
Making the Work Breakdown Structure:
Start Date
how many working days do I have been those dates
End Date
Say we have 60 days by the time we figured all that out.
Look at resources, days, SOW (project description)
Write down for each working day: What each resource will do.
Project Management Officer’s Job is to liase with everyone to make sure they are going what they need to do.

In this 60-day mobile app project, we have a team of 5 skilled individuals.
We'll allocate time and resources for each phase of the project, including gathering user requirements, design, development, testing, deployment, and project closure.
The following is a breakdown of the project timeline with corresponding tasks and team member assignments:
Gathering User Requirements (8 days, 13.33%)
Task 1.1: Conduct user interviews (2 days) - Team member 1
Task 1.2: Analyze user feedback (2 days) - Team member 2
Task 1.3: Define user stories and acceptance criteria: Constructing the Requirements Document (4 days) - Team member 3

Design (12 days, 20%)
Task 2.1: Create wireframes and mock-ups (6 days) - Team member 4
Task 2.2: Review and iterate on designs (4 days) - Team members 1, 2, and 3
Task 2.3: Finalize design specifications (2 days) - Team member 5

Development (20 days, 33.33%)
Task 3.1: Set up Git Issues and Git Actions (2 days) - Team member 5
Task 3.2: Develop app features (14 days) - Team members 1 and 2
Task 3.3: Integrate APIs and other services (4 days) - Team member 3

Testing (12 days, 20%)
Task 4.1: Develop test cases and scenarios (4 days) - Team member 4
Task 4.2: Perform functional and non-functional testing (6 days) - Team members 1, 2, and 3
Task 4.3: Address and resolve identified issues (2 days) - Team member 5

Deployment (6 days, 10%)
Task 5.1: Prepare app store submission (2 days) - Team member 1
Task 5.2: Deploy app to app stores (2 days) - Team member 2
Task 5.3: Monitor app performance and address any deployment issues (2 days) - Team member 3

Project Closure (2 days, 3.33%)
Task 6.1: Conduct a project review (1 day) - All team members
Task 6.2: Document lessons learned and close the project (1 day) - Team member 5
This timeline assumes that the team members have the relevant skills and can work on the tasks as assigned. The distribution of tasks and time can be adjusted based on individual availability or project requirements.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.