Development of Prototype Computerized Management and Member Information System Jarmo Juga a, Jussi Puhakainen b, Pasi Malinen b and Jussi Nissilä b a FAO/ESWD, Viale Terme di Caracalla, 00123 Rome, Italy, jarmo.juga@fao.org b Turku School of Economics, Rehtoripellonkatu 3, 20500 Turku, Finland, jussi.puhakainen@tse.fi, pasi.malinen@tse.fi, jussi.nissila@tse.fi Abstract Marketing of farm products and buying inputs for the production are among the biggest challenges for small-holder farmers. Farmers have often founded co-operatives or producer organizations to assist them in achieving the highest price from the market and paying the lowest price for the input. Agricultural cooperatives and producer organizations have a long and successful history in many developed countries in finding the market and the best price for the products. They have an important role to play also in developing countries in improving the economics of their members. An efficient management and administration of the organisation is a prerequisite for a high quality service. For many producer organizations a computerized accounting and resource management system would help the managing team to run the company more efficiently and enable a better governance of the organisation by the owners. This article presents a project of developing a prototype of computerized management and member information system. The aim of the project is to enhance the capacities of agricultural co-operatives and producer organisations in developing countries by improving their business efficiency and competitiveness in national, regional and global markets through the development and dissemination of a low-cost and marketable computerised management and member information system (MMIS) for global use and further development. The low cost and high quality will be achieved by working under open source (OS) license, which enables all interested parties to join the user and development community for the benefit of smallholder farmers in developing countries. During the first phase the existing OS Enterprise Resource Planning (ERP) software projects have been analysed to evaluate the state of the art of OS ERP software development and the possibility of using any of the existing ERP software as such or as a starting point to further development. Simultaneously to the benchmarking of ERP projects a general framework for the functional design of the software has been developed. The second phase includes the technical specification and the programming of the software. During the third phase the software will be tested on pilot cooperatives in Kenya and Viet Nam. This paper focuses on the project description and the first phase results from the benchmarking and the functional design. Key words: computerization, agricultural co-operatives, business management, open source
1 Introduction Farmers have often founded co-operatives or producer organizations to assist them in achieving the highest price from the market and paying the lowest price for the input or to provide high quality and low cost services. Agricultural co-operatives and producer organizations have a long and successful history in many developed countries in finding the market and the best price for the products. They have an important role to play also in developing countries in improving the economics of their members. An efficient management and administration of the organisation is a prerequisite for a high quality service. For many producer organizations in developing countries a computerized accounting and resource management system, which is a normal practise in developed countries, would help the managing team to run the company more efficiently and enable a better governance of the organisation by the owners. Food and Agriculture Organization of the United Nations (FAO) has established a project with funding from the Government of Finland and in collaboration with Agriterra from the Netherlands and KENFAP in Kenya to enhance the capacities of agricultural co-operatives and producer organisations in developing countries by improving their business efficiency and competitiveness through the development and dissemination of a low-cost and marketable computerised management and member information system (MMIS). The low cost and high quality will be achieved by working under open source (OS) license, which enables all interested parties to join the user and development community for the benefit of small-holder farmers in developing countries. COOPWorks 1.0 is part of a computer system that is designed for producer organizations and agricultural co-operatives. COOPWorks is free software and anyone may use it without having to pay fees or licenses. The 1.0 version was developed in a joint programme of the Ministry of Co-operative Development and Marketing (Kenya) and FAO ( www.coopworks.org ). The aim of the current project is to produce an updated version of the COOPWorks, which will utilize more efficiently the possibilities of open source ideology, is scalable to any size of co-operatives (small medium size large) and can be used in a variety of countries (easy to translate and customize). The software will have a modular structure, which enables the use in a variety of co-operatives for different products (milk, pork, coffee, tea, fruits) and make it easy to add a new module for a new product environment. The aim is also to build a user and developer community, which can further develop and update the software and support the co-operatives in its use. During the first phase the existing OS Enterprise Resource Planning (ERP) software projects were analysed to evaluate the state of the art of OS ERP software development and the possibility of using any of the existing ERP software as such or as a starting point to further development. Open Source ERP software have been analysed before, e.g. Herzog (2006), but since the development of this sector is very fast and the open source accounting and ERP software projects quite recent we decided to carry out a new review. Simultaneously to the benchmarking of ERP projects a general framework for the functional design of the software has been developed. The second phase includes the technical specification and the programming of the software. During the third phase the software will be tested on pilot cooperatives in Kenya and Viet Nam. Senyard and Michlmayr (2004) point out that the quality and suitability is achieved through an elaborate peer-review process performed by a large community of users. This is why we will split the project between two countries, even though we understand that the large community can be established only with time and not within the current project period. The aim of the paper is to describe the project and the project goals and to summarise the main results from the benchmarking.
2 Selection criteria of projects The benchmarking was carried out by Turku School of Economics in Finland for FAO. The purpose of the benchmarking was to identify related projects, analyse of scope, functionalities, and modules of each project and list the main differences compared to COOPWorks 1.0 and analyze the quality and size of the OS community of each project. This was done to analyze if CoopWorks project could be merged with another OSS project in order to gain additional community resources, high quality software modules, and other synergies. We used two specific methods to identify projects to be analyzed further in the study. Firstly, we identified OS project in the Sourceforge.net OS project base, which is the most common project base for open source projects. Secondly, we used personal interviews with OS experts, discussion forums, and Internet searches to identify the most relevant, popular, active and suitable projects for further analysis. After listing all the potential OS projects, we chose several projects for further analysis based on the following criteria: - General resemblance to COOPWORKS functionalities (pure CRM and basic accounting left out because of this) - Configurability of software - Operating system (multi operating system solutions preferred) - Language support and options - Scalability and technical requirements - Simplicity; too many features seen as a drawback - Flexible upgrades pros/cons - Support (community-based vs. commercial, pros and cons) We automatically excluded projects, which did not have a sound community to support them, differed too much from COOWorks functionality (CRM etc.), were Meta-projects and alpha-stage projects or had nonconfigurable software and hard-to-configure software. 2 Project analysis After careful analysis we chose a group of software projects for further analysis. The analysis included scope, functionalities, modules of each project and a list of the main differences compared to COOPWorks. We only listed the key issues on each project. Table 1 illustrates community-activities in different projects compared to each other. We also analyzed the quality and size of the OS community of each project. The results of the analysis showed that the properties varied quite a lot between the different OS projects. The properties reflect very much the needs and interest of the founding member of the project and hence the main focus might be on accounting, ERP functions or CRM. Human Resources Management (HRM) was left to vary basic in all products analysed. All analysed software fulfilled the basic accounting needs and followed the international auditing standards so it is merely the additional properties, which will guide the selection of the software. Also the technical choices might play a role, if one wishes to choose a certain operating system and database. The end user, who has often very limited computing background, might not consider the technical platform important if the system comes as a fully installed package. When they gain experience in computing, the platform can play a bigger role, however, since the end user may wish to use the system for other computing as well. Thinking of integration the COOPWorks to any of the existing projects the functionality of the OS community plays a key role. The time wise bug fixing and support to the software is important as well as frequent updates. The projects did vary quite a lot in the activity level of the community. Many projects were dominated by one single company or person.
Table 1: Descriptive information about selected OS ERP projects. Project Number of developers Number of messages Number of downloads Database Status OS Language Licence Opentaps 5 1500 16500 Various Stable Various Various Various weberp 6 8000 96000 MySQL Postgre Stable Independent Various GPL OfBiz 16? 240000 Various Various /stable Independent Various Apache Openbravo 31 1200 86000 Oracle Postgre Stable Independent Eng, Spa Mozilla SQLledger 15 16000 110408 Perl DBD Stable Independent Various GPL Adempiere 29 770 14400 JDBC Beta Various Various GPL Compiere 63? 1150000 JDBC Stable Various Various GPL /proprietary Neogia 26 2500 11600 JDBC, others Beta /stable Independent Various GPL Often the development of OS ERP software is carried out by a company who wishes to release the basic version as open source, but the more advanced version is proprietary software. However, having a commercial company rather than a loose OS community as a background organisation might provide more reliable and prompt updates and support. 3 Integration of open source projects COOPWorks is a member and management information system software, therefore the core functionalities of the software are member management, and the basic cooperative management functionalities. As COOPWorks is designed to be used in different kinds of cooperatives, the product-related and other cooperative-specific functionalities can be considered non-core, even though they are compulsory for a cooperative to implement the software. There seems to be no commonly available commercial or non-commercial software product that would be designed for cooperatives. Large well-off cooperatives have always a possibility to build custom-made software, but smaller or poorer cooperatives might not have this option, even in a developed country like Finland. A small-business management or ERP software may fulfil some of the needs, but especially member management, and other member-related functions (like banking) are not typically found in these type of software. There are potentially three ways to provide an all-inclusive cooperative information system package including COOPWorks: 1. COOPWorks may be build from scratch, and work as a solitary (self-sufficient) system. 2. COOPWorks may be build using components from existing OS projects as core or extension
modules. 3. COOPWorks may include core modules for cooperative management, but exchange data (inwards and outwards) with external software products (such as financing, or CRM software) Taking in consideration the level of technological expertise in the target cooperatives, it is reasonable to keep the implementation and running of the cooperative management information system as simple as possible. Therefore it is advisable that all the core functionalities would be provided by a single software product option 3 above is probably not the right choice. It would be a good choice if there would be legacy systems which wouldn t be replaced and/or this external software would be required to provide highly sophisticated functionalities. Both options 1 and 2 are viable choices in this case, and they both pose difficult challenges, and on the other hand, some benefits. Developing the software from scratch is indeed quite common in OS community, where there are often several separate projects offering very similar software products. An own solitary project allows choosing the optimal realization of the needed functionalities, and the project is much easier to manage. On the other hand, there is much more work in programming, there is need for a development team that incorporates all necessary skills to develop (design and program) all functionalities etc. Using existing components poses different challenges. It is possible to incorporate existing components into COOPWorks, or build COOPWorks as a cooperative management component into existing (ERP) project. In both cases, it is a challenge to communicate and manage the development together with the other project. In addition, software developers should understand the existing technology, and be able to design modular systems. However, the existing software might be highly usable, and there could be existing community to develop and market the software. The more the target cooperatives differ in size, business domain and business functions, the more challenging it is to design COOWorks in such a way that it would serve these all. If it is found that the business processes of target cooperatives are very different from each other, for example between dairy, and coffee; or traditional dairy cooperative in Kenya and dairy & yogurt cooperative in Tanzania, it is reasonable to assume that each implementation would require profound tailoring of modules. Modularity and customizability are of course solutions to this problem, and theoretically it could be possible to develop a core and required optional modules to support almost any kind of cooperative. This would mean that easy modifiability of the modules and use of parameters would be emphasized. However, the more flexibility and modularity the software is required to have, the more challenging it is to program and the more challenging it is also to implement (because of high number of choices and tailoring). In either case, the software development team should be competent and skilful in the required technologies, techniques, and methods. Especially if building from scratch, and striving for high modularity, architectural design skills are needed. Customizability and use of parameters are also required for internationalization of software. It is therefore suggested that the development team would be trained in the globalization process and related technical skills. This is something that should probably be included in the future training plans. 4 The way forward The advantage of OS depends on the maturity of the project and activity of the community. Existing OS software are inflexible thinking of cooperative management, some are difficult to install and the respond time to queries are sometimes long. This makes it difficult to recommend any of the true OS products as starting points. Since none of the analysed software was superior to other and offered a clear and readily
available solution to the COOPWorks problem we decided to include the results of the analysis to tendering material and leave it to bidders to decide if they want to build on existing OS software or build the new version from scratch. The goal is to produce a high quality product, which has a low total cost of ownership (TCO) to end users. An independent testing and evaluation of the software will be carried out by an external consultant. The bidders should provide full functional software, which specifically takes into account the enterprise resource planning (ERP) needs of agricultural marketing cooperatives. This includes the membership management and manufacturing as described in the general framework of the functional design. The software should also enable easy translation to other languages enabling its use and development in other than Anglophone countries as well. The new software will be running on an OS database and utilising an OS internet server. The software should be scalable to any hardware configuration from a single server to local net. Possible options for installation are Windows-Apache-MySQL-PHP (WAMP) and Linux-Apache-MySQL-PHP (LAMP). These software platforms are cheap in licensing costs and know-how is easy to find, therefore they provide the potential for a large user base. Scalability and multi-platform (both LAMP and WAMP) further maximize the usability. Developing complex software modules for OS applications requires skills and expertise. Developing modules or applications in a way that enables an open architecture requires a base a prior experience in constructing open systems. The opportunity to learn and share what IT professionals know about software system functionality, design, methods, tools and practises associated with specific projects are the greatest benefits that software developers generally find from participation in the OS projects. OS developers organize their work as a virtual organisational form that seems to differ from what is common to in-house, centrally managed software development projects (Scacchi et. al. 2006). This project will start as an in-house model, since the collaborative partners will contract an independent software provider to produce the core software. The contractor should, however, commit to coordinate the developer and user community during the maintenance period and at least for two years after maintenance period and simultaneously positively promote and market the product to potential customers. The wider user base is the only guarantee for further development and support. The biggest risk for the project is that we will only produce a beta version and there will be no development and support available after the project period. The beta version of the COOPWorks 2.0 will be available in early summer 2007. It will be installed and tested on two pilot dairy co-operatives in Kenya. After the successful testing period the software will be translated to Vietnamese and customized to fulfill the Vietnamese co-operative legislation. An additional module (e.g. fruit) to the COOPWorks 2.0 will be produced in Viet Nam. The goal of working in different countries is to enlarge the COOPWorks community and hence the sustainability of the software. 5 References Herzog, T. 2006. A comparison of open source ERP systems. The Institute of Information Systems and Operations of the Vienna University. http://www.big.tuwien.ac.at/research/publications/diplomatheses/herzog.pdf Scacchi, W., Jensen, C., Noll, J., Elliot, M..2006. Multi-modal modelling, analysis and validation of open source software development processes. http://www.ics.uci.edu/%7ewscacchi/papers/new/scacchi-jensen- Noll-Elliott-OSSC05.pdf ) Seynard, A.., Michlmayr M. 2004. How to have a successful free software project. Proceedings of the 11 th Asia-Pacific Software Engineering Conference (APSEC 04) 1530-1362/04.