I have had an interesting two or three days of adjusting to “return jet lag” after a wonderful experience in Mumbai for the ERPNext conference. I have some wits to continue the work we began in earnest regarding AgriNext. After reading the entire thread so far, let me begin with a quote by an Economist:
Section 5 (V)
If we can agree that the economic problem of society is mainly one of rapid adaptation to changes in the particular circumstances of time and place, it would seem to follow that the ultimate decisions must be left to the people who are familiar with these circumstances, who know directly of the relevant changes and of the resources immediately available to meet them. We cannot expect that this problem will be solved by first communicating all this knowledge to a central board which, after integrating all knowledge, issues its orders. We must solve it by some form of decentralization. But this answers only part of our problem. We need decentralization because only thus can we insure that the knowledge of the particular circumstances of time and place will be promptly used. But the “man on the spot” cannot decide solely on the basis of his limited but intimate knowledge of the facts of his immediate surroundings. There still remains the problem of communicating to him such further information as he needs to fit his decisions into the whole pattern of changes of the larger economic system.
The quote is by Mr. Friedrich Hayek, recipient of the Nobel Memorial Prize in Economic Sciences in 1947.
We are obviously not going to solve every farmers specific problem, but I believe we can safely attempt to empower a number of farmers to promptly use (benefit from) the knowledge of the particular circumstance of time and place that they face. As time goes on and modifications are made to the software, more farmers will benefit from this.
I grew up in a farm in a country outside the United States, and have studied farming in the US. I have experienced large scale farming and production processes and have also witnessed first-hand subsistence farming and its delivery processes to market, both in my latin american country of origin, and by speaking with farmers in USA, Africa, Asia, Europe and the Caribbean. Yes, I know about many crops, but will never know about all crops and all circumstances of every farmer anywhere, nor will never pretend to know everything there is about agriculture.
What I have learned so far is that every farmer aims for at least one goal:
- To have a successful crop that will at the very least, put food on his table for himself and his family.
A secondary and obviously more enriching goal, is to have enough surplus production to sell to a buyer.
So if we can agree with these goals, and the fact that all centralized solutions will never solve all problems, we can then agree that what the initial proposal for the AgriNext module is aiming for is to aid in this matter.
@rmehta, at the ERPNext Conference 2017 clearly asked the community to work on incremental modifications to the core. The model proposer is an initial exercise and clearly this will need improvement. Your opinions will be taken into consideration. The point is to start with something basically useful.
I now proceed to quote and voice my opinion on some items that have stood out:
@becht_robert
Just creating a large series of docs will not do the job, I am afraid…
Of course not! However, this is an initial exercise, consulted with someone who is a farmer (that would be people from the Center for Sustainable Agriculture in India, @ravigokhale, and myself ). I sat down on monday with Ameya for at least 6 hours and showed him how I approach farming. He showed me some of the work proposed by the CSA and we were delighted to agree on many areas, thus we are proceeding.
Of course farmers should be at the first place to guide this process…However, an individual farmer may concentrate on what he needs, and may forget the needs of an other farmer. There farming business is no different then any other business…
Understand, no one, including me is perfect. I will surely overlook the needs of other farmers of crops I don’t even know about. But as this is a collaborative project, it is perhaps best to propose something useful, and then those farmers who have specific needs are responsible for proposing improvements or customizing their implementation to their needs.
Why do we all use and love ERPNext? We perceive the benefits of using it to be more than the defects it might have out of the box. It’s highly customizable architecture allows us to implement things we want for ourselves on the fly. Furthermore we have hope that as time goes by, things will improve to our liking. But expecting ERPNext to do everything for us as we exactly like it, without contributing the solution ourselves, is pure folly. How can the software do what I want it to do, if I don’t program it myself?
The list that has disappointed you is refering to collegues inside the building…That never have been farmers but do have ideas how farmers produce…
Yes, many programmers inside the building do not know about what happens in the field. This is why I placed the quote above. We are well aware of this. And, as a farmer myself, I cannot be expected to know what every other farmer on the planet will be doing. It is impossible! I was not aware of your specific work in Kenya, until you shared it. It would be great to incorporate some of this knowledge that can be used by farmers in general, in their localization.
It should be defined what exactly we want to achieve…Just archive farm environmental & production data, do better accounts by taking into consideration all production cost, or manage the farm better…??
In my opinion, all goals are important. And there is an order I believe and have theoretical and empirical proof that works, regardles of the industry you operate in:
- All farmers at some point will want some economic benefit from their farming enterprise.
- To get this benefit, the farm must be managed in the necessary and sufficient manner to accomplish this economic benefit.
- Having sufficient data at the right time and in the right manner, will help make better decisions that enhance the probability (but not guarantee it!) of an economic profit. (This obviously includes gathering and reviewing such data with mobile devices)
A small farmer may use traditional or ancestral methods of gathering information about his environment to correctly manage his crops. (For example, here in Guatemala, 40 days before rainy season begins, migratory falcons fill the skies as they fly north. Local farmers or farm caretakers use this as empirical evidence of the approaching rain, and adjust farming activities accordingly). A large farmer uses more “sophisticated data” such as temperature, dewpoint, PAR light, etc.
Should I impose my “migratory bird sighting metric” on the whole ERPNext community? no! it is irrelevant for many. Sure, I can customize a field and gather this data in a “scientific” manner, but this is a particular piece of information for me. Perhaps others might benefit in the region, but still, not all farmers use this. Ultimately, I am responsible for its implementation. ERPNext gives us this capability.
Should we use some standard farming metrics such as Temperature, Humidity, rain amount, PAR light, and other metrics (soil saturation, etc.)? I believe the scientific measurements are crucial, but then again not all of them are common: I have only begun using PAR sensors recently, for example.
Starting with a basic set of fields to gather, as observed from other farming activity software and agricultural engineers, is necessary, but the basic fields we choose will never be sufficient to all. Clearly, most of the users of ERPNext in our business don’t use ALL of the DocTypes and fields. Accounting (so far) is not interested nor understands how to prepare a planting matrix for crops. And Sales does not care or does not use our Accounting module (in our case). So, the problem of “adoption” is solved by which DocTypes those in the field use. Perhaps only a rain measurement or date of measurement are easy to understand and capture for someone in the field, but expecting all field operators to manage the data analysis of moving averages and probabilistic data for historical rain measurements that he has written down manually for 10 years is a tall order. Instead, this person who manually captures rain data can be expected to access the DocType where he simply writes the numbers down like if calling a number on his smartphone (and almost 95% of the population where I live now has a smartphone!).
The beauty of ERPNext is that with the functionality built in, a user can figure out how to customize it for his specific application with the basic data types to be captured. This, I believe is where the line is drawn between what the core does, and what users and implementers do.
I propose that instead of getting into traditional farmers arguments, the old topic of “farming is different everywhere” and “no one will tell me how to run my farm” or “farmers will not adopt this”, we focus on the basic aspects common to all, adding those aspects which have proven successful in the long run.
I was pleased to see many similarities stand out in our discussion with @codingCoffee and the needs proposed from the CSA in india. As an example, India and Guatemala commonly do tests such as
-
Water analysis
-
Soil texture analysis
-
Soil Nutrient Analysis
-
Plant or foliar analyisis
Some might argue that the “small farmer” will never have access to this. But CSA and cooperatives here in Guatemala routinely provide these services in a cost effective manner to farms that supply produce to them. This is why we considered them important to keep track of.
Proposal for a disciplined approach
I personally proposed that ERPNext include a disciplined approach to this: being able to register test results for specific dates. Think about how we do most of the things in ERPNext: We have a series of N doctypes with a date stamp, this is extremely useful for finding patterns in data. Thus, the same should be done with analysis. Even if the farmer, out of his own individual independent will, has only done one or none of these. If the farmer does not want to be told by a program how to do things, then he should just ignore it. But for those who want to see an alternative that might work, this disciplined approach has worked for me and others I know.
During my years working in a medium scale farming operation, I saw that these tests were done at random. The confusion about what fertilizer to apply, in which amount, or which labor activities to do when, was rampant. I stopped this by setting dates to routinely do these analyses, and in the same areas. We monitored closely the changes to the crop, soil and water (Increase or decrease in specific parameters). The results, after 4 years of quarterly data, led us first to reduce fertilizer application without sacrificing the nutrients (a $400K savings per year!!!). Then, each analysis cycle, we made a decision of how to modify the application quantities, methods, cycles in such a way that we stabilized critical factors in the soil such as pH, and crop specific nutrients and balances. This data was thus graphed, and decisions were made much more confidently and easily, maintaining crop health, while reducing cost. These methodologies were taught to the managers and sub-managers in the field, and they know how to graph this. Field operators capture the data in the format they are given.
So, gathering analysis data is necessary, but not sufficient. You must also consider yields for the crops, and yield per logical area of production is one key driver. Sure, you can produce increased amounts of, say, corn each year at a farm level. But what if your entire farm is divided into four plots? How each plot performs due to location, slope, etc. is crucial. Any farmer will tell you that no plot is the same. What if you work each one differently? What if plot A requires a bit more Nitrogen fertilizer than plot B. What if you discover that adding Gypsum to one plot increases its yield, but the other plot does not benefit from such application? Registering this data is crucial. You can make decisions that impact your production amount, and thus your economic profit, considerably. It is important to keep track of what happens to the parcel, plot or whatever you call the physical area that contains soil or other substrate material where you grow your crop or feed/work with your livestock.
(While we are at it, may I ask that we please stop taking offense of the names of data fields or our “physical areas that contain soil or other substrate material where we grow our crops, or feed/work with our livestock”? It is obvious that we all call them differently in our corner of the world, but the fact remains that some plant or animal material is placed in some sort of growth substrate, be it soil or inert material and that we expect this to increase in weight or change its characteristics from a seed to a full grown mature plant from which we expect to harvest something of economic benefit for the owner or caretaker of said material)
So, if we take a disciplined approach to data gathering, sophisticated (Raspberry Pi, sensors, etc.) or empirical (bird sightings, manual rain gauge observation and recording, we all agree that some data should be gathered, it should be in ERPNext, and it should have the flexibility (which it already does) to create these DocTypes. The trick then is to configure some basic reports to provide an instant analysis of this data, and then at some point in the future be able to correlate with tasks to be done for the crop cycle or plot of land.
In my experience, whether it is on a paper notebook by hand, or a computer or mobile device, those farmers who are aware of what goes on by writing down environment data, tasks done to crops or animals, and profit and loss information, usually thrive, because they can see patterns and their relationships: It is obvious that after intense rainfall, many small farmers might lose their crops. They know the economic impact. A larger operation, such as a medium sized business or a cooperative, begins to lose some track of this. AgriNext can help small farmers and larger ones alike by providing something that integrates this data and presents it to them so they can make decisions based on more and hopefully sufficient data available.