Chapter

Software Project Management for Distributed Computing

Part of the series Computer Communications and Networks pp 367-385

Date:

Software Project Management for Combined Software and Data Engineering

  • Seyyed M. ShahAffiliated withSoftware Engineering Group, Department of Computer Science, University of Oxford Email author 
  • , James WelchAffiliated withSoftware Engineering Group, Department of Computer Science, University of Oxford
  • , Jim DaviesAffiliated withSoftware Engineering Group, Department of Computer Science, University of Oxford
  • , Jeremy GibbonsAffiliated withSoftware Engineering Group, Department of Computer Science, University of Oxford

* Final gross prices may vary according to local VAT.

Get Access

Abstract

This chapter presents a methodology for combining software and data engineering life cycles in large software projects. Software and data engineering use multiple stages to form a life cycle for the creation of a system. Large projects often have elements of both software and data engineering. These are usually kept independent from each other as the development approaches are quite divergent; software engineering tends to be top-down, prescriptive and rigid, while data engineering tends to be bottom-up, descriptive and fluid. The methodology presented in this chapter defines a system for sharing and reuse of artefacts between software and data engineering development processes, in spite of the differences in development philosophies. The methodology helps to identify dependencies to support project planning, reduces effort by reuse and collaboration and increases quality by application of best practices. The central aspect of the methodology is a table which is used to define the synchronisation points between the two development domains, where collaboration between the separate life cycles can occur. Developers engaged in either life cycle can use a synchronisation table created for the project to send and receive shared artefacts between life cycles. This work is informed by the development and management of the ALIGNED project, a large, multi-partner, interdisciplinary project that involves both software and data engineering.

Keywords

Data engineering Software engineering Life cycles Reuse Project management