DEADLINE: 28TH JUNE, 2023
HEARTLAND ALLIANCE LTD/GTE              
HOUSE 4, 11 ROAD, OPPOSITE VIEWPOINT HOSPITAL OFF 1 AVENUE, GWARIMPA ESTATE, F.C.T ABUJA – NIGERIA
REQUEST FOR PROPOSAL FOR SOFTWARE DEVELOPER CONSULTANCY

www.heartlandalliancenigeria.org

(I) BACKGROUND

ABOUT HEARTLAND ALLIANCE LIMITED BY GUARANTEE (HALG) NIGERIA
Heartland Alliance Ltd-Gte is a service-based human rights organization with a global heritage that is established under the laws of Nigeria with a mission to engage as a lead and global player with a variety of stakeholders to create access to opportunities and resources for comprehensive healthcare and social and economic justice for all. Heartland Alliance Ltd-Gte is building on over a hundred- year legacy of Heartland Alliance International (HAI); the global arm of Heartland Alliance for Human Needs & Human Rights, a family of organizations that has been leading anti-poverty and social justice work in Chicago for more than 125 years to provide high quality and stigma-free services for all using a tailored human rights-based approach.

(II) BACKGROUND AND PURPOSE OF THIS ASSIGNMENT
The organization operates multiple facilities spread across different locations. Each facility maintains its own set of data related, to various processes and operations. However, due to the decentralized nature of data storage, it has become challenging to obtain a comprehensive and up-to-date view of the organization’s data. This fragmentation has resulted in difficulties in decision- making, reporting, and analysis at the organizational level. To address these issues and improve data management, the organization has decided to implement a centralized data synchronization system.

The purpose of this assignment is to engage a consultant who will be responsible for designing and developing a software solution to synchronize data from the 18 facilities to a central server. The consultant will play a critical role in enabling efficient and reliable data exchange, ensuring data consistency, and establishing a unified data repository.

(III) SCOPE OF WORK

RESPONSIBILITIES
(1) System Design: The consultant will analyze the existing data systems at each facility and design a robust synchronization solution that efficiently transfers data from the facilities to the central server. The solution should consider factors such as data integrity, security, scalability, and performance.

(2) Data Mapping and Transformation: The consultant will work closely with the organization’s stakeholders to identify the relevant data fields and establish mappings between the data structures at the facilities and the central server. They will also define the necessary data transformations and ensure that data is synchronized accurately and in a standardized format.

(3) Synchronization Mechanism: The consultant will develop the software – solution to implement the data synchronization process. This may involve leveraging appropriate technologies, such as data integration platforms, APIs, or custom-built scripts, to facilitate seamless and efficient data transfer.

(4) Error Handling and Logging. The consultant will incorporate error handling mechanisms to identify and handle data synchronization failures or inconsistencies. They will implement logging and monitoring capabilities to track synchronization activities and provide insights into potential issues or bottlenecks.

(5) Testing and Quality Assurance: The consultant will conduct rigorous testing of the synchronization system to ensure its reliability, accuracy, and performance. They will collaborate with the organization’s IT team to define test cases, execute tests, and resolve any identified issues.

(6) Documentation and Knowledge Transfer: The consultant will create comprehensive documentation that covers the architecture, configuration, and maintenance of the synchronization system. They will also provide knowledge transfer sessions to the organization’s SI team, equipping them with the necessary skills to manage and support the solution effectively.

REQUIRED QUALIFICATIONS
(1) Expertise in Java
: The consultant should have a strong command of Java programming language and its related frameworks, as the software solution will be developed using Java. They should possess in-depth knowledge of Java development best practices, object-oriented design principles, and proficiency in writing efficient, reliable, and maintainable code.

(2) Data Streaming API Experience: The consultant should have hands-on experience with data streaming APIs or frameworks such as Apache Kafka, Apache Flink, or Apache Spark Streaming, Redis, RabbitMQ. They should be familiar with the concepts of event-driven architecture message queues, and real-time data processing to implement efficient data synchronization mechanisms.

(3) Data Integration and ETL: A solid understanding of data integration and Extract. Transform Load (ETL) processes is crucial. The consultant should have experience in designing and implementing data Integration solutions to ensure smooth data flow from multiple sources to central server. Knowledge of ETL tools like Apache NiFi or Talend can be benficial.

(4) Database Management:  Strong expertise in database management is essential. The consultant should be proficient in working with relational database such as PostgreSQL, MySQL or Oracle. They should have experience in designing and optimizing database schemas, writing complex SQL queries, and ensuring data consistency and integrity.

(5) System Architecture and Design: The consultant should possess a deep understanding of system architecture and design principles. They should be capable of designing scalable, reliable and maintainable software solutions. Familiarity with architectural patterns like micro services, event-driven architecture, and Restful APIs will be advantageous.

(6) Data Security and Privacy: Understanding data security and privacy considerations is vital. The consultant should have knowledge of encryption methods, data access controls, and compliance regulations such as GDPR or HIPAA. They should be able to implement appropriate security measures to protect sensitive data during transmission and storage.

(7) Testing and Quality Assurance: Strong testing and quality assurance skills are necessary to ensure the reliability and accuracy of the synchronization system. The consultant should be experienced in test- driven development, unit testing, integration testing, and performance testing. Knowledge of testing frameworks like JUnit or Mockito is beneficial.

(8) Documentation and Communication: Effective communication skills and the ability to create comprehensive technical documentation are essential. The consultant should be able to articulate complex technical concepts to non-technical stakeholders. Clear and concise documentation will aid in knowledge transfer and future maintenance of the software solution.

(9) Project Management: The consultant should have experience in managing software development projects. They should be adept at gathering requirements, creating project plans, estimating timelines, and coordinating with stakeholders to ensure timely delivery of the synchronization system.

(10) Problem-solving and Troubleshooting: Strong problem-solving skills are crucial to identify and resolve technical issues that may arise during the development and deployment of the synchronization system. The consultant should be resourceful, analytical, and capable of troubleshooting and debugging complex software applications.

(V) LOCATION: Remote

DELIVERABLES.

(1) System Design Documentation: The consultant will provide a comprehensive system design document outlining the architecture, components, and integration approach of the data synchronization system. This document will serve as a blueprint for the development and implementation phases.

(2) Software Solution: The consultant will develop a functional software solution using Java and the chosen data streaming API. The solution will include the necessary components to synchronize data from the 19 facilities to the central server. This will involve implementing data ingestion, transformation, and transfer mechanisms.

(3) Data Mapping and Transformation Rules: The consultant will define and document the data mapping and transformation rules required to ensure seamless integration between the data structures at each facility and the central server. These rules will facilitate accurate and standardized data synchronization.

(4) Synchronization Mechanism Implementation: The consultant will implement the data synchronization mechanism using the chosen data streaming API. This will involve configuring the necessary connectors, setting up message queues or topics, and establishing reliable data transfer processes.

(5) Error Handling and Logging Implementation: The consultant will incorporate error handling mechanisms to identify and handle data synchronization failures or inconsistencies. They will implement logging and monitoring capabilities to track synchronization activities, detect errors, and provide comprehensive error reporting.

(6) Testing and Quality Assurance Reports: The consultant will conduct rigorous testing of the synchronization system to ensure its reliability, accuracy, and performance. They will provide test reports documenting the test cases, test results, and any identified issues or bugs. These reports will demonstrate the quality and robustness of the software solution.

(7) Documentation: The consultant will create comprehensive documentation covering various aspects of the synchronization system. This documentation will include system architecture, configuration guides, deployment instructions, data mapping rules, and troubleshooting guides. It will serve as a reference for future maintenance and support.

(8) Knowledge Transfer Sessions: The consultant will conduct knowledge transfer sessions to the organization’s IT team, sharing insights and providing training on the synchronization system’s operation, maintenance and troubleshooting, These sessions will empower the organization to manage and support the solution effectively.

(9) Project Management Updates: The consultant will provide regular project management updates, including status reports, progress updates, and risk assessments. This will ensure effective communication and alignment with the organization’s project stakeholders.

(10) Post –Implementation Support: The consultant will provide post-implementation support to address any issues or question that may arise after the synchronization system goes live. They will offer assistance and guidance during the initial phase of system operation to ensure a smooth transition and optimal performance.

(V) Time/Duration
Provide an estimate for how long it will take to start and finish the project.

The proposed start date for the assignment is 10 July, 2023

(VI) Reporting
This position will report directly to the HI Associate Manager KPCARE 1 project. Interested and qualified Consultants should submit a detailed resume to bids.kpcare1@heartlandalliancenigeria.org

Note that all reports for this project are expected on or one week after job completion.

(3.0) OBJECTIVES

RFP Timeline

RFP Issued2 week (June 13-28, 2023)
Respondent Questions DueJune 23, 2023
Answers to QuestionsJune 24 -27, 2023. Send to HALG_Procurement@heartlandalliancenigeria.org
RFP DueJune 28, 2023 (11:59) om Nigerian Time

Any proposal received after the stipulated time may not be accepted and shall be considered non-responsive.

HOW TO APPLY
Interested organizations who feel qualified are to submit the following documents:

(1) Organizational Capacity Statement clearly stating the firm’s ability to conduct the assessment and the capacity of the firm to dedicate resources needed to provide the services requested. All write-ups should be font-style Times New Roman with single line spacing.

(2) Organizational Profile: Provide an overview of the Proposer’s company including the range of services offered by the Proposer, years in business, number of employees, and a brief company history.

(3) Updated CVs of Key Personnel showing experience in similar roles as specified under the required qualifications and skills.

(4) Experience and Qualification Statement: Submit a list of clients that similar services have been provided for in the last three-five years. Provide contact persons, position, email address, phone number, and dates of service.

(5) References: Submit 3 Reference Letters from past clients.

(6) Submit Proposer Contact Information including all legal registration documents (CAC Certificate, CAC FORM C02 and C07, Tax Clearance etc.)

(7) Cost: Submit the cost of project execution.

Best, value selection will be based (30%) on price, (40%) on past performance (30%) on technical approach.

The submission should be sent to Bids.kpcare1@heartlandalliancenigeria.org quoting – Software Developer Consultancy” as subject head on or before June 28, 2023 (11:59) pm Nigerian Time.

Only shortlisted organization will be contacted