No, I disagree.Angus French wrote:Surely the first thing to do is to establish the need (or not) for monthly publication of grades.
The first question to ask is something along the lines of "Is the current system fit for purpose?". If the answer is "Yes" then, as the old saying goes, if it ain't broke don't fix it.
Were the ECF a business (Oh, hang on ...!) the analysis would be fairly straightforward and go something like this:
The ECF's main "customers" are ordinary club players and the "product" is the grades and the grading system.
The calculation and storage of grades has been automated using a computer program and associated relational database which minimizes work in that area.
The collection and entry of data is manual with unpaid volunteers collecting and sending the information via email to one individual who validates the data and enters it into the system by hand.
This is labour intensive, relies heavily on the goodwill of an army of volunteers, is inflexible and is highly vulnerable to, on the one hand, the availability of volunteers and, on the other, a change to the relatively static "customer base". If volunteers start giving up, retiring or passing away then this will cause a crisis. If there were to be a massive surge in player numbers and / or games played without a corresponding increase in volunteer work then again there would be a crisis.
In other words the current system is designed for stasis and failure.
Then would come a systems analysis of what is there, what its shortcomings are, what is needed and how to get there. A much cut down version could look like this (and not being an insider this could easily be wrong):
Currently there is a backend consisting of an Access relational database with a VB6 program for manual data entry and calculation of grades.
There is a frontend consisting of a website which provides
1) capability for manual dowload of member details for all recorded members to provide volunteers with the backend data they require in zipped Excel format.
2) search facilities to allow members to see grading history and club affiliation for all members.
The main weakness of the current system is the manual collection and entry of data along with the single, human gatekeeper. When he is sick or on holiday data validation and entry stops (as happened recently!). The primary aim should be to automate this as much as possible. Many clubs and leagues already have software, in the form of league management software, which does much of the work.
The first step should be to automate validation and data entry to use data already entered and partially validated by existing LMS systems. On the server end something like an HTTPHandler to accept Xml data files posted to the server. These would be validated, processed and archived with error records recorded and flagged for administrator intervention. This should start to reduce the manual labour involved.
Since many clubs and leagues and possibly congresses won't have an LMS the ECF should provide an LMS with the appropriate ECF interface, either custom built or off the shelf. Ideally this would be free to clubs and congresses. Once this is universal the additional manual work in getting results into the system will be minimized.
As long ago as 17 years ago Microsoft were saying that their MS Access database was not suitable for multi-user applications because, in effect, it was not fully thread-safe. At the time they provided a free database engine called MSDE (MS SQL Server Data Engine). This meant that there was no excuse for using Access instead of MSDE. Today (and for something like the last 10 years or more) Microsoft give away SQL Server Express which allows databases up to 10 GB. Given the ease with which an Access database can be migrated to SQL Server (a few clicks in the DB management GUI - also free) there is no good reason to cling to a database which MS say may crash or give unreliable results if more than 5 simultaneous accesses are made of if high frequency access is made.
The grading database should be migrated as an urgent priority to a more modern and robust database engine.
VB6 is even more out of date and unsupported than FoxPro. The grading database code should also therefore be migrated as a matter of urgency.
Once a more robust backend is in place more advanced "data mining" features can be considered and implemented in the frontend without risk of crashing the brittle backend.