In Astronomy, software projects that are tied to hardware (interface with or control hardware or a sequencer) are usually bound to their funding profiles, which means it usually starts at a feasibility or conceptual level, then to a preliminary design, and then the final/critical design. Each of those phases typically culminate with a design review where the work is reviewed and at that point the external client will understand what has been done in those stages. When the build stage starts, it becomes less clear, especially when your client is not a software engineer. Years ago, software was built and delivered entirely once it was finished, but this does not build confidence in the external client that the project will get completed in a timely manner. It is also becoming more common that an Agile development cycle is used. This paper will discuss the different interpretations of Agile, roles of a client and contractor, conflicts that occur in an Agile build, and different ways to report on projects, including those that have worked and those that have not.
|