HomeMy WebLinkAboutRESPONSE - RFP - 8438 BUDGET ANALYSIS REPORTING TOOL SOFTWARE UPGRADEResponse to the Request for Proposal for
8438 Budget Analysis Reporting Tool Software
Upgrade
City of Fort Collins
January 11, 2017
Technetronic Solutions, Inc.
City of Fort Collins Purchasing Division
215 North Mason St. 2nd Floor
Fort Collins, CO 80524
purchasing@fcgov.com
Table of Contents
Summary ................................................................................................................................... 1
Section I – Methods and Approach ............................................................................................ 2
A. Sustainability .................................................................................................................. 2
B. Service Level Agreement ................................................................................................ 2
C. Development Methodology ............................................................................................. 2
D. Development Environment ............................................................................................. 5
E. 90-Day Work Plan .......................................................................................................... 7
Section II – Qualifications and Experience ................................................................................. 9
Overview ............................................................................................................................. 9
Services Offered and Qualifications .................................................................................... 9
Similar Project Experience .................................................................................................. 9
City of Fort Collins ............................................................................................................... 9
IG Mapware .......................................................................................................................10
Kyrio ..................................................................................................................................11
Preventive Health Now .......................................................................................................11
Section III – List of Project Personnel ........................................................................................12
Section IV – Organization Chart/Project Team ..........................................................................12
Section V – Availability ..............................................................................................................13
Section VI – Schedule of Rates, Cost and Work Hours .............................................................13
Section VII – Receipt of Addendum No. 1 .................................................................................13
Section VIII – Vendor Statement ...............................................................................................13
Appendix A – Sample Work Product ................................................................................... A-1
Appendix B – Technical Team Member Resumes .............................................................. B-1
Appendix C – Vender Statement .......................................................................................... C-1
Summary
Technetronic Solutions, Inc (TSI) is pleased to present this proposal to upgrade the Budget
Analysis Reporting Tool (BART) for the City of Fort Collins (City). TSI will work with City staff to
define requirements, use cases, user stories and deliverables. TSI will take into account the
future vision of BART by City so that the system possesses the flexibility and scalability to grow.
TSI will utilize a proven project framework and best practices in developing the BART
application. We look at these types of projects from a business perspective and functionally and
technically design the solution to meet the customer’s needs using the tools available to us
without over-engineering the solution. We need to ensure that the system meets the business
requirements and is structured in such a way that it can adapt as City grows and changes. We
will use the SCRUM methodology that will allow us to create use cases and user stories against
the defined requirements. These then can be mapped into a set of releases.
Thank you for the opportunity to provide this proposal. TSI has enjoyed working with City on
previous projects, including enhancements and issue resolutions on the existing BART
application over the last two years, and hopes to have the opportunity to work with City to
develop the next generation of BART.
2
Section I – Methods and Approach
A. Sustainability
TSI strives to utilize sustainable business practices. We recently moved to a virtual business
model with all employees working from home. This eliminates the need for employees to drive
to the office as well as providing better work-life balance. TSI operates primarily on an electronic
model with very little paper used in the operation of the business. We utilize a recycling
company for the limited amount of paper and other recyclable items we dispose of. TSI moved
all of its operational and development functionality to the cloud thus drastically reducing the
number of servers and other equipment needed. All of the old servers and other equipment that
we recently decommissioned were recycled through a certified electronic recycling company or
donated to a charity for their use.
B. Service Level Agreement
Our goal is to provide our customers with the best service possible. TSI will make best efforts to
respond to City requests within normal business hours on the same business day and to interact
with the City during normal business hours, 8:00 AM to 5:00 PM Monday through Friday, unless
the severity of the event dictates otherwise. TSI is flexible and happy to work with City if
additional hours or different response periods are desired.
C. Development Methodology
TSI will work with the City to obtain an understanding of the envisioned business processes and
system structure to configure the system. This will be done through further system reviews with
the City’s team members. We feel this process is critical to driving out functionality and will
allow the City to understand project options, deliverables, and risks of a successful delivery.
TSI will capture the processes and application functionality through use cases or user stories.
TSI will establish an architecture that will allow the application to leverage a service oriented
framework. We will apply an agile methodology to reusable object design which will speed up
development time if needed, reduce project cost and risk, and improve application functionality
and usability. Our approach will also ensure proper security for both the administration and use
of BART. These will be used to develop an architectural framework.
The core principle in this approach is that framework should be developed around the basic
components of the business practices of the City. The design of the solution begins with a
concept of the business practices of the City, which identifies the critical components of relevant
business processes, and which defines the parameters of the business services. Such services
can be combined into a loosely coupled larger structure that, in turn, can be combined into an
even larger entity.
When designing the application architecture, the functional requirements must be implemented
to support the non-functional requirements. The non-functional requirements that will be
3
addressed in the design of the system are: Availability, Security, Scalability/Performance,
Manageability, Reliability, Supportability, Standardization, and Integration.
Availability: Since the system provides services to different types of users, high
availability is required. The key to availability is to isolate service functionality from
failures of individual components. The design of the system shall be deployed with a no
single point of failure (NSPoF) topology. Exceptions to this design might include
external components provided by other vendors that the framework will need to
interface.
Security: The system contains confidential user information and protected content. This
requires that security be addressed with a defense-in-depth strategy. This is an all-
encompassing approach that applies security throughout the infrastructure. By
addressing security at all levels of the system, we ensure that a single breach of security
does not provide a complete and uncontrolled access to the system. To do this properly,
the application architecture must be separated into zones (Domains) that can be further
segmented.
Scalability/Performance: As the usage of the system expands, the system must handle
the increased demands without sacrificing performance. Web and Business Application
Servers must be able to scale out to allow for increased usage. SQL Server might need
to be scaled up to sustain performance and availability amid data growth.
Manageability: No matter how great a system may be then if it is not manageable, it will
not be a success. Considerations relating to the deployment, monitoring, alteration, and
administration of the infrastructure must be taken into account when designing and
implementing the new system.
Reliability: A consistent and reliable deployment mechanism is needed to ensure the
repeatable and consistent deployment of the system into testing, staging, production,
and disaster recovery environments.
Supportability: If the system is going to continuously adapt and change, it must be easy
to support. Easy-to-use tools must be available that allow support personnel to discover,
trace, and reproduce system behaviors. The system itself will leverage existing system
tools and tracking mechanisms that already exist within the infrastructure rather than
developing new tools. Also once corrected it must be easy to test and release the
solution into the production environment.
Standardization: Implementation of standardized infrastructure components utilizing
standard development technologies and practices creates predictable and expandable
products. When standardized tools and technologies are used to develop and deploy
the product, there is a sound basis for the management of change and growth.
4
Integration: By integrating with existing applications and solutions their power can be
leveraged within the system. Additionally, by abstracting the integration through standard
development practices and interfaces, changing the integration components will be
easier and more cost effective.
When designing the application architecture for the system, the functional requirements must be
implemented to support the logical mapping. To facilitate this process, the organization and
layout of the functional requirements must be considered. When the application architecture is
discussed, terms are used to illustrate the organization and layout of the application such as
component, layer, domain and tier. These terms and concepts help separate the functional
requirements into views that allow the non-functional requirements to be addressed.
A Component refers to a logical software module. A collection of components make up an
application. By grouping components by functionality, duties or deployment scenarios, we can
view an application by layers, domains, or tiers.
A Layer refers to a logical partitioning of an application duties or tasks. Each layer contains
components that perform similar duties across all application Domains. Applications are divided
into a presentation layer (e.g. User Interface), business (or services) layer (e.g. application
logic) and a data layer (e.g. Interfaces to SQL Server or files).
A Domain is a logical partitioning of application functionality (e.g. Web Site or Service). Each
domain contains the components that implement a complete set of functionality across all layers
(presentation, business, and data). Domains are divided into major functional elements of the
system. The domain model of system is often the easiest model for non-technical project
participants to understand because of its focus on the actual functionality.
A Tier is a logical entity that defines the physical hosts (hardware or hardware clusters) that an
application is deployed (e.g. handheld device, database server). The non-functional
requirements of an application play an important role in the definition of application Tiers, more
so than application functionality. Components must be developed so they can be deployed on
various tiers without modification.
5
Application Tier
Web Tier
Users
Business Layer
Service Interfaces
Business
Components
Business
Entities
Business
Workflows
Data Layer
Service Agents
Data Access Logic
Components
Data Tier
Data Stores External Services
Other Non-Functional Requirements
Security
Communication
Presentation Layer
User Interface Components
User Interface Process Components
Figure 1: Architecture
D. Development Environment
Version Control:
GitHub
Development Tools:
Visual Studio 2015
Visual Studio Code
Nuget
ECMAScript 2015
6
ECMAScript 2106
jQuery 2.0
KnockOut.js 3.4.2
Angular 2.0
ASP.NET MVC 6.0
Web API 2.2
Entity Framework 6.0
D3.js
React.js
Database Tools:
SQL Server 2012
SSIS
SQL Server Data Tools
Management Tools:
Trello
Kanban
Microsoft Teams
Slack
Backup:
GitHub
OneDrive for Business
Testing Tools:
Visual Studio 2015 Testing Tools
xUnit
nUnit
Moq
Rhino Mocks
TypeMock
All development will be done on a standard set of workstations and will be stored and managed
using GitHub. GitHub provides versioning and backs up all code in the repositories. The code
will additionally be backed up and stored in OneDrive.
The code will be deployed and tested to an internal deployment server running Windows Server
2012. A backup deployment server will be deployed to Azure.
7
E. 90-Day Work Plan
TSI will work with the City to obtain a detailed and meaningful understanding of the current
business processes around BART functions. This will be done through creation of basic use
case descriptions. We feel this process is critical to creating an effective system and will allow
the City to understand the solution options, deliverables, and constraints. Following are the
tasks that TSI anticipates will be undertaken in the first 90 days:
Task
Initial Steps
Kick Off Meeting
Review roles and responsibilities with Fort Collins
Define how use cases and user stories should be specified
Review/Detail Technical Requirements
Define Architecture and Technology Methods
Review Architecture and Technology Methods
Review exiting BART system
Review existing artifacts and documentation
Determine Preliminary Requirements
Meet with Fort Collins finance staff
Meet with Fort Collins technical staff
Design and create initial user stores
Design and create initial use cases
Design and create Domain Model based on user stories and use cases
Domain Model
Design and create domain events based on business process and workflows
Create class model based on domain model
Map activities and workflows into application events
Create High Level Architecture
Determine Authentication and Authorization Strategies
Create Data Model
Create integration plan with remote data stores
Design and create Entity Framework objects to integrate with SQL Server
Design and create T4 scaffolding that allows Entity Framework objects to templated for deployment
Perform Risk Assessment
Identify risks, and impacts all the software components
Define Escalation processes for issues
Review Client Software and Hardware
Review existing hardware
Identify any software upgrades
Plan Security
Determine user roles
Assign user role perform to specific tasks
Define security methods
Determine web application policies
8
Review compliance requirements
Plan failover and disaster recovery
Establish requirements for disaster recovery
Plan backup and restore procedures and process
Design
Architecture/Integration Framework
Design Service Layer using WCF and Web API
Design how services mapped to controllers
Design and create controllers
Domain model mapped to services and controllers
Rest based workflow
Create sequence workflow
Create state machine workflow
Create activity framework
Create custom activities for decision nodes
Design Model View Model with UI layer
Create Object Models
Map Object Models into Domain Model
Map Domain Models into ViewModels
Create Templates to Generate Domain Models, Services and Routers for the Layers
Map MVVM into MVC Views
Create Model and Views using Knockout
Create Models and Views using jQuery templates
Design Application Caching
Create second level cache
Create Caching and Load Balancing Modules
Map between all key constraints
Map between indexes
Instrumentation
Create Application Monitoring
Console Monitor integration
Design Monitor framework
Integration of Workflow processing
Elmah integration with IIS and MVC
Integration of ASP.NET Web API
Create Windows instrumentation for logs and exception handling
Integration of Logging framework
Integration of Exception framework
Integration configuration of Configuration framework
Unit test Enterprise Library
9
Section II – Qualifications and Experience
Overview
Technetronic Solutions, Inc. (TSI) is a woman-owned Colorado corporation that has been
focused on delivering Microsoft solutions to the public and private sectors for 24 years. TSI is a
Microsoft Partner with a Silver Application Development Competency. TSI provides
development and integration services and has adopted a philosophy of client focus, re-use, and
partnership. All members of the TSI team are committed to the success of our customers. We
propose solutions to manage costs and to further increase the return on those solutions. In
addition, we form a tight partnership with our customers and manage projects in a manner that
insures minimal disruption to their business processes. TSI prides itself on putting our
customers’ interests first and being flexible in working the way our customers desire.
Services Offered and Qualifications
TSI has been working with Microsoft technologies since 1992 and with .NET since 2000. TSI
has developed numerous Windows and Web applications using ASP.NET, ASP.NET Core, and
.NET. Our team members have used .NET to build: authentication using Active Directory,
OAuth, and JSON Web Token (JWT), data models using entity frameworks, enterprise design
patterns to provide modular components, LINQ to provide a consistent query for object and
SQL, and Service Oriented Application using WCF and Web API. TSI has leveraged Windows
Workflow (WF) in both SharePoint, and ASP.NET applications. Use of workflow is incorporated
into our general development philosophy allowing us to more effectively engineer complex
processes or integrate them into existing systems. Recently, we have been focused on
providing companies real-world cloud solutions implemented using ASP.NET Core in order to
build integrated, and orchestrated microservices using AWS, Azure and Docker.
The technical team members that are assigned to this project have between 10 and 25 years of
development experience and are all long-term employees of TSI.
Similar Project Experience
City of Fort Collins
BART Enhancements and Break/Fix - The City of Fort Collins contracted with TSI in June,
2015 to add new features and enhancements to the existing BART application. The legacy
budgeting application was written in .NET 2.0 using classic web forms using Telerik and
Infragistics controls. It need to be moved .NET 4.5 since the City needed support from
Microsoft. Further, the application would not work with Chrome or Internet Explorer 11. TSI
updated all the projects to support .NET 4.5, refactored large pieces of the application to
support a layered application approach as well as provide support for the latest version of
Chrome and Internet Explorer and created and added in new components to support new
functionality required by the finance department and updated all ASMX services into WCF
services. TSI worked with the City of Fort Collins to complete the desired enhancements and
10
resolve issues in BART through March, 2016. TSI is currently under contract with the City of
Fort Collins to provide break/fix services related to the current BART system. Through the work
TSI has done on the BART system in the past, TSI has become extremely familiar with the
system. TSI has developed a good working relationship with the City staff involved with the
BART system.
Glen Shirey, Information Services Manager – Information Technology, phone number: 970-221-
6636; e-mail address: gshirey@fcgov.com.
Marija Balic-Wilson, ERP Analyst – Information Technology, phone number: 970.221.6258; e-
mail address: mbalicwilson@fcgov.com.
SharePoint Project - TSI was selected by the City of Fort Collins to provide SharePoint
Consulting services in October, 2011. This project involved moving the SharePoint site from
SherWeb to SharePoint 2010 running in the cities’ infrastructure. This required the creation of
the sites, lists, metadata, and reports based on the SherWeb SharePoint structure.
Clint Andrews, IT Director - Application Services, phone number: 970-416-2516; e-mail address:
candrews@fcgov.com
IIS Security Project - TSI provided IIS Security consulting services to the City of Fort Collins in
November, 2013. This project addressed application security in both IIS and the McGovern
software application. Utilizing the application security design methodology of The Open Web
Application Security Project (“OWASP”). TSI’s primary contact on this work was Jamie
Heckman.
Jamie Heckman, HR Business and Technology Manager, phone number: 970-416-2516; e-mail
address: jheckman@fcgov.com
IG Mapware
This company was founded by Jeanne Caldwell who has a patent on a system that provides for
determining the rules for how records can be retained by an organization. These rules cover all
countries and regulations. In 2008, TSI designed the system which was built as a Web Forms
application using Windows for Workflow and a custom archive system that stores all changes
made to a record. This application is deployed as SAAS application at RackSpace and is used
by many large enterprises such as Janus. We are now on the fifth generation of the application
and starting to work on a new version. Samples of work product for this project are attached as
Appendix A.
11
Jeanne Caldwell, CEO, phone number: (303) 329-9545; e-mail address:
Jeanne@recordsconsultants.com.
Kyrio
Kyrio has a core set of services that were built using both ASPX and ASMX technologies over
the past 12 years. These were the G2B services that allow any cable provider to determine if
they offer services to a residential cable customer. The company wanted to move these to
microservices that could run within a cloud environment such as Amazon Web Services (AWS)
or Azure. TSI chose ASP.NET Core since Kyrio did not want to rewrite all components. This
technology allows the ASP.NET MVC and Web API framework to run in Docker and Linux. We
created the framework that creates microservices under Windows, installs them and tests them
in Docker using Mono, and then deploys into a Docker container that can be deployed to AWS
or Azure. This project was done in 2016.
Mitchell Ashley, President and GM, phone number: 303-881-9353; e-mail address:
m.ashley@kyrio.com
Preventive Health Now
TIS designed and created a new portal infrastructure and system using ASP.NET MVC and
Web API. The system had to integrate into medical testing facilities such as Quest Diagnostics.
This system allows employees of companies to look at their health screening results and these
results were shared with their employer and the insurance provider. These results include such
elements as high blood pressure, weight, cholesterol, and other defined health checks. Based
on having improved or positive results, an employee would receive an incentive. All the data
was processed and stored based on HIPPA standards. This project was done in 2016 and
additional enhancements are currently being undertaken. Samples of work product for this
project are attached as Appendix A.
Brett Shrewsbury, President and GM, phone number: 720-934-5588; e-mail address:
Brett@preventivehealthnow.com
12
Section III – List of Project Personnel
TSI Contact
Dawn Lutz
3773 E. Cherry Creek N Drive, Suite 575
Denver, CO 80209
President
303-872-1619
dmlutz@techsoli.com
Architect
Donald Lutz
3773 E. Cherry Creek N Drive, Suite 575
Denver, CO 80209
Vice President/CTO
303-547-3101
delutz@techsoli.com
Resumes of the team members who will be assigned to the BART Upgrade Project are attached
as Appendix B to this RFP response.
Section IV – Organization Chart/Project Team
13
Section V – Availability
Based on a timely award process and immediate project start, TSI project personnel are
available to participate in this project. TSI’s model is one of utilizing a software factory to deliver
projects and have years of working with our clients to deliver projects successfully. This model
allows for our professionals to be most effective and their time flexible. We are available for all
onsite project planning and review sessions, and available to meet or participate in conference
calls with notice. We anticipate most of this project can and will be delivered remotely. We are
available for an on-site interview in Fort Collins the weeks of January 27 and February 3, 2017.
Section VI – Schedule of Rates, Cost and Work Hours
The total number of hours for the project is estimated at 2,300. Cost per hour for resources
assigned to this project is blended at $110 per hour. Total estimated cost is $253,000.
Ongoing support of the BART application will be provided at a rate of $110 per hour.
Section VII – Receipt of Addendum No. 1
TSI acknowledges receipt of 8438 Budget Analysis Reporting Tool Software Upgrade
Addendum No. 1 – Questions and Answers.
Section VIII – Vendor Statement
The required Vendor Statement is attached is Appendix C.
A-1
Appendix A – Sample Work Product
IG Mapware
A-2
A-3
A-4
Preventive Health Now
Appendix B – Technical Team Member Resumes
Donald Lutz
Mr. Lutz is an accomplished software architect and developer with enormous depth and breadth
in designing, building, and integrating large enterprise systems. For over 25 years Mr. Lutz has
specialized in providing the public and private sector real-world Service Oriented Architecture
solutions implementing integrated, orchestrated web services frameworks. His thought
leadership enables him to creatively and effectively drive business solutions through technology.
His expertise with system architecture and programming ensures project success.
Donald is co-founder and CTO for TSI. Responsible for the architecture and design of
frameworks used to provide a Service Oriented Architectures to enterprises using both REST
and SOAP. Donald provides vision, strategy and execution of system and application integration
within and between enterprises. The integration framework deployed to his clients provides a
lightweight Enterprise Service Bus using the web services to unify and connect services,
applications and resources. The core frameworks are primarily built and designed using .NET,
C#, ASP.NET, ASP.NET MVC, ASP.NET Web API, WCF, and WF.
Donald has been involved in all the projects listed in the Proposal to City as well as all other
development projects undertaken by TSI.
Steven Zawaski
Mr. Zawaski is an accomplished Solutions Architect in Microsoft architecture as well as having
over 10 years’ experience in designing and building large enterprise systems. Steven
specializes in providing real-world solutions implemented using ASP.NET, ASP.NET Core, and
.NET to build integrated, orchestrated systems. These systems can be deployed with standard
Microsoft techniques or Docker. His leadership enables him to creatively and effectively create
technical solutions. All his projects have involved the usage of Design Patterns and Domain
Driven Design.
Responsible for the architecture and design of frameworks used to provide a microservice and
hexagonal architecture to enterprises using both REST and SOAP. User interface components
are provided through custom MVC components or JavaScript components. Designed and
created a repository framework for Entity Framework that uses t4 templates and integrates with
a Command Query Responsibility Separation (CQRS) architecture and records transaction
command and events in EventStore.
Steven worked on the previous BART projects for the City of Fort Collins, the IG Mapware
project listed in the Proposal as well as many other projects for TSI.
B-2
Joshua Dale
Mr. Dale is an experienced and detailed senior software engineer with over 10 years of
experience with Microsoft technologies and languages. Extensive experience designing,
building and maintaining systems for web, desktop, and enterprise applications. Proficient in
object-oriented architecture and design patterns as well as leading development teams,
managing project resources, and interfacing with clients to set business and technical
requirements.
Josh focuses on building complicated systems that provide the integration of SharePoint,
ASP.NET, ASP.NET Core JavaScript frameworks such as Knockout and Angular, and analytic
dashboards as well as full stack development applications using Entity Framework and using
NoSQL databases.
Josh worked on the previous SharePoint project for the City of Fort Collins, the Preventive
Health Now project listed in the Proposal as well as many others for TSI including for Vail
Resorts.
Appendix C – Vender Statement
VENDOR STATEMENT:
I have read and understand the specifications and requirements for this Request for Proposal
and I agree to comply with such specifications and requirements. I further agree that the method
of award is acceptable to my company. I also agree to complete PROFESSIONAL SERVICES
AGREEMENT with the City of Fort Collins within 30 days of notice of award. If contract is not
completed and signed within 30 days, City reserves the right to cancel and award to the next
highest rated firm.
FIRM NAME: Technetronic Solutions, Inc.
ADDRESS: 3773 E. Cherry Creek N Drive, Suite 575, Denver, CO 80209
EMAIL ADDRESS: delutz@techsoli.com PHONE: 303-324-0878
BIDDER’S NAME: Donald E. Lutz
SIGNATURE:
PRIMARY SERVICES ISSUES CONTACT: Dawn Lutz
TELEPHONE: 303-872-1619 CELL: 303-946-8328
EMAIL: dmlutz@techsoli.com
COMMODITY CODES USED FOR THIS RFP:
918-29 Computer Software Consulting
920-46 Software Updating Services
920-40 Programming Services, Computer
920-00 Data Processing, Computer, and Software Services