Technology - Java/ Salesforce application developer for Grameen Foundation's CKW Program
Summary
GF is looking for a volunteer with java and/or salesforce Apex development skills to work remotely with our dynamic technology team on the design and development of a new version of GF Community Knowledge Worker (CKW) application for the “Field Force Innovation project”. CKW application integrates mobile phone applications with GF’s salesforce.com database.
Background
Grameen Foundation empowers the world’s poorest people to escape poverty through access to financial services and practical technology. Founded in 1997 Grameen Foundation’s innovations, programs and resources have helped more than 45 million people in Sub Saharan Africa, Asia, the Arab World, and the Americas to begin their journey out of poverty. With microfinance and technology as our foundation, we connect people and local institutions across the globe that share our vision of shattering the barriers for the billion people trying to live on less than a dollar a day.
GF has developed the concept of “Community Knowledge Worker” (CKW) in Uganda. This worker, a trusted intermediary in a rural village, helps to overcome language and literacy barriers which frequently limit the potential of mobile phones in overcoming the “digital divide”. Equipped with a mobile phone, this CKW serves as a channel for disseminating information to poor people in rural communities and also collecting information so that government, NGOs and private sector companies can better meet their needs. The CKW solution integrates mobile phone applications with GF salesforce.com CRM database to enable streamlined management of field projects and high quality measurement and evaluation capabilities.
The Field Force Innovation Project is comprised of integrating mobile phone applications with GF’s Salesforce database to enable streamlined management of field projects and high quality measurement and evaluation capabilities. The mobile applications are focused on data collection, information dissemination, field worker management, and reporting. The project is an extension of the ongoing Community Knowledge worker (CKW) work in Uganda where GF first implemented Salesforce.com in the field. As such, the project plan utilizes phases to adapt the applications being developed in Uganda for different field projects, developing a technical platform integrated with Salesforce that is useful in a variety of geographies and types of fieldwork. The applications developed in Uganda under the CKW program include:
• ZEBRA: Survey Application for data collection - The purpose of the survey application is to gather survey data from interviewees in different focus areas. The solution running the surveys on a mobile phone is Open Data Kit (or ODK). ODK is an open source application built in Java for Android, and is very powerful on the mobile side, and is easily adaptable to a range of regional and topical areas. The survey content and results are housed in Salesforce.com.
• OCTOPUS: Information Dissemination Application through search/query – This application provides access to structured data and other sources of content via mobile phones. It enables users to submit a query using a keyword based menu wizard to select the criteria of interest and return structured and edited content back.
• PULSE: Field worker management application – Pulse enables the management of field worker activities from Salesforce.com through the ability to track activities, targets, and payments. GF is also exploring how to incorporate social networking use cases with the CKWs, which will require a review of Chatter functionalities.
In order to implement its plan of adapting the above applications and Salesforce integrations for use with a wider variety of field projects, the Field Force Innovation Project is utilizing a phased approach to selecting the most applicable features, scaling the most successful use cases, and testing outside of the CKW program. The three main phases of this project are:
• Phase I - Analysis:
- Assessing the common business needs and challenges of other field programs (Indonesia and Ghana) related to: Asset Management (smart phones), CKWs Management, Beneficiary Management (entrepreneur, farmer, job seeker, nurses), Survey Management, Performance and Payment, Evaluation and Metrics, Messaging and Communication, etc.
- Reviewing, evaluating and selecting the generally applicable components of CKW features that address the needs identified above
• Phase II - Design and Development:
- Designing, developing and testing CKW general application
- Developing data integration, reporting and dashboard functionality
- Developing local content for a new technical area (other than agriculture and farmer), for e.g. Health, or jobs matching
• Phase III – Deployment and Testing:
- Adapting and testing the general application and Salesforce integrations with other field programs at GF
- Documenting the solution, lessons learned areas for future enhancement and scaling methods and sharing it with a wider audience of field programs.
Challenge
GF seeks to pull the successful custom coding and configurations coming out of the CKW program into a larger information management platform that is applicable to other GF’s field programs in Indonesia and Ghana. The CKW development team needs volunteer’s assistance to design and develop the new version of CKW.
Project Description and Objectives:
The volunteer shall:
- Interpret specifications and designs as provided
- Translate such specifications into appropriate, high quality and documented programs/applications, on time, for Grameen Foundation
- Adopt Grameen Foundation development processes, best practice methods, tools and coding guidelines
- Successfully communicate with the development team throughout the development process aid in code reviews of developer code and provide feedback/recommendations
- Offer input in planning, brainstorming, specification and resource estimation processes prior to development
- Aid in deployment and technical support of developed systems and applications
- Beware of current trends and techniques in the chosen tools, platforms and technologies
Volunteer Deliverable:
Time Line:
The project will conclude by the end of August, 2011. The project can be done remotely at the volunteer’s premise.
Volunteer Requirements:
- Knowledge of Java (required)
- Familiarity with system specification and design as well as various development processes and paradigms (required)
- Familiarity with Test Driven Development (+)
- Familiarity with Junit (+)
- Knowledge of Salesforce Apex Programming (+) preferred
- Mobile application development (+)
- Programming in a team environment
- Source/code control (+)
Database Skills
- SQL Knowledge (Required)
- Familiarity with Mysql and MSSQL (+)
Tools
- Eclipse
- Tortoise SVN (+)
- Familiarity with project management tools