Document Driven Disciplined Development of Software
It is no accident that the branches of Engineering are called "disciplines". Every properly educated Engineer has learned that the design of quality products requires discipline and a willingness to follow standard procedures. Engineers understand that they must produce a specified set of documents and perform a variety of analyses whose results must be included in the documents. Engineers who do these things are less likely to produce a defective product. In many jurisdictions, engineers who fail to follow the standard discipline may be considered to have been negligent.
Software development should not be different but most developers have not been taught the appropriate discipline and neither their employers nor the customers know what to demand. Document standards can help. This talk will describe a set of documents that contain the information required for disciplined development. A developer who completes these documents properly will have performed the analyses necessary to assure that the product will be of high quality. This talk does not describe a "process". Discipline does not require that documents be completed in any particular order - only that they are all eventually completed properly.
Director, Software Quality Research Laboratory
Department of Computing and Software
Faculty of Engineering.
David Lorge Parnas is the Director of the Software Quality Research Laboratory in the Faculty of Engineering's Computing and Software Department. He is also an associate member of the Department of Electrical and Computer Engineering.
Prof. Parnas is currently on leave of absence at the Software Quality Research Laboratory at University of Limerick in Ireland.
He has been Professor at the University of Victoria, the Technische Hochschule Darmstadt, the University of North Carolina at Chapel Hill, Carnegie Mellon University and the University of Maryland.
He has also held non-academic positions advising Philips Computer Industry (Apeldoorn), the United States Naval Research Laboratory in Washington, D.C. and the IBM Federal Systems Division. At NRL, he instigated the Software Cost Reduction (A-7) Project, which develops and applies software technology to aircraft weapon systems. He has advised the Atomic Energy Control Board of Canada on the use of safety-critical real-time software at the Darlington Nuclear Generation Station.
The author of more than 200 papers and reports, Dr. Parnas is interested in most aspects of computer system design.
In his teaching, as well as in his research, Dr. Parnas seeks to find a "middle road" between theory and practice, emphasising theory that can be applied to improve the quality of our products.
Professor Parnas received his B.S., M.S. and Ph.D. in Electrical Engineering - Systems and Communications Sciences from Carnegie Mellon University, and honorary doctorates from the ETH in Zurich and the Catholic University of Louvain in Belgium.
Dr. Parnas won an ACM "Best Paper" Award in 1979, and two "Most Influential Paper" awards from the International Conference on Software Engineering. He is the 1998 winner of ACM SIGSOFT's "Outstanding Research Award".
Dr. Parnas is a Fellow of the Royal Society of Canada and a Fellow of the Association for Computing Machinery (ACM). He is licensed as a Professional Engineer in the Province of Ontario.
The challenges of managing a global software engineering capability:
theory to practice
The emergence of "off shoring or outsourcing" in the debate about where best
to do software development and applications support has added yet another
layer of complexity into the domain of Development Managers. This is on top
of the usual plethora of issues we all know and love such as configuration
and requirements management, design, enhancements, reuse and refactoring,
baseline controls, IP protection, technology issues, standards, testing,
porting and distribution, support and maintenance.
All these make the practice of managing a global software engineering
capability especially interesting.
The various commentaries on good software engineering practice are often
about what to do on single projects in serial environments to manage the
risks associated with the various issues raised above. In Mincom's commercial
environment there exists the added challenge of the need for integration
of a range of different but concurrent projects together with the complexity
of managing the delivery of this capability globally. The competition for
resources together with skills matching ensures a number of management
This presentation will address some of the techniques used to; enforce
standards without stifling innovation, improve software quality without
imposing zealous quality overheads, compare and contrast outsourcing options.
Some observations on the use of agile methods will be given as well as an
impact analysis of resource balancing.
The presenter will attempt to impart some of the lessons learnt from
managing one of Australia's largest application development and support
David Barbagallo was appointed Executive Vice President Solutions Development
for Mincom Limited in May 2002. In this role he has responsibility for the
development of current and future product solutions at Mincom and the
management of the global development and support teams. In October 2004
Mr Barbagallo had the division of Innovation and Market Development added
to his responsibilities.
Prior to this Mr. Barbagallo was the founding CEO of the
Distributed Systems Technology Centre Pty Ltd (DSTC), one of Australia's
most successful co-operative research centres. DSTC was at the forefront
of commercialisation of research in Australia when he left in 2002
including the successful spinning out of several software companies.
Prior to joining DSTC, Mr. Barbagallo was the Chief of Staff to the
Premier of Queensland, Mr. Wayne Goss. In this capacity he was responsible
for IT&T policy in the Queensland Government from 1989-1994. During this
period he oversaw the establishment of the Information Policy Board (IPB),
which was responsible for Government IT standards and policy, and the
establishment of the Information Industries Bureau (IIB), which has
responsibility for promoting and advancing the industry in Queensland.
Before working in government Mr Barbagallo worked in the IT industry as
a Systems Analyst and Project Manager. Mr Barbagallo has an undergraduate
degree in Surveying and a Masters of Technology Management. He has also
completed several Management courses including Growing Small Companies
at Stanford Business School.
Virtual Machines, Managed Code and Component Technology
Abstract machines have been used as an implementation
device for programming languages for almost forty years. In their
latest incarnation implementation platforms based on virtual machines
offer Managed Execution. The implications of this change go far
beyond the superficial advantages of platform portability and go to
the heart of software reliability.
In this talk it is argued that managed execution platforms such as
.NET and the Java Virtual Machine form the only reasonable basis
for trustworthy component software. There will also be an overview
of the current research issues in this field, including the vexed
issue of version evolution.
John Gough has been involved in the implementation
of programming languages for some 25 years. During the 1990s
his implementations, particularly the Gardens Point range of
compilers for Pascal-family languages, were among the most
widely used implementation of these languages. He has
also made contributions in the area of software tools and
reverse compilation. Since the late 1990s he has been particularly
involved in compiling for managed execution platforms, and wrote
the definitive work on compiling for the Microsoft .NET Common
Language Runtime. In 2004 he retired as Dean of Information
Technology at the Queensland University of Technology in Brisbane,
and is writing full-time.