Communicating the goal of the script
Clear communication on what the script should accomplish is critical to a successful script writing process.
If you already know what the script should do, please provide an initial writeup/spec of what you would like the script to do. The clearer your instructions the better. Most specs include annotated screen shots. Then schedule a meeting with me to go over your requirements.
A complete specification should include the following. If you are unsure of any of these items, provide an initial writeup and we can discuss the details in a meeting.
- What you want the code to do. What records/data will it create, update, or delete?
- Which fields contain the input data, and what calculations should the code do?
- How the code will be run (e.g. button field, Scripting App run button, automation action script, custom app, etc.)
- Will the code perform tasks for a single record or all the records in a view?
- For Scripting App, what output do you want to see within the App itself?
Sharing You Base
I do all of my script development in a personal copy of a base that you provide. You will add me as a read-only collaborator to your base, and I will make a copy of that base to work in.
Working in my personal copy of your base does the following:
- Provides me with the exact tables and fields for your base, including the exact names and field types.
- Provides me with data to test the script to ensure that it does what you want.
- Protects the data in your actual base from any inadvertent changes before the script is perfected.
You can share either a simplified version of your base or the actual base itself. I will not be making any changes to the base you share without prior agreement.
- A simplified/scrubbed version of your base. You can remove any tables or fields that do not affect the script. You can also scrub the data to remove anything that you are not comfortable sharing, as long as I have enough sample data to work with, including any edge cases.
- Your actual base. If you are comfortable with me having access to all of your data, this method is simpler. I will keep all of the data confidential and only use it for writing and testing the script.
Note that if you want the script to handle any particularly unique cases, those cases must be included in the provided base and clearly indicated in the specification.
Script Approval, Payment, and Delivery
Once the script is written, I will give you a walk-through of running the script for your approval the output of the script. Depending on the scope of the script, the walkthrough can be a video or a live meeting.
Payment in full is due after approval and prior to delivery of the script.
After I receive payment, I will give you a link to the development base for you to make a copy. You can then copy the script to your production base. Please promptly make a copy of the base and ensure that the code is available, as I delete development bases after the project is complete.
On larger scripting projects, additional deposits and payments may be required based on milestones.
If you would like to work on alternate arrangements for script development, schedule a meeting and we can discuss terms.