HomeMy WebLinkAbout20-9 Resolution No. 20-9
RESOLUTION
AUTHORIZING EXECUTION OF A DEVELOPMENT AGREEMENT WITH
SEVEN HILLS TECHNOLOGY, LLC FOR PROFESSIONAL SERVICES
IN CONNECTION WITH WEB APPLICATION DEVELOPMENT
BE IT RESOLVED BY THE CITY COUNCIL OF THE CITY OF ELGIN, ILLINOIS,
that Richard G. Kozal, City Manager, and Kimberly A. Dewis, City Clerk, be and are hereby
authorized and directed to execute a Website Development Agreement on behalf of the City of
Elgin with Seven Hills Technology, LLC, for professional services in connection with web
application development, a copy of which is attached hereto and made a part hereof by reference.
s/David J. Kaptain
David J. Kaptain, Mayor
Presented: January 22, 2020
Adopted: January 22, 2020
Omnibus Vote: Yeas: 9 Nays: 0
Attest:
s/Kimberly Dewis
Kimberly Dewis, City Clerk
WEBSITE DEVELOPMENT AGREEMENT
THIS AGREEMENT is made and entered into this 22nd day of January,2020,by and between the
CITY OF ELGIN, an Illinois municipal corporation (hereinafter referred to as "CITY") and
SEVEN HILLS TECHNOLOGY, LLC, an Ohio limited liability company(hereinafter referred to
as "CONSULTANT").
WHEREAS, the CITY desires to engage the CONSULTANT to furnish certain professional
services in connection with Web Application Development (hereinafter referred to as the
PROJECT); and
WHEREAS, the CONSULTANT represents that it is in compliance with Illinois Statutes relating
to professional registration of individuals and has the necessary expertise and experience to furnish
such services upon the terms and conditions set forth herein below.
NOW, THEREFORE, it is hereby agreed by and between the CITY and the CONSULTANT that
the CITY does hereby retain the CONSULTANT for and in consideration of the mutual promises
and covenants contained herein, the sufficiency of which is hereby acknowledged to act for and
represent it in the matters described herein, subject to the following terms and conditions and
stipulations, to-wit:
1. SCOPE OF SERVICES
A. All work hereunder shall be performed under the direction of the Chief Technology Officer
of the CITY, herein after referred to as the "DIRECTOR"
B. Outline of the services to be provided by the CONSULTANT will, at a minimum, include
the following major activities and process flows. CONSULTANT shall provide the
services to the CITY for the PROJECT as outlined herein and as detailed in the Proposed
Solution Overview, attached hereto and made a part hereof as Attachment A.
1. Apply For:
i. Business License
ii. Grants
iii. Jobs
iv. Liquor License
v. Building Permit
vi. Rental License
vii. Real Estate Transfer Stamp
viii. Serve on a Board or Commission
ix. Youth Scholarship Fund
2. Find:
i. Agendas & Minutes
ii. Bid& RFP Postings
iii. City Maps
iv. Census Information
v. Community Resources
vi. Comprehensive Plan
vii. Elgin Parks and Bike Paths
viii. Engineering Resource Center
ix. Elgin Events
x. Garbage
Collection Schedules
xi. Human Services
Resources
xii. Jobs
xiii.
Munici
pal
Code
xiv.
Open
Permits
xv.
Video
Center
xvi. Visitors Guide
xvii. Voter Information
xviii. Search optimization to search cityofelgin.org web site on Civicplus
3. Pay For:
i. Business License Renewal
ii. City issued citations and tickets
iii. Miscellaneous Government Services Invoice
iv. Utility bill
4. Report:
i. Code Violation
ii. Crime
iii. Graffiti
iv. General concern or complaint
v. Compliment
5. Register For:
i. Automated External Defibrillator(AED)
ii. Burglar and Security Alarms
iii. Bicycles
iv. CPR Classes
v. Golf Tee Time
vi. Landlord Training Program
vii. Parks & Recreation Programs
viii. Personal Property, Valuables Serial Numbers
ix. Police Community Programs
x. Security Camera
xi. Volunteer Opportunities
xii. To Vote
6. Rent:
i. Elgin Art Showcase
ii. Recreational Facilities
iii. Meeting Space
iv. Park Shelter
v. Hemmens Cultural Center
7. Other:
i. Freedom of Information Act (FOIA) submission
ii. Joint Underground Locating Information for Excavators (JULIE)
iii. Feed back
iv. Blogs
8. Sign Up For:
i. Utility Bill Auto Pay
ii. E-billing
iii. Volunteer Opportunities
iv. Bid Notices
v. ComEd Outage Alerts
vi. Job Announcements
vii. RAVE Public Safety Alerts
9. Mapping
C. A detailed Scope of Services is attached hereto as Attachment A.
2. PROGRESS REPORTS
A. A detailed project schedule for the Project is included as Attachment B, attached hereto
and made a part hereof. Progress will be recorded on the project schedule and submitted
monthly as a component of the Status Report described in B below.
B. The CONSULTANT will submit to the DIRECTOR monthly a status report keyed to the
project schedule. A brief narrative will be provided identifying progress, findings and
outstanding issues.
3. WORK PRODUCTS
All work products prepared by the CONSULTANT pursuant hereto including, but not
limited to, reports,designs, calculations, work drawings, studies,photographs,models and
recommendations shall be the property of the CITY and shall be delivered to the CITY
upon request of the DIRECTOR provided, however, that the CONSULTANT may retain
copies of such work products for its records. Such work products are not intended or
represented to be suitable for reuse by the CITY on any extension to the PROJECT or on
any other project, and such reuse shall be at the sole risk of the CITY without liability or
legal exposure to the CONSULTANT.
4. PAYMENTS TO THE CONSULTANT (Lump Sum Method)
A. The CITY shall make periodic payments to the CONSULTANT based upon actual progress
within 30 days after receipt and approval of invoice. Said periodic payments to the
CONSULTANT shall not exceed the amounts provided hereby in Attachment C, attached
hereto and made a part hereof, and full payments for each task shall not be made until the task
is completed and accepted by the CITY.
B. CONSULTANT shall conform to the provisions and requirements of the Level of Effort and
Associated Cost which are attached hereto and made a part hereof as Attachment C.
5. INVOICES
A. The CONSULTANT shall submit invoices in a format approved by the CITY. Progress
reports(2A above)will be included with all payment requests. Total implementation cost
to the City shall not exceed $218,000. Total monthly Azure or other hosting service cost
to the City shall not exceed$1,600 per month.
B. The CONSULTANT shall maintain records showing actual time devoted and cost incurred.
The CONSULTANT shall permit the authorized representative of the CITY to inspect and
audit all data and records of the CONSULTANT for work done under this Agreement. The
CONSULTANT shall make these records available at reasonable times during the
Agreement period, and for a year after termination of this Agreement.
6. TERMINATION OF AGREEMENT
Notwithstanding any other provision hereof,the City may terminate this Agreement at any
time for convenience or any other reason upon thirty (30) days prior written notice to
CONSULTANT without penalty. In the event this Agreement is so terminated
CONSULTANT shall be paid for goods provided and/or services actually provided or
performed, on an ad valorum basis prior to such termination, except that such payment
and/or reimbursement shall not in any event exceed the total amount set forth for the total
contemplated payment provided for herein. Additionally, in the event this Agreement is so
terminated, CONSULTANT shall immediately cease the expenditure of any funds paid to
CONSULTANT by the City and shall refund to the City any unearned or unexpended
funds.
7. NOTICE OF CLAIM
If the CONSULTANT wishes to make a claim for additional compensation as a result of
action taken by the CITY,the CONSULTANT shall give written notice of his claim within
15 days after occurrence of such action. No claim for additional compensation shall be
valid unless so made. Any changes in the CONSULTANT's fee shall be valid only to the
extent that such changes are included in writing signed by the CITY MANAGER and the
CONSULTANT. Regardless of the decision of the DIRECTOR relative to a claim
submitted by the CONSULTANT, all work required under this Agreement as determined
by the DIRECTOR shall proceed without interruption.
8. BREACH OF CONTRACT
If either party violates or breaches any term of this Agreement, such violation or breach
shall be deemed to constitute a default, and the other party has the right to seek such
administrative, contractual or legal remedies as may be suitable to the violation or breach;
and, in addition, if either party,by reason of any default, fails within fifteen (15)days after
notice thereof by the other party to comply with the conditions of the Agreement,the other
party may terminate this Agreement. In the event this agreement is terminated pursuant to
a breach or alleged breach by CITY, CONSULTANT damages shall be limited to a pro
rata ad valorem fee. CONSULTANT shall not be entitled to any additional damages of
whatsoever nature, including but not limited to consequential, indirect or other fees or
damages.
9. INDEMNIFICATION
To the fullest extent permitted by law, CONSULTANT agrees to and shall indemnify,
defend and hold harmless the CITY, its officers, employees, agents, boards and
commissions from and against any and all claims, suits,judgments, costs, attorney's fees,
damages or other relief, including but not limited to worker's compensation claims and any
and all claims made by or against the city based on additional material costs or any other
costs incurred as a result of damage to property or increased cost resulting from an
inaccurate bid by CONSULTANT without regard to any consideration of the CITY'S
receipt of"increased value" or "benefit of bargain" in any way resulting from or arising
out of negligent actions or omissions of the CONSULTANT in connection herewith,
including negligence or omissions of employees or agents of the CONSULTANT arising
out of the performance of this Agreement. In the event of any action against the CITY, its
officers, employees, agents, boards or commissions, covered by the foregoing duty to
indemnify,defend and hold harmless such action shall be defended by legal counsel of the
CITY's choosing. The provisions of this paragraph shall survive any expiration,
completion and/or termination of this Agreement.
10. NO PERSONAL LIABILITY
No official, director, officer, agent or employee of the CITY shall be charged personally
or held contractually liable under any term or provision of this Agreement or because of
their execution, approval or attempted execution of this Agreement.
11. INSURANCE
A. Comprehensive Liability. The CONSULTANT shall provide, pay for and maintain in
effect, during the term of this Agreement, a policy of comprehensive general liability
insurance with limits of at least $1,000,000 aggregate for bodily injury and $1,000,000
aggregate for property damage.
The CONSULTANT shall deliver to the DIRECTOR a Certification of Insurance naming
the CITY as additional insured. The policy shall not be modified or terminated without
thirty(30)days prior written notice to the DIRECTOR.
The Certificate of Insurance which shall include Contractual obligation assumed by the
CONSULTANT under Article 10 entitled "Indemnification" shall be provided.
This insurance shall apply as primary insurance with respect to any other insurance or self-
insurance programs afforded to the CITY. There shall be no endorsement or modification
of this insurance to make it excess over other available insurance, alternatively, if the
insurance states that it is excess or prorated, it shall be endorsed to be primary with respect
to the CITY.
B. Combined Single Limit Policy. The requirements for insurance coverage for the general
liability and auto exposures may be met with a combined single limit of$1,000,000 per
occurrence subject to a $1,000,000 aggregate.
C. Professional Liability. The CONSULTANT shall carry Professional Liability Insurance.
Covering claims resulting from error, omissions or negligent acts with a combined single
limit of not less than $1,000,000 per occurrence. A Certificate of Insurance shall be
submitted to the DIRECTOR as evidence of insurance protection. The policy shall not be
modified or terminated without thirty(30) days prior written notice to the DIRECTOR.
12. CONSTRUCTION MEANS, METHODS,TECHNIQUES, SEQUENCES,
PROCEDURES AND SAFETY
The CONSULTANT shall not have control over or charge of and shall not be responsible
for construction means, methods, techniques, sequences or procedures, or for safety
precautions and programs in connection with the construction,unless specifically identified
in the Scope of Services.
13. NONDISCRIMINATION
In all hiring or employment made possible or resulting from this Agreement, there shall
be no discrimination against any employee or applicant for employment because of sex,
age,race,color,creed,national origin,marital status,of the presence of any sensory,mental
or physical handicap, unless based upon a bona fide occupational qualification, and this
requirement shall apply to, but not be limited to, the following: employment advertising,
layoff or termination,rates of pay or other forms of compensation and selection for training,
including apprenticeship.
No person shall be denied or subjected to discrimination in receipt of the benefit of any
services or activities made possible by or resulting from this Agreement on the grounds of
sex,race, color,creed,national origin, age except minimum age and retirement provisions,
marital status or the presence of any sensory, mental or physical handicap. Any violation
of this provision shall be considered a violation of a material provision of this Agreement
and shall be grounds for cancellation, termination or suspension, in whole or in part, of the
Agreement by the CITY.
14. ASSIGNMENT AND SUCCESSORS
This Agreement and each and every portion thereof shall be binding upon the successors
and the assigns of the parties hereto; provided, however, that no assignment shall be made
without the prior written consent of the CITY.
15. DELEGATIONS AND SUBCONTRACTORS
Any assignment, delegation or subcontracting shall be subject to all the terms, conditions
and other provisions of this Agreement and the CONSULTANT shall remain liable to the
CITY with respect to each and every item,condition and other provision hereof to the same
extent that the CONSULTANT would have been obligated if it had done the work itself
and no assignment,delegation or subcontract had been made. Any proposed subcontractor
shall require the CITY's advanced written approval.
16. INDEPENDENT CONTRACTOR
This Agreement shall not be construed so as to create a partnership, joint venture,
employment or other agency relationship between the parties hereto.
17. SEVERABILITY
The parties intend and agree that, if any paragraph, sub-paragraph, phrase, clause or other
provision of this Agreement, or any portion thereof, shall be held to be void or otherwise
unenforceable, all other portions of this Agreement shall remain in full force and effect.
18. HEADINGS
The headings of the several paragraphs of this Agreement are inserted only as a matter of
convenience and for reference and in no way are they intended to define, limit or describe
the scope of intent of any provision of this Agreement, nor shall they be construed to affect
in any manner the terms and provisions hereof or the interpretation or construction thereof.
19. MODIFICATION OR AMENDMENT
This Agreement and its attachments constitutes the entire Agreement of the parties on the
subject matter hereof and may not be changed,modified,discharged or extended except by
written amendment duly executed by the parties. Each party agrees that no representations
or warranties shall be binding upon the other party unless expressed in writing herein or in
a duly executed amendment hereof, or change order as herein provided.
20. APPLICABLE LAW
This Agreement shall be deemed to have been made in, and shall be construed in
accordance with the laws of the State of Illinois. Venue for the resolution of any disputes
or the enforcement of any rights pursuant to this Agreement shall be in the Circuit Court of
Kane County, Illinois, without jury; and agrees that service by first class U.S. mail to Brad
Gardner,4050 Executive Park Dr, STE 330, Cincinnati, OH 45241 shall constitute
effective service.
21. NEWS RELEASES
The CONSULTANT may not issue any news releases without prior approval from the
CITY, nor will the CONSULTANT make public proposals developed under this
Agreement without prior written approval from the CITY prior to said documentation
becoming matters of public record.
22. COOPERATION WITH OTHER CONSULTANTS
The CONSULTANT shall cooperate with any other consultants in the CITY's employ or
any work associated with the PROJECT.
23. INTERFERENCE WITH PUBLIC CONTRACTING
The CONSULTANT certifies hereby that it is not barred from bidding on this contract as
a result of a violation of 720 ILCS 5/33E et seq. or any similar state or federal statute
regarding bid rigging.
24. SEXUAL HARASSMENT
As a condition of this contract, the CONSULTANT shall have written sexual harassment
policies that include, at a minimum, the following information:
A. the illegality of sexual harassment;
B. the definition of sexual harassment under state law;
C. a description of sexual harassment,utilizing examples;
D. the vendor's internal complaint process including penalties;
E. the legal recourse, investigative and complaint process available through the Illinois
Department of Human Rights, and the Illinois Human Rights Commission;
F. directions on how to contact the department and commission;
G. protection against retaliation as provided by Section 6-101 of the Human Rights Act.
A copy of the policies shall be provided by CONSULTANT to the Department of Human
Rights upon request 775 ILCS 5/2-105.
25. WRITTEN COMMUNICATIONS
All recommendations and other communications by the CONSULTANT to the
DIRECTOR and to other participants which may affect cost or time of completion shall be
made or confirmed in writing. The DIRECTOR may also require other recommendations
and communications by the CONSULTANT be made or confirmed in writing.
26. NOTICES
All notices, reports and documents required under this Agreement shall be in writing and
shall be mailed by First Class Mail, postage prepaid, addressed as follows:
A. As to CITY:
Jeff Massey
Chief Technology Officer
City of Elgin
150 Dexter Court
Elgin, Illinois 60120-5555
B. As to CONSULTANT:
Brian Adams
Seven Hills Technology
4700 Ashwood Dr
Blue Ash, OH 45241
27. COMPLIANCE WITH LAWS
Notwithstanding any other provision of this Agreement, it is expressly agreed and
understood that in connection with the performance of this Agreement, CONSULTANT
shall comply with all applicable Federal, State, City and other requirements of law,
including, but not limited to, any applicable requirements regarding prevailing wages,
minimum wage, workplace safety and legal status of employees. Without limiting the
foregoing, CONSULTANT hereby certifies, represents and warrants to the City that all of
CONSULTANT's employees and/or agents who will be providing products and/or services
with respect to this Agreement shall be legally authorized to work in the United States
CONSULTANT shall also, at its expense, secure all permits and licenses, pay all charges
and fees, and give all notices necessary and incident to the due and lawful prosecution of
the work, and/or the products and/or services to be provided for in this Agreement. The
City shall have the right to audit any records in the possession or control of CONSULTANT
to determine CONSULTANT's compliance with the provisions of this section. In the event
the City proceeds with such an audit, CONSULTANT shall make available to the City
CONSULTANT's relevant records at no cost to the City. CONSULTANT shall pay any
and all costs associated with any such audit up to the amount of$900.
The entity submitting this bid or proposal hereby warrants and represents that to the extent
it may be applicable, it is registered with the Illinois Secretary of State's Office or has been
incorporated in the State of Illinois; and such entity further hereby warrants and represents
that it is in good standing in the state of its incorporation or organization.
Without limiting the foregoing, CONTRACTOR hereby certifies, represents and warrants
to the CITY that all CONTRACTORS employees and/or agents located in the United
States, who will be providing products and/or services with respect to this CONTRACT,
shall be legal residents of the United States.
28. EXECUTION
This agreement may be executed in counterparts, each of which shall be an original and all
of which shall constitute one and the same agreement. For the purposes of executing this
agreement, any signed copy of this agreement transmitted by fax machine or e-mail shall
be treated in all manners and respects as an original document. The signature of any party
on a copy of this agreement transmitted by fax machine or e-mail shall be considered for
these purposes as an original signature and shall have the same legal effect as an original
signature. Any such faxed or e-mailed copy of this agreement shall be considered to have
the same binding legal effect as an original document. At the request of either party any
fax or e-mail copy of this agreement shall be re-executed by the parties in an original form.
No party to this agreement shall raise the use of fax machine or e-mail as a defense to this
agreement and shall forever waive such defense.
The person signing THIS CONTRACT certifies that s/he has been authorized by the
CONTRACTOR to commit the CONTRACTOR contractual and has been authorized to execute
THIS CONTRACT on its behalf.
IN WITNESS WHEREOF, the parties hereto have entered into and executed this agreement
effective as of the date and year first written above.
FOR THE CONSULTANT FOR THE
By: 7"/>--- L - By: •/
City Manager
Attest: zeal eliza6
City Clerk
F:U.egal Dept\Agreement\Seven Hills Agreement-Clean-l-3-20.docx
ATTACHMENT A
Proposed Solution
Overview
II �I System Architecture
-a r Prepared For 1
ri
LGIN
Portal Applications Prepared By
Se
Aven
HTTPS
TLS 1.2/1.3
Pubic Internet
HTTPS HTTPS
TLS 1.2/1.3 TLS 1.2/1.3
Elastic Cloud - . •ft Azure
Elasticsearch
iliallimaYs41 4
APM PbAel web App Aw
I
CIIntegration Sync
R=P 19-040 Web Application Development-Technical Proposal
=','c;:- 1 S.
The solution is divided into a number of parts, each playing a part to achieve a fault-tolerant
and performant experience for users across all devices.
Microsoft Azure
The application will be hosted in a cloud environment. Our preference is hosting in Azure,
however we're able and willing to work in other environments such as Amazon AWS, Google
Cloud, or Digital Ocean.
Azure Web Application Gateways
Azure Web Application Gateways will be used as the public-facing endpoints for everything in
Microsoft Azure. They will provide the following in this solution:
Web Application Firewall
Web Application Gateways have built-in features for protection against common web
application vulnerabilities including Cross-Site Scripting.
Layer 7 Routing
Because we will have multiple URLs pointing to multiple applications in Microsoft Azure, the
layer 7 routing features allow us to use host header-based routing to efficiently route traffic to
the correct back end components.
TLS Certificate Management
TLS Certificates can be managed at the gateway, centralizing the management of certificates,
and certificate upgrade scenarios. This will allow us to be responsive to new requirements or to
regularly update certificates.
API App Service
One Azure App Service will be utilized to hold the back end API that the on-site devices, as well
as the web user interface, will communicate with. This API will be written in the latest version of
RFP 19-040 Web Application Development-Technical Proposal
Node.js. The app service will be configured to auto-scale based on load thresholds to avoid
downtime as traffic and utilization increases with the deployment of new stations and clients.
Using an App Service gives us the ability to deploy multiple instances for high availability, and
deploy additional deployment slots to handle separate environments for QA/Staging and
Production.
Integration App Service
The other Azure App Service will run the integration sync program, which will store information
in Elasticsearch to allow for cross-site searching. This application will be monitored and run on a
loop to ensure data is up to date between all systems.
The integration app service will be written using Node.js
Azure Storage with Static Hosting
Azure's BLOB storage allows us to store static content that will encompass the user interface
that all administrative users and public users will see and interact with. Azure storage is
redundant and fault-tolerant by default and will be configured for geographic redundancy for
the best fault tolerance and durability available.
The web portal application will be written using modern Javascript tooling and React.js.
Elastic Cloud
Elastic Cloud is our solution for reporting, diagnostic review, alerting, and proactive monitoring.
We must utilize a system separate from Microsoft Azure for this purpose in case there are
problems in our Azure deployment itself. Elastic Cloud is a hosted environment that is deployed
to either Amazon Web Services (AWS) or Google Cloud Platform (GCP) and hosts the major
components of the Elastic Stack.
Components in Elastic Cloud are accessible securely via HTTPS, and with managed users and
passwords, with assigned roles. This will allow us to control who has access to the diagnostic
information for this platform.
RFP 19-040 Web Application Development-Technical Proposal
The relevant components for this solution are as follows:
Elasticsearch
Elasticsearch began as an HTTP based platform for full-text search built on top of Apache
Lucene. Since its inception, it's grown to a full-featured search, monitoring, aggregation, and
business intelligence platform. Data is stored in Elasticsearch in JSON documents and
distributed across a cluster for replication and high availability. On top of Elasticsearch sits tools
that help to visualize and take action on the data it stores.
In this solution, documents stored in Elasticsearch will be the information gathered from each
integrated system so we can provide a full cross-system search. Elasticsearch will also hold
metric information for each component of the architecture and mobile apps, giving us a
complete picture of the deployed environment.
Application Performance Monitoring (APM)
Tied into all non-mobile applications we build is the Elastic APM library. This library allows us to
choose custom information from the application code to send up to Elasticsearch for analysis
and monitoring. Most commonly this will be API timings so we can proactively monitor if API
requests are slowing down, and see the overall volume of our inbound requests, informing
when we need to scale to more instances of the applications.
The other important piece of information tracked with APM is application errors. If any error
occurs in any deployed system in Azure, that error's information will be captured and tracked
centrally so it can be investigated proactively.
Kibana
Kibana is the visual interface to Elasticsearch. Kibana comes pre-configured with dashboards,
charts, and visualizations for application logs, APM data, and system metrics collected by
Metricbeat. We will utilize Kibana to build our monitoring dashboards and give an always up to
date and clear picture of how the entirety of the system is being utilized, how things are
performing, and any issues that need to be addressed. This will be the foundation for our
proactive monitoring and alerting efforts.
RFP 19-040 Web Application Development-Terhriral Proposal
'
Our Methodology
Approach
The project is broken down into multiple pieces and phases. Each piece has a specific purpose
within the overall scheme of the solution. Each phase denotes a period of time where things are
expected to be completed.
We have split into teams to tackle each piece independently. This will increase the
implementation speed as well as create avenues for quick decision-making and autonomous
behavior.
Agile Framework
We use an agile methodology when developing software. Large scopes are broken into very
small development sprints. This allows us to make minor changes easily without causing
dramatic scope changes. Sean Price is a Scrum Alliance certified Scrum Master and will be in
charge of making sure our agile approach is running smoothly.
Development items are broken down into Epics, which contain Features. Features are broken
down further into Stories and Bugs. When planning work, we assign Stories and Bugs to
developers. Completion of these items then rolls up to show the completion of their respective
Feature. The Feature progress then updates the completion percentage of the Epic.
It's easy in an agile environment to get behind on schedule or allow too many scope changes
that cause the roadmap to become inaccurate. Our project management software and
techniques help keep us on target and allows us to project work ahead of time so we can get an
early picture of our goals.
Agile Deliverables
Reports
Reports will he available throughout the project. Typical sprint reports such as Burn Down and
Burn Up charts will be available 24/7 through our project management application.
-F 19.040 Web Application Development-Technical Proposal
A custom Sprint Report will also be sent out at the end of every sprint. This small retro report
will show things such as the number of hours worked, features worked on, bugs found, and
more. This report will be created by Seven Hills Technology personnel and sent to all members
working on the project. An example of the Sprint Report is available in the "Example
Communications" section.
Product Backlog
The Product Backlog is the list of all development items for the project. Items will be moved
from here to the Sprint Backlog during the sprint planning meeting. The Procuct Backlog will
also be available 24/7 through our project management application. The full history of this
information is available in the project management application as well.
Sprint Backlog
The Sprint Backlog is the list of all development items on the active sprint. These items are
moved from the Product Backlog to the Sprint Backlog during the sprint planning meeting and
are then assigned to developers.
Product Increment
The Product Increment is the list of development items that were delivered during the duration
of the sprint. These items are then added as part of the next release.
Management of Sprints
Sprint planning meetings will be run by either Brad Gardner, Sean Price, or Brian Adams. Sean
will be responsible for ensuring the agile deliverables are prepared for each sprint planning
meeting. Each sprint we run is two weeks in duration.
RFP 19-040 Web Applicatior Development-Technical Proposal
c` ;_ .
Project Teams
Team Personnel
Project Management Team Lead: Sean Price
The project management team will be
responsible for gathering requirements, running Members: Sean Price, Brian Adams
meetings, providing status updates and reports,
and ensuring the success of the project.
Integration Team Lead: Brad Gardner
The integration team will be responsible for
creation the integrations between our API and Members: Brad Gardner, Andrew Robb
the external systems. This includes integrations
with Salesforce and Elasticsearch.
API Team Lead: Sean Price
The API team will be responsible for creating the
API used by the web portal and the mobile Members: Sean Price, Matt Osbourne
portals.
Web App Team Lead: Brian Adams
The web app team will be responsible for
creating the front-end of the public web portal. Members: Brian Adams, Spencer Dangel
Mobile App Team Lead: Brian Adams
The mobile app team will be responsible for
creating the native Android and IOS apps for the Members: Brian Adams, Alec Reser
portal.
Phase 1: Information Gathering
Phase 1 will be the process of collecting documentation, examining any necessary source code
or API's and familiarizing ourselves with the existing systems and what our exact options for
integration are. During this phase, extensive documentation will be created regarding the
systems interaction and other environment details.
RFP 19-040 Web Application Development•Technical Pt oposal
■ 11
• ■
• • ■
I
o--:-♦ --
---16 \1
C Imo, t
During this phase, a QA environment will be setup. This QA environment will be used by both
Seven Hills Technology personnel as well as Elgin personnel when testing the items during
development.
Phase 2: Detailing and Design
After all the information has been gathered, we will start designing the user interfaces for web
and mobile. During this phase, we start by gathering detailed information about the users and
we create "personas" from these users. These personas guide our UX.
After the personas have been created we create user journey maps for the personas. These
journey maps are graphics outlining common scenarios the users will encounter, possible
resolutions, as well as track their levels of emotion and any insights we may gain from the data.
Once the journey maps are complete, we will
detail each user interaction into stories in our
project management application. The user
stories will include information for testing and
�, development to maximize our documentation
.11)- and the developers' understanding of the
problem.
To round out the design phase, we will create several wireframes for the general look and
layout of the portal. We will regroup with Elgin personnel upon completion, where we can make
any adjustments.
RFP 19-040 Web Appivatro^Development•Technical Proposal
Once the overall design has been agreed upon, our Ul/UX team will begin designing each page
and interaction with the portals. Upon completion, these designs will be connected into a
prototype that will be accessible to all involved in the project at any time.
The screens that were created during the design will be added to the user stories to provide a
clearer picture for the development teams. Once the designs have been added to the stories,
the development of the portal will being.
Phase 3: Development
We will break into small teams for the development of the solution. The teams will be chosen
based on personnel strengths and passions. Each team member will have a specific role in
completing the tasks at hand.
Each developer on each team will have both be writing software for each user story as well as
testing and performing QA duties on their other team members' work. By having other team
members perform QA on other members' work, we reduce the possibility of future headaches
due to errors or system inefficiencies.
Development takes place in iterations called sprints. Each sprint is two weeks long. At the start
of the sprint, a sprint planning meeting will take place. During this meeting, work is assigned to
each developer and any clarification on stories can be made. Once the meeting breaks, the
development staff begins working on the user stories.
When a developer is finished with a
story, they submit the story for code
review. After one of our team leads
reviews the code, it will be sent to
QA. Another member of their
specific team will perform QA on the
story at this point.
The integrations team will take the information outlined in Phase 1 and begin creating the
integration sync program. The integration sync program will be responsible for keeping
RFP 19-040 Web Application Development-Technical Proposal
information from all independent systems in sync and indexing each system into our
Elasticsearch instance. By doing this, we can create a cross-system full-text search and allow the
portal to read information from a central source.
The API team will be responsible for providing all of the business logic and error checking
necessary for the mobile and web app teams. The API team will interface frequently with the
integrations team to make sure all necessary data is getting stored in Elasticsearch.
The web app team will create the browser-based web application for navigating the portal. Their
application will talk to the API as well as any other systems that may be required such as
Paymentus. The web app team will be focused on delivering accessible and intuitive experiences
to the browser, regardless of device or screen size.
The mobile app team will be working on the native iOS and Android applications. To keep costs
down, cross-platform development technology will be used. The mobile app team will be
consistently pushing new releases to TestFlight and internal test tracks within Google Play. This
will allow our development staff as well as city staff to download, install, and use the mobile
apps for QA.
Phase 4: Final Testing and Go-Live
We will begin our final testing phase upon the completion of development. During this phase, all
stories and features are re-tested again, as well as the integrations between each system. This
testing is done entirely in our QA environment. Any bugs discovered during the final testing
phase will be promptly fixed by our development staff.
Once the final testing is complete we will schedule a
date to go live with the portal. We will release the
x mobile apps to their app stores in conjunction with the
7
launching of the web portal. We will have a dedicated
, ,IE
team ready to respond to support calls or other issues
during the first two weeks of the applications being
live.
RP?19-040 Web Application Development-Technical Proposal
After the initial go-live, the project is considered finished. We have provided hosting and
support options should the city desire an hourly or pre-paid support plan. Hosting options have
also been provided should the city desire to have a fully-managed solution for the portal.
RFP 19-040 Web Application Development-Technical Proposal
Timeline
to
Fe 2L,2cjv1,42243 gyp✓ 2O N'1tZV )v,4 )) ,2o rt.), 2t'
t• _ Tee ENOe1 3aOlete, Ort-a944 t403.22.13 41.c1M9 .44.3 930- c kexd 41a.7029
• I) Research and 2w [ , Protect Manager.Integrron Der
Document eswing
systems
• 2)OA Envtro•reent Setup 30 i _ Protect Mara
• 3)Phase'Complete td
• 4) UX Research 1w 4'_ _ -_J Prupct Manager
• S) UX DesynMiocwups 2w .-. _: Petco Manage,
• 6)Please 2 Complete Dd
• 7)Create ntegrat orn*On 344 Integrator"-,Dar
roostng systems
• & Magnate user 2W API Del
management wet
Seleetwoe
• 9)Wet API 5,64 10 ( API Der
• ID)'Mt UI Setup 30 _ Web Der
•11) Mobile App Setrp 30 L_ Moble Der
• 12)'Apply For senor. 3w 30 _. API Der.Web Dec.Mob*,Der
•13)'Foga'sector: 7w 30 _._.., API Der,Morse De;Web Dor
•14)-Pay For'section Ow ._ _. API Dec.Mobile Dec Web Cw.
• IS)-Ripon'sachem 2w 20 _ I API Derr,MOOM Der,Wee D.
• 16) Rigstar For sectan 4w Id __, API Dec Mab*De..Web Dec
• 17)'Rare section I w 3d : ; AP,Der,MOO Dec.'Web Dec
• 181 'Other soman 1.30 API Der.Mob*Dec.Web Dec
• 19, 'Slip Up Far'section 3w i---I API Der,MuO*Der.Web Der
•20, 'Mapping*secton 'w 34 : API Dev Mob.e Der Web De.
•21)Rase 3 Compete
•22) 1estng I Protect Manager
•23 Deptoymon1 1w [ - Prates-Manager
•24. Phase 4 Complete 3 r
Phase Start End
Phase 1: Information Gathering Z/2/20Z9 -9/16/20w
Phase 2: Detailing and Design 12/20 D /14/20X. '
Phase 3: Development 1/16/20 /27/2020
Phase 4: Final Testing and Go-Live q/28/2020 Jef10/2020
RFP 19-040 Web Appi,catlon Development-Technical Proposal
F',12P; C' .
Seven s
T e c h n o I o g y
RFP 19-040 Web Application Development -
Cost Proposal
Prepared For: Prepared By:
Daina DeNye Brian Adams
City of Elgin 150 Dexter Ct. Seven Hills Technology
Elgin, IL 60120 4700 Ashwood Dr
Blue Ash, OH 45241
41111
171 11 -ri H-hr
=1 II lilt -- -- -. • =- 11 ''"` ►i���is�t. —•-- �..,,,.. .t,.t__.� ��
Application Development/Systems Integration Pricing
Name Subtotal
Research and Design $ 23,000.00
Researching of integrations with existing systems, UX and design
Integration Sync Program Development $ 25,000.00
Creation of synchronization programme toi integrations, int€.•sr:ae with Salesforce
API Development $ 57,750.00
Creation of API for :.•se by the web portal and mobile portal
Web Portal Development $ 50,250.00
Creation of mobile-friendly web application portal
Mobile App Development $ 54,000.00
Creation of Andi old and i0S mobile app poitl
Testing and Deployment $ 8,000.00
Final testing, deployment, initial deployment support
$ 218,000.00
Total $ 218,000.00
Payment Terms
The total project cost will be split over the planned project duration and billed in semi-monthly
increments. Payment terms will be NET 30.
Hourly Cost
Seven Hills Technology uses a blended hourly rate of$125/hr for all employees. This includes
our senior project management, technical leads, as well as standard developers.
RFP 19-040 Web Application Development-Cost Proposal
Hosting and Support
Seven Hills Technology provides a white glove hosting and support service for our clients. This
service includes hosting and support for all systems and software written by our team. Our
service also includes proactive monitoring, access to our issue tracking system, operating
system patches, and more. Our goal is to help you feel less stressed and allow you to focus on
what's really important.
What's Included
• Application nosting
• Standard business hours phone and email tech support
• Server operating system patches
• Bug fixes
• Proactive monitoring and alerting
Hosting
We will use a common cloud service provider for software hosting. Options for these hosting
environments include AWS, Azure, and Digital Ocean. We also have less expensive hosting
options available through our managed services partner if desired.
Below is a table breaking down our hosting service for Azure:
Name Subtotal
Elastic Cloud Hosting Estimate $ 450.00
Hosting for Elasticsearch (used for cross-site search) per icrr-anc
monitoring, basiness analytics
Azure Hosting Estimate $ 1,000.00
Hosing for the web application,API, and integration service.
Hosting Service Estimate $ 150.00
Service lee to, mr:na tr a.i r�asung
$ 1,600.00
PIP 19-040 Web Application Development-Cost Proposal
P