You are on page 1of 44

Volunteer Skill Share

CST499-30_SU19: Directed Group Capstone

Christopher Buckey

Patrick Gonzalez

Christopher Holmes

Michael Loeser

2019
Volunteer Skill Share 1

Executive Summary

Elements such as growing income inequality, weather events related to climate change,

and reduction of government sponsored services mean nonprofit organizations have never been

as necessary as they are now. With the current changing regulations, push to cut costs, and the

complexities of promoting and seeking donations, organizations today have many challenges in

fulfilling their stated mission. The growing need in the corporate market for people with specific

skills adds pressure and raises the cost for nonprofit organizations, making it more difficult than

ever to find people to fill skills gaps in their teams.

Nonprofit organizations are primarily limited to using job boards that do not cater to a

volunteer market or word of mouth introductions to find volunteers with the skills they need.

This adds additional tasks and another layer of confusion to their agenda. Similarly, volunteers

have a difficult time sifting through many organizations to find one that fits their needs and has

projects where they can apply their skills and experience. The need for a platform to help both

parties is evident due to the number of volunteers and organizations that are out there.

Team Betawares’ designed a web-based application as their Capstone project, named

Volunteer Skill Share. This website offers a mix of job board and matchmaking service that

allows volunteers with specific skills and experience to find opportunities and match with

non-profit organizations that have project needs aligned with those skills. The purpose of this

project was to allow non-profit organizations and volunteers to find each other in a controlled

environment. The target audience of this project spans both individuals who are seeking to

provide services to their community and nonprofit organizations that impact the community in a

social or political way.


Volunteer Skill Share 2

Table of Contents

I. Part I

A. Introduction

1. Project Goals and Objectives

2. Community and Stakeholders

3. Evidence that the Project is Needed

4. Feasibility Discussion

II. Part II

A. Design Requirements

1. Functional Decomposition of the Project

2. Selection of Design Criterion

3. Final Deliverables

4. Approach/Methodology

5. Ethical Considerations

6. Legal Considerations

III. Part III

A. Timeline/Budget

B. Usability Testing/Evaluation

C. Final Implementation

D. Discussion

E. Conclusion
IV. References

V. Appendix
Volunteer Skill Share 3

Volunteer Skill Share

Matching Skills and Needs

Introduction

While working with the non-profit partners on the Service Learning project, it became

clear that there is a need in many non-profit organizations that is not being met. The

organizations have limited funds for staffing and many in-demand skills are unavailable. These

non-profit groups have varying missions and a wide array of unique needs and are forced to

spread staff across responsibilities that require specific skills and experience, often leading to

unsuccessful outcomes. Team Betawares built a web-based application, called Volunteer Skill

Share, that allows volunteers with specific skills and experience to find opportunities and match

with non-profit organizations that have project needs aligned with those skills. The site is a mix

of job board and matchmaking service allowing potential volunteers to find and assist non-profit

organizations that require specific skills and experience for volunteer projects.

There are two main user groups that were the focus of this application, volunteers and

nonprofit organizations. The volunteer with specific skills, who will provide a form-based job

history and experience profile as part of their enrollment, and can look for a non-profit

organization with a set of projects to devote their time. The second is the non-profit

organization, who will post projects and define specific skill requirements and can make

connections with potential volunteers who have listed the skills they need.
Volunteer Skill Share 4

Project Goals and Objectives

The Betawares Capstone project completed a short list of long-term goals. These are

more than what could have been met within the time of the project but represents the focus for

the application if it were to continue on as a public application.

Goal 1:​ Attract a large number of nonprofit partner organizations and become the primary tool

used by nonprofit organizations to list projects and skills needs and contact potential volunteers

to meet those needs.

● Short-term objective:​ Testing and Demo was done using test partner organizations,

scripted and inserted into the site. This provided a small content set with which we

showed the application functionality.

○ Delivery:​ Capstone demo date

● Medium-term Objective:​ Betawares focused on nonprofit organizations local to the

team members (Bay Area, Southern CA) to build a small base of partner organizations.

These organizations assisted in building a small base of real projects, validating the

existing functionality, and help to test new features.

○ Delivery:​ 3-6 months after Capstone demo

● Long-term Objective:​ Work with our sponsor organization, Hands On Bay Area

(​www.handsonbayarea.org​), an organization connected with more than 280 other Bay

Area nonprofits to source additional nonprofit partners. Also, begin direct nonprofit

partner outreach outside the Bay Area by contacting organizations through searches and

recommendations from other reference sites.


Volunteer Skill Share 5

○ Use HoBA’s experienced marketing and communications team that is in regular

direct contact with the nonprofit organizations to assist in promoting the site as a

helpful resource.

○ Delivery:​ 6-12 months after Capstone demo

Goal 2:​ Support and attract a significant volunteer population to the site, allowing them to search

for volunteer opportunities and connect with nonprofit organizations where they can apply their

skills and experience.

● Short-term Objective:​ Testing and Demo of the site was done using mock volunteer

profiles that are scripted and inserted to the site. These provided enough data, skills

selections, and content to show the application functionality.

○ Delivery:​ Capstone demo date

● Medium-term Objective:​ Work with nonprofit partner HoBA to source volunteers from

the hundreds of projects they organize and thousands of volunteers they source each

month for Bay Area technology, financial, and services corporations, who have the

specific skills nonprofits need. HoBA will also display content and links in prominent

areas of their website, bringing in potential volunteers directly to VSS’ mission overview

and the volunteer enrollment process.

○ Delivery:​ 3-6 months after Capstone demo (and ongoing)

● Longer-term Objective:​ Work with HoBA to enable partnership with the Points of Light

Foundation (​www.pointsoflight.org​), which supports more than 200 very large nonprofit

affiliates in 41 US states and 36 other countries globally and manages hundreds of

thousands of volunteers.
Volunteer Skill Share 6

○ Delivery:​ 6-9+ months (and ongoing)

Goal 3:​ Create a funding mechanism to support the development, maintenance, and operational

elements of the website and its staff.

● Medium-term Objective:​ Add site-based revenue generators such as Google Ads,

Amazon referrals, dynamic tracking pixels, etc. and work with HoBA to determine

possible funding sources from corporate partners or nonprofits.

○ Technical concerns, such as migrating the site to stable hosting, and operational

roles, such as nonprofit status application, content validation, partner outreach,

data cleansing, site maintenance, and corporate messaging are necessary to

expand features and attract partners and users.

○ Delivery:​ 6+ months

● Long-term Objective:​ Add functionality to allow volunteers, corporate partners, and

nonprofits to donate directly to the site. The site will be registered as a nonprofit and will

have the ability to take tax-deductible donations so we will allow users and partners to

help fund to keep the site running. This requires a lot of additional technical elements

(accounting, connection with payment processing, site enhancements, etc.) so is not

possible within the initial phases of the site.

○ Delivery:​ 12+ months

Stakeholders and Community

This project is designed to affect two groups of the non-profit community, the volunteers

and the organizations seeking volunteers. The stakeholders are the organization who will be
Volunteer Skill Share 7

investing their time posting and searching through the volunteer database created by this project.

The non-profit community is comprised of many different types of organizations that work

towards various goals from animal cruelty to human rights. With so many organizations to

choose from it can be challenging for volunteers to choose an organization to work with. These

non-profit groups have varying missions and a wide array of unique needs and problems that

attract a specific type of person into nonprofit work. Nonprofit employees are normally required

to work for less money than they would make in a corporate equivalent role and contribute their

skills while focusing on a number of different tasks and initiatives in order to further their

organization's goals. When spreading the focus and responsibility for many different tasks

(wearing many hats) to one person, it creates gaps in skills and experience. This leads to

inefficient or incorrect work processes on a semi-successful project or the complete failure on

unsuccessful projects. Non-profit organizations need a way to source these specific goals within

their local volunteer population and engage them for very specific projects. This project will

allow volunteers with specific skills and experience to find opportunities and match with

non-profit organizations that have project needs aligned with those skills. The site is a mix of

job board and matchmaking service allowing potential volunteers to assist non-profit

organizations that require specific skills and experience for volunteer projects.

Evidence that the Project is Needed

According to Thom Patterson in his article, Stats Reveal How Many Americans

Volunteer and Where, on CNN.com, “The data, from a survey released by the US Bureau of
Volunteer Skill Share 8

Labor Statistics in 2016, the most recent year available, shows that about one-quarter of

Americans, or 25 percent, take the time to volunteer.” As many Americans participate in some

form of volunteering a need to streamline volunteer connections with organizations is needed.

There are many sites that help volunteers to seek out organizations that are looking for people

with particular skills. Although a majority of them are all one-sided in that they cater to the

organizations by allowing them to post for the skills or jobs they are seeking to fill. Websites

such as ​www.nationalservice.gov​, providing volunteer opportunities nationally, only provides a

search engine for volunteers to look up organization opportunities near them. This one-sided

approach lacks the trend of volunteer work that is rising. Team Betaware’s web site is intended

to resolve this one-sided approach to volunteer and organization project listing by allowing

organizations to also search for volunteers and recruit them directly.

Feasibility Discussion

In her recent study on how generation Z is impacting nonprofit organizations, Gloria

Horsley stated in her article, “​Gen Z: What You Need To Know About The Newest Generation

Of Donors And Volunteers,” on Forbes.com that, “The newest generation is called Generation Z,

and it has many differences to address in marketing, communication, and engagement when

compared to previous generations.” Volunteering has grown drastically from participating in

food banks and helping the elderly. While these forms of volunteering still exist today the

category of what is sought after and the skills that people have is branching into more areas. A

worthy comparison of what this project is meant to project is that of Volunteermatch.com.

Websites such as Volunteermatch.com and Volunteer Skill Share embrace both the idea that
Volunteer Skill Share 9

volunteering has grown to other areas, but also the fact that the current generation is more

technology inclined. A more robust volunteer site includes categories and subcategories of skills

that are not only needed but skills that organizations would not have thought of as a need. While

there are many sites that have only a one-sided approach to how volunteers can find

organizations to work with, a more modern design now has the ability to allow volunteers to

advertise their skills in order to allow organizations to now search for help. Both of these new

implementations are more pleasing to the newer generation of volunteers and will allow the trend

of volunteering to grow at a more rapid pace.

Team Betawares used the bases of many sites to help guide the design of their project.

The two major functions that the team noticed that was missing from many volunteer sites is the

ability to allow organizations to search for volunteers directly and to allow organizations to

advertise for specific projects. As the number of people willing to volunteer their time and skills

grows, the need for an organization to actively find volunteers rather than waiting for the

volunteer to find them is a much-needed functionality. These simple features can be utilized to

provide a more efficient way for matching volunteers and organizations. Team Betaware’s web

application, Volunteer Skill Share, is a branch from websites such as Volunteermatch.com and

now adds a two-way search engine. This project allows volunteers and organizations to find and

search for each other not only by skills but by the singular projects. Volunteer Skill Share has

the added benefit of allowing organizations to post about their current or future projects to

advertise and attract volunteers based on the skills needed to complete these projects. With this

feature, volunteers can more easily be matched with organizations that they may never have

considered. Regardless of the fact that there are many websites that match volunteers and
Volunteer Skill Share 10

organizations team Betawares has seen improvements that can allow for a more efficient and

effective way of bringing volunteers and organizations together.

Design Requirements

Functional Decomposition of the Project

User Authentication

User authentication begins at the login.php page,. If the user was new, they can create a new

user. If the user had already created an account, they could just enter their username and

password. This information was passed to the loginprocess.php page, which calls the

getAuthenticatedUser function to check the user’s username and password in the database. If

successful, the user’s role was checked, either a Volunteer or an Organizer. From there, the user

was directed to the appropriate role page based on their role filed in the database.

Display and Edit Information

In order to match Volunteers and Organizations, they must be able to see each other’s contact

and profile information. For volunteers, this information is displayed on the volProfile.php page.

For organizations, this information is displayed on the orgProfile.php page. Using the nav bar,

the user was able to edit this information on the volProfileEdit.php page or the

orgProfileEdit.php page, respectively. These pages consist of a form that allowed the user to edit

information that was previously entered when they created an account. When the user selects to

update the information, the form values are validated with html5 input validators as well as
Volunteer Skill Share 11

javascript, then the form posts back to the page. The data is then updated in the database, any

messages or errors handled, and the results are displayed to the user.

Search

Volunteers were able to search through the database for interesting organizations, whereas

organizations were able to search through the database for volunteers that matched a certain

criteria. Volunteers could search through the orgSearch,php page for organizations and projects.

Organizations could search through the volSearch.php page for Volunteers. These pages consist

of forms that query the database for selected criteria, and return the result. The forms have

multiple input elements, which are all optional and all support partial value matching. The data

is passed to separate stored procedures which do all of the matching and return the results for

display. Users then have the ability to select elements of the results display to view details.

Selection of Design Criterion

The users of this project are volunteers looking for volunteer work from non profit organizations,

and organizations that have projects that need volunteers to work in them.

Volunteers would be able to login securely to the website, enter profile, skills, and work

history information relevant to themselves and what they wanted to work on. Each time a

volunteer logged in, they would be able to see this information, as well as edit that information if
Volunteer Skill Share 12

they desired. In addition, the volunteer would be able to search through organizations and

projects in order to look for potential service opportunities.

Organizations would be able to securely login to the website and view the profile,

background, mission, contact, and other information that they have entered about themselves.

The site navigation allows the organization to manage their information and projects easily and

securely. In addition, organizations can create multiple user accounts to manage their site

information and are able to create and delete projects as they arose, advertising for volunteers to

sign up for them. Finally, the organization would be able to search through the volunteer

database for uniquely skilled volunteers that meet a certain criteria that the organization was

looking for.

Volunteer Skill Share is a web-based application that relies on the internet for its uptime

and reliability. Volunteer Skill Share had a goal of 99.9% uptime, which ensured the website

could be accessed anytime a user wanted to access it. In addition to its reliability, Volunteer

Skill Share uses usernames and passwords, session tokens, and token validations on each page to

ensure that it is secure, with only the owning user able to edit and manage their information.

Final Deliverables

Betawares was developed as a web application using multiple current technologies as a

real-world functional application that can be released to the public in partnership with a nonprofit
Volunteer Skill Share 13

organization called Hands On Bay Area (HOBA). Upon completion of this project our team

produced a web based application with supporting database, called Volunteer Skill Share. The

application is focused on an issue faced by many nonprofit organizations, limited personnel

resources and limited access to the in-demand skills that they need. The application can serve

two primary user groups, volunteers and nonprofit organizations, and has separate interfaces

specific to their functions.

The application landing page contains information about the site and allows the user to

login to an existing account or create a new profile. A successful login presents the user with

either the volunteer component of the web application or the organization component based on

their account type. Storing user login and passwords allows our team to prove that we have a

clear understanding of security and how we handle storing sensitive information such as

passwords into a user database.

The volunteer flow in the application allows the volunteer user to create and manage their

profile, job history, and skills and experience list. This profile and skills list is the content that

the nonprofit organizations will be searching to find matches. This information ranges from text

box inserts to document uploading capability. The variety of information that a volunteer enters

showcases the application inserting information into the volunteer profile database.

The volunteer also has the ability to search for nonprofit organizations by location (city

or region) and skills requested. The results of the search was placed in a grid form, where the

volunteer can select either the nonprofit organization profile, by clicking the name, or see the

details of a project including skills and potential timeline, by selecting the project. If the

volunteer feels they have found a match and wants to contact, they have the ability to view the
Volunteer Skill Share 14

organization’s profile and retrieve contact information, creating the connection that may lead to

the nonprofit moving their project forward. This element allows the team to show our ability to

generate complex queries and show results, as well as repurpose data in multiple displays in

separate user flows.

The organization component of our website is the core of our web application and

presents the content that volunteers are looking for and is the second focus area for the

presentation. This portion is where the organization will not only fill out their profile, including

mission statement and contact info, but also add project information and the list of skills needed

for multiple projects. The organization is also able to search through the database for potential

volunteers by location (city, region) and by skill to find potential matches. The org can then see

the profile and skill information for these potential volunteers and contact them if they find a

match. These functions provide definitive and clear understanding how our team can handle

database search filters and complex queries.

Hands On Bay Area (HOBA) is our test client for the Volunteer Skill Share website. The

organization worked with our team to validate the site features and provide feedback on both

functional and nonfunctional areas of the application in order to fine tune the use ability of the

interface.
Volunteer Skill Share 15

Approach/Methodology

The Betawares project includes a number of highly technical working elements, secure

data requirements, and two unique user groups with separate application flows. To ensure the

team is able to work together in building these elements and keep a combined vision of the site

and the development process, we incorporated the Agile development methodology. The team

will identify an online project management tool (the team has experience with JIRA, Target

Process, Rally, and others) and use this to document standard Agile project artifacts and manage

the required ceremonies. Each member of the team has a git repo and is familiar with git as a

source control tool. A centralized repo with each team member as an owner was created for this

project.

Each team member was assigned specific areas of the system responsibilities list of the

project that they owned as primary developer and architect, but all team members worked on all

areas of the site. The development cycle is very short and we used all of our technical abilities in

an efficient manner. We broke up work tasks so that team members with more experience or

interest in an area took on more of a specific type of task across the work streams.

Technical responsibilities:

● Database design and schema management

● Core data connection and system logic design and development

● Application integration and communication design and development


Volunteer Skill Share 16

● Web platform design and development

● Website design, styling, and navigation

● Content and assets creation and management

● Page development

● Integration and functional testing

● Application deployment and configuration

System responsibilities:

● Database Schema

○ Volunteer profile and contact info / Nonprofit project post and skill

request

● User authentication and security

● Volunteer profile management workflow and skill selection

● Nonprofit skill request, project posting, and contact info management

● Nonprofit project, skill search, and results display

● Volunteer profile search and results display

● Volunteer contact request and Nonprofit approval

● Contact request notifications

The team focused on defining the framework elements. A number of pre-built web

platforms are available for free use. To reduce the time and complexity of the development and

put more focus on the page and feature development, Bootstrap was chosen.
Volunteer Skill Share 17

In parallel with this effort, we built Epics and Stories to define the features in the project

management platform. We used minimal documentation to reduce the time before we move to

the development of items.

Additionally, one member of the team designed the initial version of the database schema

and procedures. This early database steered the project functionality and enabled the team to

move quickly to rapid site development. Schema changes during the site development were

communicated across the team and functionality was retested to ensure changes didn’t break

existing functionality.

Another member of the team worked on a site tree and navigation controls. This required

a number of reviews and adjustments and laid the map for pages that needed to be created, links

between pages, and much of the security as it defined which pages required login and under what

user context (volunteer or organization). A significant amount of work has gone into this as it

provides the map for all page development it was started early to provide time for iterations.

Next in the development priority list is the site authentication. The site supports to

separate user groups with separate roles and allows for future growth to add more roles to

support separating functions like content creators and approvers. A successful login generates a

time-sensitive session token that identifies the user type and role and is validated on each page.

The token will enable specific functionality within the site including identifying the user group,

adjusting the navigation, and enabling page specific functionality. Pages not aligned to the user

group will not be visible in navigation and redirects the user back to the landing page if the user

goes to them directly.


Volunteer Skill Share 18

During development we built reusable elements such as the header, navigation, and

footer. These elements were reused for all pages.

Last in the project development cycle is individual page development. The features are

broken up between the two user groups because the team split the development across the group

lines, using standardized elements for styling to ensure a consistent look and feel and reusable

templates to reduce the code and testing. The pages were recorded as stories in the project

management system and the team was able self-assign as needed and validate in the team

stand-ups.

Peer reviews and testing was a necessary part of the development process. The developer

was responsible for testing their feature as part of the development. To keep development

moving but ensure all features have been tested, the team set up a review process where a

developer reviews his work with a peer before moving code into the main project branch. This

process can be supported with features in git requiring a sign-off and was managed as a good

practice. Development to customize code repos or enforce rules on check-ins required additional

time and take away from feature development, so were not done as part of this project.

Ethical Considerations

Some of the ethical concerns regarding our site, Volunteer Skill Share, include the

following; content validation, ethical funding, and data management. Additionally, this is a

service made available through the internet, which will limit the audience.
Volunteer Skill Share 19

First and foremost, it was imperative that we validate content. The content on the

Volunteer Skill Share site is user provided, either by volunteers or nonprofit organizations,

which leads to a potential for inappropriate or incorrect data to be submitted as part of the

volunteer bios or the nonprofit projects and skills requests. Inappropriate and incorrect data

could quickly lead to a lack of trust or interest in using the site. If there is a lack of trust in the

site, users will not want to use the site. This lack of users will make it hard for Volunteer

Skillshare to operate as users are the primary source of content. Validating and removing

inappropriate content must be a maintenance task handled as an ongoing process. In later

versions of the site we may build content validators to ensure inappropriate words, content

patterns, or images are submitted. A crawler would also be helpful to notify and suppress

inappropriate content that passes by initial screening. Validation of the volunteer skills will be a

longer-term process and may involve some form of matching with job profiles, a requirement to

link to job profiles, such as a LinkedIn profile, that are be visible by the nonprofits, or a system

allowing a nonprofit to give feedback or a rating on a volunteer.

Securing funding to the site can also pose some ethical concerns to Volunteer Skill Share.

Volunteer Skill Share does not plan to be a commercial website at this time, but the matter of

funding the website will still need to be considered as there will continue to be operating costs

associated with running, maintaining, and adding features to the site. The idea of being a

nonprofit for tax purposes can be seen as posing some ethical concerns. A 2008 Brookings

Institution survey found that about one third of Americans reported having “not too much” or no

confidence in nonprofit organizations, and 70 percent felt that nonprofit organizations waste “a

great deal” or a “fair amount” of money. To address these issues, Volunteer Skill Share plans to
Volunteer Skill Share 20

be as transparent as possible in all matters, including making all of its funding sources and

expenses visible to users of the site.

Lastly, Volunteer Skill Share needs to make sure that user data management is handled

appropriately. The site be requesting multiple elements of data considered as Personal

Identifying Information from its volunteer members and over time will amass a large set of

critical information as the site grows its user base. Volunteer Skill Share will make sure to

continually provide up to date legal terms and conditions to all users to allow users of the site to

be assured that their data is being handled appropriately, helping to continually build trust in the

platform. Additionally, the site secures data by encrypting necessary fields and ensuring to

prevent data breaches and tampering through applying standard web application security best

practices.

By nature of this being an online application, those without easy internet access have the

potential to be an underprivileged group that will not have the ability to access the platform.

Those without easy internet access that want to volunteer would not be able to check the

platform often and have the chance to miss out on volunteer opportunities that they want to be

involved in. To support these users, Volunteer Skill Share require that nonprofit organizations

provide multiple means of contact (email, phone, address, etc.) and that contact information is

easily found and displayed prominently. This ensures that even when a potential volunteer is

unable to track upcoming projects through the site through regular views, they may contact the

organizations they are interested in through offline methods.


Volunteer Skill Share 21

Legal Considerations

The Betawares project website enables multiple elements that require legal consideration

under a commerce-based application and is especially difficult if it were to support a customer

base outside the US. The Volunteer Skill Share site is not a commercial website and is currently

only planned to support a US audience. This, along with the fact the US does not have clear and

comprehensive set of federal regulations, creates a complex set of possible laws to comply with.

Since the site is a non-profit and not a commercial or ecommerce platform, it does not

fall under many privacy and communications regulations targeted at commercial sites for

customer tracking, data retention, and marketing related messaging. Before reaching a wide

release, the content, features, and data of the site should be evaluated by proper legal council to

provide clear direction on how to manage legal considerations. Fines and penalties for

mismanagement or failure to handle complaints can be severe.

The list below describes the major items of concern and information on management.

Personal Information Management and Security:

The site will have a process for enrollment, taking Personal Identifying Information, PII

as defined by the from volunteers who sign up to use the service. This data is not to be used for

commerce, so does not bring it specifically under data privacy laws like the Federal Trade

Commission Act (FTCA), but it would be prudent to support these regulations. The FTCA

provides a set of guidelines for how to personal data should be secured, managed, and deleted

(after the user has terminated their account) and governs the practices and use within online,

offline, and mobile applications. These guidelines are enforced by the Federal Trade
Volunteer Skill Share 22

Commission in the US and are the most relevant set of regulations to consider in the Betawares

project (FTC, 2017).

Additional regulations that Volunteer Skill Share must comply with are specified in the

EU General Data Protection Regulation (GDPR), which began enforcement in May of 2018.

GDPR enforces management and handling requirements for data from European Union citizens

in applications globally. These laws provide a base for all EU countries to use but some

countries have created additional regulations that supercede GDPR. This complex mix of

regulations is described on the GDPR website at eugdpr.org (GDPR Online, n.d.).

Authentication and Data Security:

The site manages authentications and requires enforcement of password security and

management. This information is not personal identifying information and is not listed as

protected data under the FTCA as described above. A group of additional “best practices” have

been well defined by the software industry and more recently, state-specific laws are

incorporating username and password management into their secure data requirements. For

these reasons, and the changing requirements around authentication management in the US,

Betawares developed secure management and storage of the authentication process and data.

Direction on legal requirements and guidelines is provided by Thoren-Peden and Meyer’s article

“USA: Data Protection 2018”.

Email Notification and Messaging:

The Volunteer Skill Share application will not immediately support notifications and

messaging, but this is planned in the future to allow volunteers to send messages to nonprofit

organizations they are interested in. Nonprofit organizations will also be able to send a message
Volunteer Skill Share 23

to potential volunteers whose profiles match their needs to request assistance. Messaging

requires the support of specific regulations on tracking and managing customer opt-ins and

preferences. The user must provide their confirmation through acceptance of terms relating to

the messaging. At any point they must be able to update this acceptance through the site and a

link to manage the acceptance must be provided through an “unsubscribe” link in any messages

delivered on behalf of the application (Angel, 2017). Guidelines and management of these

regulations are provided by the CAN-SPAM Act (FTC Online, 2009).

Timeline/Budget

The application was built with all developers using academic accounts on Amazon AWS

Cloud 9 service for development and testing and the free online version of Github for code

repository. Each developer provided their own computer and an internet connection to access

Cloud9 and Github. The team did not have any other additional monetary costs.

The development of the Volunteer Skill Share site did complete all of our original

milestones but not according to the original schedule. The team had some issues early on with

code being checked in with merges issues, resulting in some loss of functionality in the main

branch. For some of the team this was the first time working with a centralized source control

system with a team sharing work. This required some training and clarification of process but

was corrected. We also had a number of misses in delivery early on in the project that caused

many of the items to fall behind and cause more work to be compressed in the end of the project.

The team was able to come together, break the work up and re-plan the timeline, redistribute the
Volunteer Skill Share 24

tasks, and meet all of our planned deliveries. The following table shows the final assignments

and deliveries as we tracked in our weekly scrum and delivery demo meetings.

Module Dates Task Owner Status


0 4/1 - 4/30 - Project Plan Definition All Complete
0 4/1 - 4/30 - Database Schema Design Mike Complete
0 4/1 - 4/30 - Technology Platform Decision All Complete
0 4/1 - 4/30 - Repository setup Chris H Complete
All - cloud9
1 5/1 - 5/7 - Web platform setup setup Complete
1 5/1 - 5/7 - Design page navigation Patrick, Chris B Complete
In process as
1 5/1 - 5/7 - Data connection code Mike, Chris B pages need
1 5/1 - 5/7 - Script test data Mike Complete
2 5/8 - 5/14 - styling - css and page design Patrick, Chris B Complete
2 5/8 - 5/14 - build the landing page Chris H, Chris B Complete
2 5/8 - 5/14 - Authentication and roles dev Chris H Complete
- Page header dev
2 5/8 - 5/14 - enforce login on login req'd pages Chris H Complete
- build pages for the rest of nav items -
allows to get the page names for
2 5/8 - 5/14 navigation Patrick Complete
styling for the nav - hide forms and continue in
2 5/8 - 5/14 expose when clicked, etc. Patrick week 3
- Volunteer profile create/edit -
volprofileedit.php
-- contains profile data (including continue in
2 5/8 - 5/14 name), bio, skills Chris B week 3
2 5/8 - 5/14 - Org search and results display Mike complete
3 5/15 - 5/21 volunteer profile form Chris B Complete
3 5/15 - 5/21 images and page content Patrick Complete
3 5/15 - 5/21 volunteer search and results display Mike Complete
3 5/15 - 5/21 org profile display Mike Complete
login and role check per page requiring
3 5/15 - 5/21 login Chris H Complete
3 5/15 - 5/21 Project documentation Patrick Complete
3 5/15 - 5/21 Complete all data methods Mike Complete
Volunteer Skill Share 25

4 5/22 - 5/28 - Search/response page for Org projects Mike Complete


Chris B - move
4 5/22 - 5/28 Volunteer Display Page to Mike Complete
4 5/22 - 5/28 Volunteer Create/Edit Form Page Chris H, Chris B Complete
4 5/22 - 5/28 Org Profile Display Page Mike Complete
Home page content, Navigation Bar
4 5/22 - 5/28 Styling Patrick Complete
Volunteer Create/Edit Form Page -
5 5/29 - 6/4 "new" Chris H, Chris B Complete
5 5/29 - 6/4 Volunteer Display - fix code overwrite Chris B, Chris H Complete
Styling for Org display, Vol Display,
5 5/29 - 6/4 Home, etc. Patrick Complete
Org Profile Edit, Org Project Edit, Org
5 5/29 - 6/4 Project Skills Edit Mike Complete
Form validation, error display, req'd
5 5/29 - 6/4 field display Chris H, Chris B Complete
6 6/5 - 6/11 - Site test plan / testing Mike Complete
6 6/5 - 6/11 - Additional content scripting Chris H, Mike Complete
6 6/5 - 6/11 - Partner review Mike Complete
6 6/5 - 6/11 - Site and content validation Mike, Patrick Complete

7 6/12 - 6/18 - Demo prep All, HoBA Complete


Patrick, Mike,
7 6/12 - 6/18 Final Prep and Demo Chris H Complete
8 6/19 - 6/22 Demo prep All

Usability Testing/Evaluation

This section describes the audience, test process, and final results of testing by our client

partner, Hands On Bay Area (HOBA). The team started with an overview and light training on

the functions of the site, then ran through a scripted test process, logging all results and
Volunteer Skill Share 26

comments, then let the client partner do open testing using all functions of the site. This resulted

in great feedback on the functionality and information on how best to help our target audiences.

Target Audience:

The Volunteer Skill Share site services any Volunteer looking to find nonprofit

organizations and projects that utilize their skills and experience and the Organizations looking

to find skilled volunteers to work on their project. These groups can range in age and

geographical location and are only brought together by purpose. The site does currently focus on

volunteers with more technically focused skills, but this was primarily for our testing and can be

adjusted to fit the Organization’s project needs.

Tester:

Our tester is our primary project sponsor, ​Liz Upchurch​, Director of Programs (and

primary volunteer coordinator) for Hands On Bay Area. She and I spent time talking about the

site as a potential candidate for the CST361S Service Learning class, so she had background on

the concept and lots of great input on how the site could work for nonprofits like hers.

Testing Process:

I led our project sponsor, ​Liz Upchurch - Director of Programs for HOBA​, through the

multiple functions of the site. She was able to give feedback on her experience of working with

the site in the individual functions and overall. The tests went through all of the functionality on

both the Volunteer and Nonprofit Organization flows.

Our focus was on ensuring the functionality worked properly, was easy enough to use

that a normal person experienced in web browsing would be able to go through the site without

direction, and that the functionality would fit the needs of the Volunteer and Nonprofit
Volunteer Skill Share 27

Organization groups we were attempting to serve. Since Liz has extensive experience working

with volunteer groups, sourcing volunteers for nonprofit organizations, and running nonprofits,

we felt she would be a good tester for all of our site functionality.

Test Flow:

● Mike demo the basic site functions then let Liz drive with following process:
● Enrollment for Organization
○ Anonymous user accessing “New Users” signup from home page > Login nav
○ Select “Organization” enrollment path
● Organization Profile Create
○ Validate required elements and field validations
● Organization Project Create
○ Validate required elements, field validations, skills selections
● Logout
● Login using new Org credentials
○ Validate new user can log in and be redirected to their Org profile.
● Organization Profile Edit
○ Edit the profile created in earlier steps and validate required elements and save
functionality.
● Organization Project Edit
○ Edit a project created in earlier steps. Validate field requirements and save
functionality.
○ Create an additional project and validate displays.
● Organization Volunteer Search and results display
○ Test the volunteer search forms and results displays. Uses test volunteers.
○ Select any of the volunteers and validate the detail display and contact
information meets the project goals.
● Organization Project Search and Org display
○ As a logged in org user, search for other orgs and org projects.
○ Validate the results and detail displays meet the project goals.
● Logout
● Enrollment for Volunteer
○ Anonymous user accessing “New Users” signup from home page > Login nav
○ Select “Volunteer” enrollment path
● Login - using new volunteer account
○ Validate new credentials allow successful login and redirect to Volunteer Profile
(“My Profile”) page.
● Profile Creation and Edit - using new volunteer account
○ Validate the required elements and other form validations - bio, work history,
skills.
○ Test save functionality and view results.
● Logout / Login - using new volunteer account
Volunteer Skill Share 28

○ Logout and log back in using the same credentials to validate the login process
and association with the newly created volunteer bio and work history.
● Volunteer Profile / Skills Edit
○ Ensure logged in volunteer can edit their prior profile and skills information
● View Volunteer Profile
○ Show the volunteer profile display.
○ Validate display elements and contact info meets project goals.
● Organization Search
○ Validate the volunteer has access to the org and org profile search pages.
○ Validate results and ability to view and navigate through detail pages.
● Logout

Customer Feedback:

Much of the client feedback was about additional functionality that would guide the user

more and reduce potential errors on data entries. We followed the test process multiple times

successfully and Liz was able to create multiple Organizations, login user accounts, Volunteer

accounts, and see her Orgs and Volunteers in search results, which she was quite impressed with.

The learning curve for working with the site was extremely low and she was able to

quickly navigate through the pages and use the various functions of the site.

Additional major feedback elements was to change the Org Search elements so that

volunteers could search based on high level “causes” or cause categories that are easily

recognizable. Volunteers would not know the names of the organizations that may service these

causes and want to quickly find and look at projects aligned to these top level interests.

NOTE: Great comment and with additional time we would update to support this.

The same concept of using high-level keywords would be helpful to associate with

volunteers. Skills list is good but limiting and having a more open keyword search that could

retrieve volunteers that have interests in things like “analytics” or other items not aligned to a
Volunteer Skill Share 29

single skill would be helpful. Many times the organizations don’t know what skills are

associated with a concept and need to work with someone to even identify specific skills needed.

Org Edit pages:

● recommend having word limits for the skills descriptions


○ nonprofits can get wordy and they often don't know what they are asking for
● validations for city/state combinations would be helpful to protect against invalid entries
or typos
● keywords would have been helpful in the project search
○ search across a number of fields looking for something like "analytics"
● give ability to clone a prior project created potentially by another org to speed creation of
a new project
○ pro-bono project descriptions internally tend to start from some standardized
templates
● need better information on which elements are required on the forms
● Contact Name not displaying correctly on the OrgProfile display (ML - fixed)
● creating a project
○ really helpful to have the org flag which projects can be worked remotely and
make that very obvious to the volunteer
● helpful to show which elements on the org profile and org project are visible to the
volunteers who are doing org searches
○ "This is what a search would display..."
● Orgs should also list whether or not the volunteer needs to go through a background
check to work with them
○ some organizations require this if they are working in sensitive areas or with
vulnerable populations (children, elderly, disabilities, addiction and recovery)

Enrollment Process pages:


● creation of new login should generate an email to the user

Volunteer Search (logged in as org):


● volunteer search
○ dropdown for the skills is ok but is limiting
○ keyword would also be helpful
○ multiple skills in the same search would also be helpful
● Org needs to be able to see how much time the volunteer is willing to provide
○ prompt volunteer to provide that info in their bio and make it easily visible

Volunteer Enrollment:
● language and speaking/writing ability should be added for the volunteers
○ many orgs need translation services and community source this
● something good for volunteer entry and display on search results
Volunteer Skill Share 30

○ have the volunteer list whether or not their normal corp job will donate along with
their volunteer time. This can add up to significant benefits for the orgs

Org Search:
● Project search by date is not intuitive
○ heading says start and end but would be better to do as date ranges like in travel
sites where they are directly associated
● likes the ability to search for orgs or project separately
● many people will search for high level terms but don't know organization names - cause
level
○ Environmental / als / immigration / women's empowerment / etc.

Overall Site Response:

● Sets apart from other volunteer sites


○ focused on making connections between volunteers and nonprofits
○ easy to navigate
○ looks pleasant
○ others are too bogged down with information or distracting content
○ navigation options seem well laid out and easy to understand
● Main Search Terms for volunteers to use - focus on making this easier to use
○ city
○ neighborhood
○ impact area/cause/focus

Final Implementation

The delivery of the site follows two separate user flows - Volunteer and Organization.

This project description will follow those flows and add separate sections for the common

elements - Home page, Login management, Navigation Header, and Footer.

Common Elements:

To break up the pages and allow the development of the pages to focus on just the

specific functionality of that page, we broke out all common elements of the pages to separate

components. These would be included in the pages and would use dynamic elements such as the
Volunteer Skill Share 31

page name or current logged in user credentials to build the appropriate output. See below for a

definition of the external elements included on all pages.

● BLACK​ outlined area is the Header and contains multiple elements

● BLUE​ outlined area within the Header is the Navigation - contains the security checks

and login credential validations. Navigation elements are dynamically generated based

on the current displayed page, the presence of a valid login, and the user type

● RED​ outlined area within the Header is the Banner, which reads the login credentials for

the name and displays the large banner image

● YELLOW​ outlined area is the Footer - displays copyright statement and CSUMB image

All backend and data connection functionality is implemented in Php included files to

consolidate logic and allow for easy reuse of functions. Database queries are implemented as

stored procedures for better parameter validation and security. An example of a basic data

retrieval method is shown below. All functions follow the same format to allow for easy

maintenance.
Volunteer Skill Share 32

Organization Flow:

When a user account is an Organization type and completes a login the resulting

Navigation is the following.

The pages are linked in the following navigation map. Arrows indicate the action taken.
Volunteer Skill Share 33

Profile Display:

The default display for the user is the Profile Display page, shown below. This page is

central to all of the organization functionality and contains multiple functions implemented with

collapsible accordion boxes allowing the user to minimize the page length and focus on specific

elements. The top accordion box is Organization Profile display containing a project contact,

description and mission statement, and general contact info. The middle accordion is for the list

of Users associated and a form allowing creation of additional users, each of which is able to

login to the VSS application and maintain the information for this Org. The bottom accordion

shows the list of projects created for the Org and provides links for editing and deleting a project,

plus the ability to add a new project.

This same page is used to display the Organization details from the Org Search results

though without the admin functions or ability to see or manage the Users.
Volunteer Skill Share 34

Profile Edit:

Edit forms in the VSS application follow a familiar pattern. HTML5 input controls,

including email, phone, url, and other detail data types, are used to allow for easy format and

required field validation functionality. Additional validation is provided on form submit using

Javascript.
Volunteer Skill Share 35

Volunteer Search:

The logged in Organization user also has access to the Volunteer Search functionality.

This function allows the Org to search the db for volunteers based on a list of potential factors

such as location, skills, skill level, etc. All elements in the search options are optional and allow

for partial entries. Results are displayed in a table form allowing the user to select from the list

to see the Volunteer Profile including work history, interests, a skill details.
Volunteer Skill Share 36

Volunteer Flow:

The Volunteer has a separate flow centered on the Volunteer Profile page. It has many

elements that are shared with the Organization flow, such as the Volunteer Profile (viewed by

Orgs using Volunteer Search), the Org Profile (used to view Org search results), Org Project

Details (used to view Org Project search results), and login/logout functionality. The logged in

user sees the Navigation bar as shown below.

The pages are linked in the following navigation map. The flow is much more simple since the

Volunteer only provides a profile as content and uses the Org Search to find volunteer

opportunities. Arrows indicate the action taken.


Volunteer Skill Share 37

My Profile:
Volunteer Skill Share 38

The My Profile page is the center of the Volunteer navigation. It displays the contact

information, interests, work history, and skills information provided by the volunteer in

collapsible accordion boxes. Contact information is displayed on the top and work history and

skills are displayed below. This same page is used for the Volunteer detail display in the

Organization flow but without the ability to edit the information. A volunteer can also never see

the profile information of another volunteer.

Organization and Organization Project Search:


Volunteer Skill Share 39

A single page supports searches for Organizations and Project records. The two separate

search forms are available housed in collapsible accordion boxes. Because the searches are

looking at different data and supporting different input form values, they are kept separate and

results are displayed in separate tables. Each result record has a link to view the detail for that

Org (org or project searches) or Project (project search).

Discussion

The design of Volunteer Skills Shares was composed of a MySQL database, a PHP

backend to connect the database to the program, and a HTML/Javascript front-end user interface.

We felt this design would be the easiest to implement in the given time schedule.

The login page is the first page the user sees when they want to use the service. The user

would log in using their credential, then the system would determine if they are a volunteer or
Volunteer Skill Share 40

organization, and redirect the user to the appropriate web page. We debated how to determine if

a user was a Volunteer or an Organization. We decided to split the user login from the detail

data and assign a role, then give the volunteers a unique VolunteerID and organizations a unique

OrgID. Viewing the role and unique ID associated with the user allows the site to quickly

determine which path and navigation the logged in user should receive.

The user would be redirected to the display and edit pages after they log in. As work on

the project progressed, these pages also changed. The “display” page was changed from a form

to a table that displayed the user’s information to make page reuse for search response easier,

with a separate “edit” page that included a form that could be used to edit data and update the

database. Furthermore, the processing of the edit form was moved from a separate file to the

same file as the form to facilitate form validation.

The search function of the project allowed volunteers to search for organizations and for

organizations to search for volunteers based on certain criteria in the search form. Once the table

design of the display pages was finished, this design was modified to work as the search result

page.

Once the design of the pages was finished, the design was tested using test data in the

database. This testing was done to ensure functionality of the program and to find a CSS style

that would be appealing but not interfere with the existing display on the page.

Roll out of the project involved sending the project to Hands Over Bay Area, a local

nonprofit organization, and sitting with our project sponsor. Scripted and unstructured testing

was done with the project sponsor to gather feedback on all site functionality and fit with our

audience. Feedback from the organization included that the program had a easy-to-use user
Volunteer Skill Share 41

interface and that the learning curve of the program was very low. The partner organization gave

us insight into expanding the program to better fit what a volunteer or organization might look

for.

Conclusion

Team Betawares discovered in the course of working with a non-profit for the Service

Learning Project that there was a need for non-profit organizations to have qualified volunteers

with certain skills to assist them in their day to day operations. Team Betawares took this

demand, and was able to build a web-based application, called Volunteer Skill Share, to allow

volunteers to find organizations that are in need of their skills. Volunteer Skill Share is a site that

consists of a mix between a job board and a matchmaking service that allows potential

volunteers to find non-profit organization that they can assist with their given set of skills.

The team members of Team Betawares all brought different skill strengths to the project,

and these strengths were how the workload was divided up over the course of the project. Team

Betawares produced Volunteer Skill Share, which is a PHP web application that is backended by

a MySQL Database and uses Bootstrap for styling. Security of the data entered was taken into

consideration at all steps along the development process, as well as, ensuring unauthorized

access to data was prohibited. The final delivered application provides a secure site that both

volunteers and organizations can feel confident in entering their data on.

For most of the members of Team Betawares, developing this application was the first

time working on a professional development capacity. The team members required learning and
Volunteer Skill Share 42

becoming proficient in many professional development standards. Some of the areas the team

members learned a lot in was how to communicate effectively with each other to make sure that

each weeks tasks were getting completed according to design and specifications, how to work

with a group on a common code repository to make sure all elements are being coded and

nothing is getting overwritten, as well as reinforcing knowledge learned in the course of our

degree program to make sure we provided a modern functioning app.

The team members of Team Betawares all enjoyed working on the Volunteer Skill Share

application. It provided a taste of what it will be like to work on a software project in a

professional capacity, as well as allowed the team members to show of their skills that they

learned in the course of the degree program. Volunteering is something that each of the members

of Team Betawares feel passionate about, and hope that this project helps close the gap between

volunteers and non-profit organizations.


Volunteer Skill Share 43

References

Angel, Melanie (2017, September 9). Email Compliance in 2017: The State of CAN-SPAM.

Retrieved April 15, 2019, from

https://www.unsubcentral.com/2017/09/19/email-compliance-2017/

Federal Trade Commission - FTC Online (2017, January). Privacy & Data Security Update

(2016). Retrieved April 13, 2019, from

https://www.ftc.gov/reports/privacy-data-security-update-2016

Federal Trade Commission - FTC Online (2009, September). CAN-SPAM Act: A Guideline For

Business. Retrieved April 15, 2019 from

https://www.ftc.gov/tips-advice/business-center/guidance/can-spam-act-compliance-guid

e-business

GDPR Online (n.d.). GDPR Key Changes. Retrieved April 15, 2019 from

https://eugdpr.org/the-regulation/

Horsley, G. (2018, October 31). Gen Z: What You Need To Know About The Newest

Generation Of Donors And Volunteers. Retrieved April 7, 2019, from

https://www.forbes.com/sites/forbesnonprofitcouncil/2018/11/09/gen-z-what-you-need-to

-know-about-the-newest-generation-of-donors-and-volunteers/#655960342fd6

Patterson, T. (2018, July 20). Stats reveal how many Americans volunteer. Retrieved April 9,

2019, from https://www.cnn.com/2018/07/19/us/volunteering-statistics-cfc/index.html

Thoren-Peden, Deborah, and Catherine Meyer (2018, December 20). USA: Data Protection

2018. Retrieved April 15, 2019, from

https://iclg.com/practice-areas/data-protection-laws-and-regulations/usa

You might also like