This thesis presents the design and implementation of a framework that is capable of scheduling, preparing and running command-line tasks distributed across multiple machines, as well as collecting the results of the tasks from them. The user is able to define ordering through dependencies between the tasks. While distributing the tasks automatically, the framework strives to utilize the machines as efficiently as possible. To simplify the monitoring of the distributed framework, the system produces a unified output describing the state of all of its components. This makes observing the framework as-a-whole possible. The results of the tasks are also collected to a single place. The thesis follows the design and implementation process. It presents the motivations inspiring the framework, the analysis of the user requirements, the specification of a system that meets these requirements, as well as the detailed plans and the implementation of the specified framework. The different technologies used and the main aspects of the architecture is also presented. The reader will learn how the system works, will recognize the possible areas of application, and will also be able to use the software. Learning the details of the plans and implementation should also facilitate the easy extension of the framework.