Skip to content
This repository has been archived by the owner on Oct 25, 2024. It is now read-only.

Software project management - PI #163

Open
ageorgou opened this issue Dec 3, 2020 · 0 comments
Open

Software project management - PI #163

ageorgou opened this issue Dec 3, 2020 · 0 comments
Labels

Comments

@ageorgou
Copy link

ageorgou commented Dec 3, 2020

Stage 1

Your collaborator would like your lab's help with analysing some data. The data is stored in CSV files, and the processing consists of computing the average value for each column.

For example, for an input file with the contents

2, 10, 200, 2
0, 20, -200, 5

the output of the analysis should be

1, 15, 0, 3.5

You must help write a library that lets someone read a file and save the results (average values) in a different file.

The different parties should work together to understand what exactly is needed, decide on a plan of action, then write some code to solve the problem. Work in steps:

  1. Agree on what the program will do (what the inputs and outputs are)
  2. Decide a general structure for your file (the main functions you need)
  3. Decide a detailed structure (the inputs and return values for each function)
  4. Write the code

Questions may come up which are not covered by this description. Make your own decisions according to your judgement!

For PIs/project managers: Make sure that each step is followed and that the two sides agree before moving on. Try to solve disagreements. Keep in mind the total time allocated for this.

Stage 2

Your collaborator has come back with more requests. This time, things are not as clear, and requirements will change as you work. Create the code over several iterations, gradually adding functionality or making changes. At each iteration, make sure you have something that works, even if it’s not the complete product. Your workflow may look something like this:

  1. Decide on a new feature to add or a change to make.
  2. Make the required changes to the code.
  3. Present the result to the collaborator and your PI.

As before, make your own decisions when something is unclear. Do not worry about completing all of the requirements that may come up.

For PIs: Help the developers when choosing what changes to make. Ensure that new requests from the collaborator don’t interfere with the current development cycle.

@ageorgou ageorgou added the week08 label Dec 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant