The first step in any Professional Services project is to create a requirements document that defines what the deployed solution must do. The document should include specific use cases that describe the workflow to be automated, including how to handle failures. A clear, detailed requirements document is essential to a successful, on-time, under-budget deployment.
The requirements document need not be formal nor does it need to include diagrams or drawings. Often, a simple walk-through of the process is sufficient. Start with the simplest explanation of the workflow you can put in words. Then, go back and fill in the details.
For example, you might start with a requirement like this:
Zip up all the files in a local folder once a day and upload the zip file to a remote server.
You now just need to fill in the blanks, such as:
- Should the zip file include the parent folder, or just the files inside the folder?
- What should we do with the files once we have created the zip archive? Should we move them somewhere? Delete them?
- What should we do with the zip file once we have uploaded it? Move it somewhere? Delete it?
- What should we name the zip file?
- When should the process be scheduled? What time? What days of the week?
- What should we do if there are no files inside the specified folder?
- What is the full path for the folder in question?
- What are the connection details for the remote server (protocol, user name, password, etc.)?
Your next draft of this requirement might look like this:
Create a zip file named MM-DD-YYYY.zip (replacing MM, DD, and YYYY with month, day, and year) that includes all the files in C:\uploads\ at 3pm, Monday-Friday, and upload the zip file to someserver.com via SFTP (user: myuser, password: mypassword). The zip file should include just the files inside c:\uploads\ and not the folder itself. Delete both the original files and the zip file when the upload is complete. There may not be files every day, so if the folder is empty then just exit and run the next day.
It is typical to go through several iterations of this process to come up with a description that eliminates all ambiguity.
Remember: When you pay for Professional Services, you are paying for hours. While we work hard to make our estimates as accurate as possible, you will be charged for the actual time needed to complete your project. The best way you can help ensure your project is completed within the time budgeted is to create a complete, clear, detailed requirements document.