You are on page 1of 6

6.

SOFTWARE DEVELOPMENT PLAN

6.1 Introduction
The objective of the Software Development Plan (SDP) is to define the activities in terms of phases
and iterations required for developing Mustaahiq Web Application and its Web Admin Panel. This plan
defines the estimation, resource allocations and schedule of development, against each task. It also
defines the naming conventions and coding standards that will be followed throughout the project.

6.1.1. Definitions and Abbreviations

DB Database

UI User Interface

VCS Version Control System

SDP Software Development Plan

CI Configuration Item

6.1.2. References
This document refers to Software Requirements Specification, Software Functional Specification and
Software Design Specification documents.

6.2 Project Overview


The purpose of this software project management plan document is to provide the complete
description of the Mustaahiq which is the online direct donation system. This system provides an
efficient way to manage donation and donors will be able to donate money directly to the
beneficiary. The idea is to assist in connecting the hearty donors with the needy to fulfill the
minimum essential needs. The main objective is to link the donors directly with the beneficiary so
that they can track their charity. We will build a digital charity donation portal that can be a
transparent bridge between charity donors and the end beneficiary. There will be an open portal
where beneficiaries can register themselves individually or under any category, and donor can
choose who to give helping hand and understands whether the donations are going to the right
person in need, without involving any third-party NGO.

6.2.1. Assumptions and Constraints


Following are the assumptions and constraints for this project.

● Mobile and Admin Panel requires reliable Internet connection.


● Users of this application must have the basic knowledge of web applications.
● Incomplete or incorrect requirements may result in increased time and potentially reduced
quality.
6.2.2. Project Deliverables

Milestone Deliverables

08-Feb- ● Final Documentation update and Amendments


2023 ● Risk Management Plan Update
● Software Development Plan

23-Feb- ● Project Setup


2023 ● Web Application Setup
● DB Setup
● Design Pattern Setup

10-March- ● Admin Panel Sign Up


2023 ● Admin Panel Login
● Add User
● View User
● Update User
● Delete User

24-March- ● Beneficiary Request Form


2023 ● APIs
● Beneficiary segregation
● Update Donation Status

31-March- ● View Donor List


2023 ● Update Donation Category
● Forget Password
● Manage Profile

25-April- ● View Donation


2023 ● Success Story Module
● Donation Confirmation
● Receipt Generation

09April- ● Deployment on AWS


2023 ● Testing Overall

6.3. Project Organization


Different aspects of this project’s organization are discussed in the following subsections.

6.3.1. Organization Structure


Each member of the project team is assigned a role. The project will be led by Project Manager and
other resources, having multiple roles, will report directly to the Project Manager.
Resources have to report directly to Project Manager following the hierarchical team structure. There
is a Project Manager and the rest of the roles are assigned to other team members. All team members
are responsible for their tasks and everyone is expected to contribute equally to the project. Feedback
concerning the decisions will be highly encouraged by the team members. Personal communication
between team members is highly encouraged. To monitor the progress of the project team, Project
manager will conduct a 20-minutes scrum with the project team members on Google Meet weekly to
track the project Progress. Team members will have to immediately escalate any hurdles/show
stoppers during development to the Project Manager via email/phone call.

6.3.2. External Interfaces


The project team members will coordinate with the project advisor for feedback and guidance
throughout the life of the project.

6.3.3. Roles and Responsibilities


The roles and responsibilities that are assigned to each team member are as follows.

Role List of Responsibilities

Project Responsible and Accountable for:


Manager
● Defining project goals, scope, approach, and overall task plan including
providing clarity on critical path tasks.
● Use Agile/SCRUM for software development processes.
● Ensure project tasks are completed on time and within scope.
● Define, document, and implement project management best practices and
process improvements.
● Motivate team members to action; identify common themes, make
inferences and draw conclusions.
● Create a sense of belonging and ownership among team members;
assemble a team with the right mix of skills; coach and motivate team
members; delegate responsibility; promote mutual support and interaction.
● Project Plan creation and maintenance
● Conflict resolution amongst team
● Risk Management
● Maintaining the CIS items in repository
● Review Software Configuration Plan documentation
● Managing VCS

Business Responsible and Accountable for:


Analyst
● Requirements Elicitation
● RS Documentation
● Business Analysis Risk Management
● Project coordinator (Schedule Meeting and publish meeting of minutes)

Software Responsible and Accountable for:


Developer
● Software Design and Development
● UI Development
● Implement Coding standards

Software Responsible and Accountable for:


Quality
Assurance ● Software Quality Assurance Plan documentation
Engineer ● Software Test Plan Documentation
● Software Configuration Plan Documentation
● Software Test Plan Coverage
● Quality Risk Management

6.4. Process Model

The process model that will be followed for software development is Scrum. Using Scrum, features of
Smart Tourist Application as well as Admin Panel are divided into multiple sprints. Each sprint will kick
off with a sprint planning meeting during which requirements of respective features will be discussed
and assignments of tasks will be made to respective members. Each sprint will facilitate development
of respective features and their integration testing. At the end of each sprint, a retrospective meeting
will be conducted to ensure if the work is done as planned. The sequence of software modules to be
delivered in each sprint is described in the software development schedule.

6.5. Code Policies and Standards

Mustaahiq Application will be developed using predefined code policies and standards which are as
follows:

6.5.1. Code Development Policy


Code will be developed using guidelines and standards of React Native and .Net.
6.5.2. Naming Conventions
1. Naming Conventions will be used while developing Application:
○ A folder and Sub folder name should always start with small letters.
○ To name the components, we follow pattern path-based component naming.
○ The object and variable declaration should always be in the Camel case statement.
2. Naming Conventions will be used while developing Web Admin Panel:
○ A variable name must start with letter or underscore character
○ Variable names are case sensitive

6.5.3 Code Quality Attributes


Code will be written to support modularity and reuse. Conventions related to React native and .Net
will be followed in development.

6.5.4. Code Metrics


For collecting code metrics for Smart Tourist applications like Cyclomatic complexity. We will
perform static analysis after every sprint and based on code metrics, we will improve and refactor
parts of code that are more complex or prone to bugs.

6.5.5. Code Integration Policy, Procedures and Techniques


GitLab is our primary Version Control System; following is the procedure for code integration in the
repository,

1. All latest code will be present in the development branch.


2. All production code will be present in the master branch.
3. Developers will push their local changes to this feature branch constantly and will merge
changes by coordinating with the Project Manager.
4. After a feature is completed, the branch will be merged back to development and a release
branch will be made with the name release/version of release. Now the build will be provided
to QA for testing. Any bug fixes for this release will be done on the release branch.
5. After release is fully tested and fixes have been made, release will be tagged and merged
back to development and master.

6.6. Tools and Technologies

Programming Language .Net , React Native

Database Mongo DB
6.7. Project Staffing

The whole project has been divided into multiple milestones where each milestone consisted of one
sprint. Each sprint carries tasks which have been assigned to the relevant resources based on their
skills. The task assignment has been done considering the previous experience and expertise of the
members of the project.

Training on the skills will be conducted for the project team prior to the start of implementation
activities. Training includes development environment setup (Visual Studio, VS Code, Mongo DB) and
GitLab.

6.8. Conclusion

Software development plan is the key document for the development of Mustaahiq App. On the
basis of this plan, the team will organize their priorities, work on their assigned tasks and develop
the app.

Appendix 6A: MS Project Images of WBS for Software Development Plan

You might also like