An industry/university collaboration to upgrade software engineering knowledge and skills in industry

https://doi.org/10.1016/j.jss.2004.02.020Get rights and content

Abstract

This paper describes an ongoing collaboration between Boeing Australia Limited and the University of Queensland to develop and deliver an introductory course on software engineering. The aims of the course are to provide a common understanding of the nature of software engineering for all Boeing Australia's engineering staff, and to ensure they understand the practices used throughout the company. The course is designed so that it can be presented to people with varying backgrounds, such as recent software engineering graduates, systems engineers, quality assurance personnel, etc. The paper describes the structure and content of the course, and the evaluation techniques used to collect feedback from the participants and the corresponding results. The immediate feedback on the course indicates that it has been well received by the participants, but also indicates a need for more advanced courses in specific areas. The long-term feedback from participants is less positive, and the long-term feedback from the managers of the course participants indicates a need to expand on the coverage of the Boeing-specific processes and methods.

Introduction

When Boeing Australia Limited (BAL) moved its corporate headquarters to Brisbane in 1998, Boeing management made it clear to the local universities that they were keen to establish collaborative partnerships. At the beginning of 2000, BAL asked the University of Queensland for assistance to create an in-house course that provided an overview of software engineering. At this time, BAL was revising its Software Process Manual and introducing an intranet facility known as EngNET, which provides uniform access to information for engineering staff. BAL wanted all technical staff to have a common base of knowledge about software engineering and its corporate best practice. Because the course was intended to be broad in scope, it was given the title “Software Engineering Fundamentals”.

BAL is a wholly owned subsidiary of the Boeing Company, and specialises in the design, installation and support of defence systems, and the development and application of complex systems support and communications solutions for commercial markets. The Boeing Company has been involved in Australian aircraft and defence businesses for more than 60 years. BAL conducts operations at 13 locations throughout Australia and employs more than 1400 Australians. Like most enterprises, BAL recognises the strategic importance of software to its business, and it is keen to identify ways to enhance the skills of its staff.

BAL's Central Engineering department maintains overall control of all engineering activities across the company. As well as providing technical advice for all BAL projects, Central Engineering is responsible for maintaining all engineering processes and providing an interface to external organisations such as the Australian Department of Defence, universities and the Boeing Company's research organisation. The department is also responsible for all aspects of technical staff development, from engineering fundamentals training to the management of Technical Excellence programs.

The University of Queensland established its Bachelor of Engineering (Software) program in 1997 and produced its first graduates in December 2000. It is one of four engineering majors offered by the School of information Technology and Electrical Engineering. The B.E. (Software) received full accreditation from the Institution of Engineers, Australia (I.E. Aust) in 2002.

The course described in this paper is not related to the undergraduate software engineering program offered by the University. Rather, this in-house course is an overview of software engineering designed to establish a common core of knowledge in BAL's technical staff. No academic credit is available for the course because it is introductory and broad in coverage.

The remainder of the paper is organised as follows: Section 2 describes the aims and expected outcomes of the course and Section 3 explains the way in which the course was developed. The content and structure of the course are presented in Section 4, while Section 5 discusses how the course is delivered. Section 6 explains the feedback mechanisms that have been used to gather information from the course participants, the types of feedback received and how this feedback has been used to improve the course. Section 7 discusses related work on collaborations between industry and universities to improve software engineering education and training.

Section snippets

Course aims and expected outcomes

The aims of the Software Engineering Fundamentals course are introduced in the first session of the course, and they are to:

  • Provide a working understanding of Software Engineering principles.

  • Introduce all software engineers to accepted software engineering practice within BAL.

  • Demonstrate the role of the BAL Software Process Manual and EngNET in supporting software engineering at BAL.


We stress that this course is only introductory and that it is not meant to produce experts in any of the areas

Development history

When the software engineering fundamentals course was originally proposed by BAL's technical director early in 2000, BAL already had a successful in-house systems engineering course. An objective was to duplicate the success of that course in the software engineering domain. The intention was that all technical staff would take both courses.

The first author spent several months part-time during his sabbatical in the middle of 2000 at BAL helping to prepare the course, working with Central

Course content and structure

The structure of the course has changed since it was first delivered in September 2000. In this section, we describe the latest version of the course, and in Section 6 we discuss some of the changes that we have made.

Course delivery

To ensure that both the theoretical and practical viewpoints of software engineering are covered, the course is presented by a combination of BAL staff and University academics. Just as guest lecturers from industry can have high credibility for students at university, so academics can add credibility to in-house courses taught within industry. The BAL presenters are able to share experiences from recent and current projects, and several sessions are specifically designed for this purpose. In

Course evaluation

Evaluation provides feedback from course participants that can be used to improve course content and presentation techniques. Many methods of evaluation exist. For the Software Engineering Fundamentals course, we have primarily used written questionnaires. We use a specific questionnaire for each day of the course so we can gather information about individual sessions, as well as an end-of-course questionnaire to gather overall impressions. We also discuss long-term evaluation of the course.

Related work

During the past 15 years, there has been a growing realisation worldwide that universities and industry can both benefit from closer relationships. In the US, the Working Group–Software Engineering Education and Training1 has an active Industry/University (I/U) subgroup investigating collaborations between industry and academic institutions, in which non-software professionals and practitioners without formal software engineering

Conclusions and future work

The BAL software engineering fundamentals course is an introductory course designed for the wide range of participants' backgrounds. The course has been developed and is presented as an on-going collaboration between BAL and the University of Queensland. The work presented in this paper differs from most other published industry/university collaborations on software engineering education, in that this course is an orientation course that is intended to provide staff from a variety of areas with

Acknowledgements

The authors would like to thank Fiona Dobson, Ramayya Darbhamulla and all the other BAL staff who helped prepare and present parts of the course. We would also like to thank Roger Duke for his constructive comments on an earlier version of this paper.

An earlier version of this work was presented at the 2003 Conference on Software Engineering Education and Training (CSEE & T 03).

Dr. David Carrington is a Reader in the School of Information Technology and Electrical Engineering at the University of Queensland, Australia and is the Program Director of the Software Engineering program. He received a Ph.D. in Computer Science from the University of New South Wales. He has a broad range of research interests in the areas of software development, user interfaces and processes, including techniques and tools for formal specification, refinement techniques, design methods,

References (6)

  • Abran, A., et al. (Eds.), 2001. Guide to the Software Engineering Body of Knowledge: Trial Version. IEEE Computer...
  • K. Beckman et al.

    IEEE Software

    (1996)
  • H.J.C. Ellis et al.

    Computer Science Education

    (2002)
There are more references available in the full text version of this article.

Dr. David Carrington is a Reader in the School of Information Technology and Electrical Engineering at the University of Queensland, Australia and is the Program Director of the Software Engineering program. He received a Ph.D. in Computer Science from the University of New South Wales. He has a broad range of research interests in the areas of software development, user interfaces and processes, including techniques and tools for formal specification, refinement techniques, design methods, programming environments and specification-based testing methods and tools. He was a Visiting Scientist at the Software Engineering Institute at Carnegie Mellon University in Pittsburgh in 2000/2001 and worked with the TSP team on educational courses for the Personal Software Process and the Team Software Process. He was a Boeing Company A.D. Welliver Fellow in 2001, visiting groups within Boeing with the goal to learning how Boeing handles the challenge of software process improvement. He was the Knowledge Area Specialist for the Software Engineering Body of Knowledge Project (SWEBOK) in the area of software engineering infrastructure (tools and methods).

Dr. Paul Strooper is a Reader in the School of Information Technology and Electrical Engineering at The University of Queensland, Australia. He received the B.Math and M.Math degrees in Computer Science in 1986 and 1988 from the University of Waterloo, and the Ph.D. degree in Computer Science in 1990 from the University of Victoria. His research interests include software engineering, especially software specification, verification, and testing, and logic programming, especially program transformation and refinement. He has had substantial interaction with industry through collaborative research projects, training and consultation in the area of software verification and validation. He was one of the Program Co-chairs for the 2002 Asia–Pacific Software Engineering Conference and is the Program Chair for the 2004 Australian Software Engineering Conference.

Sharron Newby is currently employed with Boeing Australia. She is a professional trainer and as part of the Central Engineering group at Boeing Australia has been the driving force behind the development of training associated with systems engineering, software engineering and configuration management. She is professionally qualified in training from the Royal Australian Air Force, and Technical and Further Education courses since joining Boeing Australia. Her current research interest is in the area of creativity and she has developed internal training courses to complement this work.

Dr. Terry Stevenson is currently the Chief Technology Officer of Raytheon Australia, prior to this he was the Technical Director of Boeing Australia. He has been engaged in system design and process improvement associated with complex defence systems in his last two appointments. He is now focusing on the design and realisation of complex systems and through experience has come to realise that the training and behaviour of the design teams is a significant factor in project success. He has a Ph.D. in Engineering and an M.B.A. focusing on leadership and strategy. His current research is in the area of complex systems and capability development. He was the Technical Chairman of the IEEE Globecom'98 Conference in Sydney, Australia and is on the advisory board of a number of universities and is an Adjunct Professor at the University of Queensland and the Queensland University of Technology.

View full text