10. A non-transitory computer readable medium having instructions stored thereon that, if executed by a computing system, cause the computing system to perform operations comprising: storing, in a first area of a memory of a first computer system, a hierarchical data structure including a plurality of activity data items each representing an activity and each having a description and a status, wherein: each activity data item other than a root activity data item is a child of a parent activity data item and represents a subtask of the task represented by the parent activity data item; and the status for each node is recorded in a data field associated with that node; storing, in a second area of the memory of the first computer system, an unstructured set of activity data items each having a description; receiving a user input instructing a processor of the first computer system to associate an activity data item from the unstructured set of activity data items with the hierarchical data structure as a child or parent of one of the activity data items of the hierarchical data structure; receiving from a second computer system an additional activity data item; and storing the received additional activity description in the second area.
15. The computer readable medium of claim 10 , wherein receiving the user input instructing the processor of the first computer system to associate the activity data item from the unstructured set of activity data items with the hierarchical data structure as a child or parent of one of the activity data items of the hierarchical data structure comprises: receiving the user input in a graphical user interface dragging and dropping a graphical representation of the activity data item from a graphical representation of the unstructured set of activity data items onto a graphical representation of the hierarchical data structure.