Loading...
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