Here are a few of the problems we're solving with Agave:
You have data. Either it's in your direct physical possession or you can access it via a URI. You have a specific process, analysis, or test you need to apply to that data (We're just going to say analysis from here on out). The analysis can be based on new code you will write, someone else's complete solution, or an integration of off-the-shelf parts. The analysis code can be of arbitrary complexity, ranging from a single-language binary to a script that calls other scripts and leverages UNIX userland (sed/awk/grep/etc). You need to collaborate of development and testing of the analysis code. You need to be able to run your analysis on the data reproducibly and retrieve information about those runs in the future.