// Taffy – A Task Automation Framework in C#

Overview

Taffy* is a generalized front-end framework for the C# programmer to leverage in automating multi-step user processes.  Examples would be a process to screen securities or a process to generate an up-to-date Word document or PowerPoint presentation.  The objective is to reduce manual effort and error incidence in user workflows thus improving cycle time and output quality.

For the programmer, Taffy provides pre-fabricated structure for automating and integrating tasks which otherwise would be performed manually and discretely.

For the end user, Taffy provides specific points of control for configuring how the process should run and detailed status and exception reporting for monitoring how the process did run.

Motivation

I frequently work with smart power-user types such as financial analysts, investment analysts, portfolio managers, and engineers.  Often these domain experts are running  multi-step analyses and workflows with the tools at their disposal.  However, they usually lack (understandably) the technical skills to integrate the components effectively, to make the overall process acceptably robust, repeatable, and scalable.

What happens in these cases?  The user, and the organization, gets by, making do with  sub-standard procedures and ad hoc interventions to keep things running.  There is nothing unusual here, to be sure, but the “stealth” costs of these types of processes can be striking, at least to this observer:

  • large sums of valuable brain power squandered in activities such as manual data entry, run-time babysitting, and one-off report formatting
  • significant, and poorly understood, operational risks accrued by the organization over time as it comes to rely on a suspect process and potentially erroneous output

A running theme in my work has been embedding customized automation routines within a larger application to address these types of situations.  Taffy is meant to be a more generalized solution to the problem, providing the software scaffolding which puts the workflow front and center.

Features

Taffy provides infrastructure for automating tasks such as:

  • retrieving data from web resources
  • performing computations by automating Excel
  • updating local databases and files
  • generating documents and presentations by automating Word and PowerPoint
  • any other task that can programmed in or called by C#

Taffy provides a generalized UI for showing detailed status and exception information as tasks are in progress–good for making power users self-sufficient.

Taffy provides a framework for generating detailed log information in the background–good for quick troubleshooting by the admin or programmer.

Example

An example of using Taffy would be a security screening scenario, wherein, for a universe of securities, you need to update prices, run custom computations, store results in a database, and finally construct one or more reports.  Whether you need to do all of this in near real-time or after each trading day, having a way to automate and integrate these tasks, and run them with confidence, would be handy indeed.

Details and screenshots for this security screening example are here.

Development Road Map

Current priorities are:

  • Building out Excel integration functionality

*Task Automation Framework For Y’all