Certified Woman & Minority Owned

Software Development Services


Reference Number: MNSD125

Software Development Services
experience  Not Disclosed
location  Minneapolis, MN (100% Remote)
duration  13.0 Months
salary  Not Disclosed
jobtype  Not Disclosed
Industry  Government - Local
Job Description


Scope of Services

1. Client business need/background

Client is deploying newly developed applications and migrating selected existing applications to the public cloud. The client is currently utilizing Microsoft Azure and Oracle Cloud Infrastructure (OCI) to host PaaS/IaaS (Platform-as-a-Service, Infrastructure-as-a-Service) solutions. The client has established a client (Cloud Cost Management) group to monitor, advise, and report on cloud costs. This is to ensure cost effective use of cloud resources. The client group is part of the Finance group within the IT department. The client group has and is developing and implementing standards, guidelines, and processes for implementation of industry accepted client principles.

The client desires to contract for the development of software to automate selected client manual operational functions.

These functions include:
a) a cloud workload inventory and
b) deployment and maintenance of cloud workload duty schedules.



The contractor will design, develop, test, deliver, and perform knowledge transfer for the Cloud Inventory and Duty Schedule automation outlined in the attached requirements/conceptual design whitepaper. The scope will include building a solution in Microsoft Azure that collects workload data from Microsoft Azure and OCI public clouds.

Task 1: Requirement Definition:

• The contractor will review the aforementioned design whitepaper and participate in one or more virtual joint meetings with client staff to discuss the background, business objectives, requirements, and high-level technical approach. The client will update the whitepaper, if needed based on these discussions.
Task 2: Detailed Design & Review:
• Using the information from the Requirement Definition task, the contractor will formulate and document a software design. This design will be a Microsoft Word document with appropriate tables and figures (e.g., Vision) to describe the design approach. The design document will include a textual narrative providing a theory of operation. This includes a description of the functionality of major portions of the software, interfaces to external entities (e.g., Microsoft Azure APIs). The design will also provide a description of the anticipated required Azure resources (including sizing) to implement the design. The design shall also include an estimated recurring monthly cost to operate the to-be-developed software in Azure. Ideally, this cost estimate will be documented in the Azure Cost Calculator (Pricing Calculator | Microsoft Azure). The contractor will deliver the design document to the client for review and comment by client technical staff (architects, cloud operations, software developers) and project staff (client, Project management). The contractor will attend a virtual design review meeting and present the design document for a peer review. Following the design review the contractor will update the design document and submit to the client for review. If needed, more than one iteration of a design review may be needed.

Task 3: Software Development:
• The contractor will develop (code) the approved design using modern design principles including loose coupling, microservices, APIs, etc. The contractor will perform unit and developmental testing. It is anticipated the software development process will utilize agile principles with frequent demos to the client of partially completed software. The contractor will utilize their own development platform and resources. The client will provide access to Azure resource environments for Development and Production. For code delivery, GitHub is preferred, Azure DevOps as an alternative. Store code in repositories, create CI/CD pipeline(s).
Task 4: Software Acceptance Testing:
• The client will generate a user-level software acceptance test and will use this to validate functionality of the developed software. The contractor will support this effort by responding to and/or correcting design and code deficiencies identified by the acceptance testing.
Task 5: Project Management & Status Reporting:
• The contractor will participate in periodic (e.g., weekly) virtual status update meetings to the client. It is estimated these status meetings will be one hour in length. Alternatively, the weekly status meeting can take the form of a weekly sprint planning meeting (e.g., Monday for 30 minutes) and a weekly deliverable review session (e.g., Friday for 30 minutes). These meetings will cover development status, clarification of requirements, documentation review, demos, acceptance testing open issue list, and discussion of any project issues or roadblocks. Additional ad hoc meetings will be scheduled as needed.
• A project closure meeting with the contractor will be held after the delivered software has been accepted and knowledge transfer completed. This virtual meeting (estimated at one hour) will cover a summary of the project, deliverable status, and lessons learned.
Task 6: Knowledge Transfer:
• It is anticipated the client’s internal software development and operations staff will assume responsibility for support and any future enhancement of the delivered software. The contractor will support knowledge transfer of the as-built and accepted software via a walk-thru of the theory-of-operation, design, and, as appropriate, the code. It is anticipated this will be two one-hour virtual meetings.
Task 7: Post Acceptance Support:
• To support the client’s assumption of responsibility for the delivered software, the contractor will participate in a one-hour monthly meeting for three months following completion of the final project closure meeting. The purpose of the meeting is for client staff to ask questions of the contractor technical staff regarding the delivered software. Any effort requested of the contractor beyond the three monthly meetings will be on a time and materials basis. Any substantial effort (e.g., exceeding 5 staff-hours) may require the generation of an additional scope-of-services (SOS).

General Deliverables
Task 1: Requirement Definition:

• Microsoft Word document consisting of an updated version of the client-provided design requirement whitepaper.
Task 2: Software Design Document:
• Microsoft Word document and associated figures and diagrams of the software design with content as described under Task 2. This deliverable includes the initial contractor submittal, revisions during the design review, and a final version reflecting the as-built and accepted software.
Tasks 3 and 4: Software Code:
• This is an electronic copy of the source code for the developed software and CI/CD code in the delivery format specified in Task 3. This includes deliverables to be subjected to acceptance testing as well as the final version having passed acceptance testing.
Task 5: Project Status:
• Electronically submitted project status report (1-2 pages plus attachments) covering the topics listed in Task 5 description. This Project Status shall be submitted to the client one working day prior to the periodic status meeting.



Notes
Remote
Total estimated hours: 1600
VIVA is an equal opportunity employer. All qualified applicants have an equal opportunity for placement, and all employees have an equal opportunity to develop on the job. This means that VIVA will not discriminate against any employee or qualified applicant on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status.

Apply for this Job





(Please ensure email matches your resume email)



(document types allowed: doc/docx/rtf/pdf/txt) (max 2MB)

By submitting this form, you are consenting to the VIVA team contacting you via Phone/Email/SMS

Join VIVA and grow

VIVA is faster, easier and you still have complete control