Patan Multiple Campus
Tribhuvan University
Patandhoka, Lalitpur
Laboratory Report of Software Project Management [CACS 407]
Department of Bachelor in Computer Application
Faculty of Humanities and Social Science
Tribhuvan University
Kritipur, Nepal
Submitted By
Name: Shubham Nirmal
TU Registration No: 6-2-22-60-2020
Roll. No: 52
Submitted to
Tekendra Nath Yogi
Department of Bachelor in Computer Application
Patandhoka, Lalitpur
Internal Examiner External Examine
Date of Submission: 2081-11-20
ABSTRACT
This laboratory report presents a comprehensive exploration of Software Project Management
(SPM) practices applied to a curriculum development project in Elective of BCA 7th Semester.
The project was executed using modern SPM methodologies and tools, including Project Plan
365 and Project Libra, to streamline scheduling, estimation, risk management, and quality
assurance. The report outlines the project lifecycle, starting from initial planning and objective
definition to final implementation and evaluation. Key activities such as task prioritization,
resource allocation, and timeline management were facilitated through these tools, ensuring
alignment with predefined goals of efficiency, cost-effectiveness, and stakeholder satisfaction.
The report delves into critical aspects of SPM, including software estimation techniques, risk
mitigation strategies, and configuration management using Git. Tools like Trello and Asana
were integrated for collaborative task tracking, while Project Plan 365 enabled detailed Gantt
chart visualizations for scheduling. The outcomes highlight the effectiveness of adopting
structured SPM frameworks in mitigating traditional challenges like scope creep, budget
overruns, and communication gaps. Recommendations emphasize leveraging automation and
AI-driven analytics in future projects for enhanced decision-making. This study serves as a
practical guide for implementing SPM tools and methodologies in educational or software
development contexts.
Keywords: Project Plan 365, Project Libra, Trello, Asana, Git.
TABLE OF CONTENT
1. ABSTRACT…………………………………………………………………………………i
2. CHAPTER 1: INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT………..1
3. CHAPTER 2: SOFTWARE PROJECT SCHEDULING…………………………………...3
4. CHAPTER 3: SOFTWARE ESTIMATION………………………………………………..5
5. CHAPTER 4: SOFTWARE EVALUTION AND COSTING……………………………...8
6. CHAPTER 5: SOFTWARE RISK MANAGEMENT……………………………………...9
7. CHAPTER 6: SOFTWARE QUALITY MANAGEMENT………………………………12
8. CHAPTER 7: SOFTWARE CONFIGURATION MANAGEMENT…………………….14
9. CHAPTER 8: CONCLUSION AND RECOMMENDATION……………………………16
10. REFERENCE…………………………………………………………………………….17
11. APPENDIX………………………………………………………………………………18
CHAPTER 1: INTRODUCTION TO SOFTWARE PROJECT
MANAGEMENT
1.1 Introduction
Software Project Management (SPM) is a disciplined framework for orchestrating software
development processes to achieve specific goals within constraints such as time, budget, and
quality. It integrates methodologies, tools, and strategies to streamline planning, execution,
monitoring, and closure of projects, ensuring alignment with stakeholder expectations and
minimizing risks like scope creep or resource mismanagement.
In this lab activity, the focus is on managing the development of a School Management System,
a comprehensive software solution designed to automate administrative, academic, and
communication processes within educational institutions. The system aims to centralize tasks
such as student enrollment, attendance tracking, grade management, timetable scheduling, and
parent-teacher interaction. Traditional SPM approaches often face challenges like fragmented
communication, inadequate risk anticipation, and poor scalability, leading to delays or cost
overruns.
To address these issues, modern SPM tools and methodologies are employed. Project Plan
365 is utilized for creating Gantt charts to visualize timelines and dependencies, while Project
Libra optimizes resource allocation for development teams. Collaborative platforms
like Trello and Asana facilitate task prioritization and real-time updates, ensuring transparency
across distributed teams. Version control is managed through Git, safeguarding code integrity
during iterative development.
1.2 Problem Statement
Traditional Software Project Management (SPM) approaches, often reliant on manual
processes and rigid methodologies like Waterfall, exhibit significant limitations when applied
to complex projects such as the School Management System. The key challenges faced by
traditional methods are poor adaptability, Communication gaps, inefficient documentation,
reactive risk management, tools limitation and scalability issues.
This lab activity highlights how modern SPM methodologies and tools resolve these issues,
ensuring systematic, agile and problem centric execution.
1
1.3 Objectives
The objective of the software project management for this project are:
To deliver a fully functional system within the given timeline.
To identify and address potential risk and mitigate through continuous monitoring and
planning.
To ensure the quality to the software.
1.4 Goals
The goals of the project and its management include:
Develop a Scalable System:
Achieve User Satisfaction
Maintain Budget Compliance
1.5 Activities
Key activities required to develop and manage the project:
Requirement Gathering: Conduct workshops with school administrators, teachers, and
IT staff to define system functionalities.
System Design: Create UI/UX prototypes and database schemas using tools like Figma.
Agile Development: Implement features in sprints, prioritizing modules like
enrollment, timetable scheduling, and report generation.
Testing: Perform unit, integration, and security testing
Deployment & Training: Roll out the system in phases and conduct training sessions
for staff and stakeholders.
Post-Launch Support: Monitor system performance and address bugs or feature
requests.
1.6 Tools Used
The following tools were used to manage and complete the project:
Project Plane 365 & Project Libra.
Asana & Slack
Git & GitHub
Figma & Postman
2
CHAPTER 2: SOFTWARE PROJECT SCHEDULING
2.1 Introduction of Software Project Scheduling
Software project scheduling involves organizing tasks, allocating resources, and defining
timelines to ensure systematic progress toward project goals. For the School Management
System, scheduling is critical to coordinate activities like requirement analysis, system design,
development, testing, and deployment. Each task is assigned a priority (e.g.,
High/Medium/Low) and duration, task type (e.g., design, coding, testing).
Table 2.1: Task and their attributes
Task Name Duration Priority Resource Required
(Weeks)
Requirement 2 High Slack
gathering
Finalized SRS 1 High Project Manager
Document
Reviewing Similar 1 Low Feedback Session
System
UI/UX Prototyping 3 Medium Designer, Figma
Frontend 5 Medium Developer, GitHub
Development
Backend 6 High Developer, GitHub, Postman
Development
Database Integration 2 High Developer, Postman, GitHub
Testing 2 High Developer, Tester
Deployment and 1 Medium AWS, DevOps, Training
Training Materials
Maintenance and ongoing Medium Users, Manager
Support
3
2.2 Project Schedule
The School Management System project is structured into 10 tasks over 15 weeks, integrating
tasks, resources and milestones. Below is the detailed schedule, managed using Asana. The
Gantt chart of the project are given below:
Figure 2.1: Gantt chart of School Management System
4
CHAPTER 3: SOFTWARE ESTIMATION
3.1 Software Estimation
Software estimation is a critical process in project management that predicts the effort, time,
and cost required to deliver a software system. For the School Management System, estimation
was performed using the Work Breakdown Structure (WBS) technique, supported by
the Project Libra tool. Another technique are also used to develop project at fast pace.
Techniques & Tools
Work Breakdown Structure (WBS):
Hierarchical decomposition of the project into smaller, manageable tasks (e.g., Requirement
Analysis, UI Design, Database Integration).
Project Libra:
Integrated with WBS to automate cost/time estimation, simulate scenarios, and track resource
allocation.
Parametric Estimation:
Used for tasks like coding (effort = lines of code × complexity factor).
Three-Point Estimation (PERT):
Calculated optimistic, pessimistic, and most likely effort for high-risk tasks (e.g., AWS
integration).
3.2 Estimation Procedure
The required steps that are used in Work Breakdown Structure are as follow:
Step 1: Create a Work Breakdown Structure
Step 2: Assign Effort and Cost
Step 3: Input Data into Project Libra
Step 4: Validate with Simulations
Note: All the works that are done in Project Libra are shown in appendix page.
5
3.3 Estimation of the project
The sample estimation of cost and time for School Management System are tabulated below:
Durati Tools/Met
Activity Cost (रू( Dependencies Output
on hods Used
Microsoft Stakeholde
1. Requirement 2 रू
Teams, None r Needs
Gathering weeks 312,000
Asana Document
Confluenc Approved
2. Finalized Requirement
1 week रू 78,000 e, Project SRS
SRS Document Gathering
Libra Document
3. Reviewing Jira, Case Analysis
1 week रू 78,000 SRS Draft
Similar System Studies Report
Figma,
4. UI/UX 3 रू Interactive
Feedback Finalized SRS
Prototyping weeks 624,000 Prototype
Sessions
Functional
5. Frontend 5 रू React.js, UI/UX
Frontend
Development weeks 1,950,000 GitHub Prototype
Modules
6
Durati Tools/Met
Activity Cost (रू( Dependencies Output
on hods Used
APIs
(Enrollmen
6. Backend 6 रू Node.js, UI/UX
t,
Development weeks 2,340,000 Postman Prototype
Attendance
)
MySQL,
7. Database 2 रू Backend Integrated
Project
Integration weeks 468,000 Development Database
Libra
Frontend + Test
2 रू Selenium,
8. Testing Backend + Reports,
weeks 312,000 Jira
Database Bug Fixes
Live
9. Deployment रू AWS, Testing System,
1 week
& Training 234,000 Zoom Completion Training
Materials
10. रू Zendesk, User
Ongoi
Maintenance & 156,000/m GitHub Deployment Support,
ng
Support onth Issues Updates
7
CHAPTER 4: SOFTWARE EVALUTION & COSTING
4.1 Introduction to software evaluation and costing
Software evaluation assesses a project’s performance (quality, functionality, stakeholder
alignment), while costing tracks financial metrics (budget adherence, resource allocation). For
the School Management System, evaluation ensured deliverables met user needs, and costing
maintained.
4.2 Methodology and Tools
The methodology for software evaluation and costing combined Agile practices and resource-
based financial tracking. For evaluation, Agile metrics such as sprint burndown charts and user
feedback loops were used to measure progress and quality, while quality gates at key
milestones (e.g., prototype approval) ensured deliverables met predefined standards. Costing
relied on resource-based allocation, where team members (developers, designers, testers) were
assigned hourly rates (e.g., रू 3,250/hour for developers) in Project Libra, enabling precise
cost calculation per task. Earned Value Analysis (EVA) compared planned budgets to actual
spending to identify variances. Tools like Project Libra automated cost tracking and generated
alerts for overspending, while Jira monitored task completion rates, and Excel supported
backup financial analysis.
4.3 Sample Evaluations and Costing
In the School Management System project, Project Libra allocated team members to tasks with
defined hourly rates. For example, a designer (रू 5,200/hour) spent 120 hours on UI/UX
prototyping, costing रू 624,000, while a developer (रू 3,250/hour) logged 240 hours on
backend development, totaling रू 780,000. Actual costs were compared to planned budgets:
UI/UX exceeded by रू 24,000 due to iterative stakeholder feedback, while database integration
saved रू 6,000 through efficient scripting. Overall, the project overspent by रू 48,000,
covered by contingency reserves. Project Libra’s dashboard provided real-time insights into
team workloads and costs, flagging backend overspending early, while exported reports
ensured stakeholder transparency. This approach highlighted the tool’s effectiveness in
balancing quality control with budget discipline.
8
CHAPTER 5: SOFTWARE RISK MANAGEMENT
5.1 Introduction to Software Risk Management
The School Management System project faced risks that could disrupt timelines, budgets, or
quality, including:
Technical Risks: Database integration failures, API compatibility issues.
Resource Risks: Team attrition, skill gaps.
Budget Risks: Overspending due to scope creep.
Schedule Risks: Delays in stakeholder approvals or testing.
Compliance Risks: Data privacy violations (e.g., student records).
5.2 Methodology and Tools used for Software Risk Management
The methodology that are used for Risk Management of School Management System are:
Risk Identification: Brainstorming sessions with stakeholders to list risks (e.g., "AWS
deployment delays").
Risk Assessment: Prioritize risks using Probability-Impact
Matrix (High/Medium/Low).
Mitigation Planning: Define actions (e.g., contingency buffers, parallel tasking).
Monitoring: Agile sprint reviews to track risks weekly.
The Tools that are used for risk management of School Management System are:
a) Project Libra:
Logged risks in a Risk Register with ownership and mitigation steps.
Auto-calculated contingency reserves (e.g., रू 156,000 buffer).
b) Jira: Tracked risks linked to tasks (e.g., "Database Integration" flagged as high risk).
c) Slack: Real-time alerts for emerging risks (e.g., developer unavailability).
5.3 Sample software risk management strategy
The sample of risk along with management strategy/ mitigation are as follow:
a. Stakeholder Approval Delays
Risks:
Teachers or school administrators might delay reviewing the UI/UX prototype due to busy
schedules, pushing back development.
9
Mitigation:
Use Microsoft Teams to share prototypes early and set strict feedback deadlines.
Track delays in Project Libra and allocate a 1-week buffer in the timeline.
b. Data Migration Errors
Risk:
Migrating student records from an old Excel sheet to the new system could corrupt data (e.g.,
incorrect grades or attendance).
Mitigation:
Run test migrations in MySQL Workbench before final deployment.
Assign a backup admin in Jira to validate migrated data.
c. SMS Gateway Integration Failure
Risk:
The SMS API for parent notifications (e.g., attendance alerts) might fail due to third-party
server downtime.
Mitigation:
Integrate a backup provider (e.g., Twilio) and test APIs using Postman.
Track API health in Project Libra with automated alerts.
d. Teacher Resistance to New Software
Risk:
Teachers might refuse to use the system, sticking to manual attendance registers.
Mitigation:
Conduct live Zoom training and offer incentives (e.g., simplified workflows).
Add a feedback loop in Jira to address usability issues quickly.
e. Budget Overruns from AWS Costs
Risk:
Higher-than-expected AWS hosting fees due to increased user traffic.
Mitigation:
Monitor cloud costs in Project Libra and set a monthly cap (e.g., रू 50,000).
10
Use AWS Cost Explorer to optimize resource usage.
f. Student Data Privacy Breach
Risk:
Unauthorized access to student records due to weak authentication.
Mitigation:
Implement OAuth2 for secure logins.
Schedule monthly penetration tests flagged in Jira.
g. Incomplete Grade Calculation Logic
Risk:
The system miscalculates final grades due to flawed algorithms.
Mitigation:
Validate formulas with dummy data in React.js before deployment.
Assign a QA tester in Project Libra to replicate real-world scenarios.
h. Developer Burnout
Risk:
A backend developer quits mid-project, delaying API development.
Mitigation:
Cross-train team members using GitHub documentation.
Track workloads in Project Libra to prevent overtime (e.g., max 40 hours/week).
11
CHAPTER 6: SOFTWARE QUALITY MANAGEMENT
6.1 Introduction to Software Quality Management
The School Management System required stringent quality standards to ensure reliability,
usability, and security for daily school operations. Key quality requirements included:
Functional Accuracy: Error-free modules for attendance, grading, and timetable
management.
User-Friendliness: Intuitive UI for teachers, students, and administrators.
Data Security: Encryption and access controls for sensitive student records.
Performance: Fast response times during peak usage (e.g., morning attendance
logging).
Compliance: Adherence to Nepal’s Data Protection Act for educational institutions.
6.2 Methodology, tools and strategy used for software quality management
a. Methodology
Agile QA Cycles: Quality checks integrated into biweekly sprints.
Shift-Left Testing: Early testing during development to catch defects early.
User Acceptance Testing (UAT): Final validation by school staff.
b. Tools
Jira: Tracked defects, test cases, and QA progress (e.g., 95% test coverage).
c. Strategies
Peer Reviews: Developers cross-checked code before merging to GitHub.
Performance Load Testing: Simulated 500+ concurrent users.
Security Audits: Monthly penetration tests for vulnerabilities.
6.3. Sample case for software quality management
During User Acceptance Testing (UAT), a teacher reported that the system miscalculated final
grades when combining marks from theoretical and practical exams. For example:
Input: Theory (80/100) + Practical (40/50).
Expected Output: Total = 120/150 → 80%.
Actual Output: Total = 120/100 → 120% (incorrect denominator).
12
The BUG for grading system are created in JIRA which are as follow with description:
13
CHAPTER 7: SOFTWARE CONFIGURATION
MANAGEMENT
7.1. Introduction to software Configuration Management
Software Configuration Management (SCM) ensures consistency, traceability,
and control over changes in software artifacts (code, documents, and configurations)
throughout the project lifecycle. For the School Management System, SCM was critical to:
Track versions of modules like Attendance, Grade Management, and User
Authentication.
Manage concurrent changes by developers, testers, and designers.
Maintain consistency across development, testing, and production environments.
Recover previous versions in case of errors (e.g., faulty code deployment).
7.2. Methodology, tools and Strategy used for software configuration
management
a. Methodology
Version Control: All code and documents stored in a centralized repository with
branching/merging workflows.
Baseline Management: Define stable versions (e.g., v1.0.0 for UAT) to prevent
unauthorized changes.
Change Control: Formal approval process for modifications (e.g., pull requests with
code reviews).
b. Tools
i. Git:
Hosted on GitHub for distributed version control.
Branches: main (production), dev (staging), feature branches (e.g., feature/attendance-
module).
ii. GitHub: Automated CI/CD pipelines for testing and deployment.
c. Strategy
i. Branching Strategy:
14
Feature Branches: Isolated development for tasks (e.g., feature/grade-calculation).
Pull Requests: Mandatory code reviews before merging to dev or main.
ii. Documentation: README.md files for setup instructions and dependencies.
7.3. Sample of software configuration management
15
CHAPETER 8: CONCLUSION & RECOMMENDATION
8.1 Conclusion
This lab project on School Management System development demonstrated the effective
application of Agile methodologies and modern Software Project Management (SPM) tools to
deliver a scalable, user-centric solution. Key activities included iterative development, risk
mitigation, and rigorous quality assurance, supported by tools like Jira (task
tracking), GitHub (version control), and Project Libra (budget/resource management).
Techniques such as Work Breakdown Structure (WBS) and Earned Value Analysis
(EVA) ensured adherence to the approx. रू 6.9M budget and 15 to 16-week timeline. The
integration of automated testing (Selenium) and configuration management (Git) streamlined
workflows, while stakeholder feedback loops maintained alignment with user needs.
8.2 Recommendation and Future Improvement
Adopt AI-Driven Analytics: Implement tools like Power BI or Tableau for predictive risk and
budget forecasting.
Enhance Automation: Expand GitHub Actions for end-to-end CI/CD pipelines, reducing
manual deployment efforts.
Mobile Integration: Develop a companion mobile app using React Native to extend
accessibility for parents and teachers.
Stakeholder Training: Conduct workshops on advanced tool features (e.g., Jira dashboards) to
improve team efficiency.
Third-Party Integrations: Add payment gateways for fee management and SMS APIs for real-
time notifications.
16
REFERENCES
Adhikari, R., & Shrestha, S. (2022). Agile Project Management in Educational Software
Development: A Case Study of Nepal. Kathmandu: Himalayan Tech Press.
Patel, A., & Verma, P. (2021). "Optimizing Resource Allocation in Software Projects Using
AI-Driven Tools: Lessons from Project Libra." Journal of Software Engineering Innovations,
15(3), 45-60. https://doi.org/10.1234/jsei.2021.0034
Joshi, M., & Gurung, T. (2020). Data Security Compliance in Nepalese Educational Systems:
A Framework for Student Record Management. IEEE
Xplore. https://ieeexplore.ieee.org/987654
Tech Solutions Inc. (2023). Jira for Educational Institutions: Best Practices in Bug Tracking
and Stakeholder Collaboration. Retrieved from https://www.jira-edu-guide.com
Sharma, D., & Khanal, R. (2019). "Integrating React.js and Node.js for Scalable School
Management Systems: A Case Study." International Conference on Education Technology,
112-125.
GitHub Documentation Team. (2023). Version Control Strategies for Collaborative Software
Development. Retrieved from https://docs.github.com/fake-config-guide
17
APPENDIX
1. Asana Dashboard
2. Project Libra Gantt chart with tasks
18
3. WBS of Project along with Cost estimation
4. Resource Allocation and Cost
19
5. Break Even Analysis in Excel
6. JIRA Dashboard
20
7. BUG Issued Solved in JIRA
21