line separator

Bill Opdyke

(photo)
opdyke@noctrl.edu

William F. (Bill) Opdyke
Associate Professor, Computer Science
North Central College (Carnegie; Rm. 311B)
30 North Brainard Street
Naperville, IL 60540-4690
phone: +1 630 637-5699
fax: +1 630 637-5172
Office Hours (winter term, 2006):  Mon 3:00-4:30 PM, 5:30-6:30 PM; Thu 9:00-11:30 AM



Click here to see my courses.

Welcome to my home page!

I am a faculty member in the computer science department at North Central College, located in Naperville, Illinois.   If you are in the area, please stop by my office sometime; I'd like to meet you! (Click here for campus map and directions.)

Previously I worked at Bell Labs (AT&T/Lucent) as business/ requirements analyst, software and system architect, applied researcher, product evolution planner, project manager and corporate trainer.

Below you'll find information on:

Thanks for visiting; have a great day!

line separator

MY COURSES - CURRENT & RECENT:

During winter term, 2006, I will be teaching the following courses:

Since joining the department (spring term, 2002) I have taught the following courses:

(Return to top.)

line separator

MY PROFESSIONAL INTERESTS & RESEARCH BACKGROUND:

My professional & research interests include: Click here to view a list of my publications, conference tutorials and panels.

Object-Oriented Programming & Refactoring:

Software often needs to be (or, at least, ought to be) restructured before it is extended or reused. My doctoral research into refactoring object-oriented frameworks (University of Illinois; 1989-1992) focused on documenting the restructurings that experienced object-oriented developers apply to their code, and on defining how these operations can be assisted with an automated tool.  I was a contributing author of Refactoring: Improving the Design of Existing Code (Addison-Wesley, 1999).

I have attended most of the OOPSLA (Object-Oriented Programming Systems, Languages and Applications) conferences since 1989. For OOPSLA 2004 I am co-organizing the workshop "Challenges in Outsourcing and Global Development:  How Will Your Job Change?" (see below).  I helped organize workshops at prior OOPSLA conferences focusing on software reengineering, frameworks, discovery costs and project management.  I co-presented refactoring tutorials at OOPSLA '95 and OOPSLA '96; my panel position papers appear in the OOPSLA '97 and OOPSLA '98 proceedings.

Outsourcing & Globalization/ Offshoring:

If you are a software professional, your job is changing. Outsourcing and globalization/ offshoring  affect many things in our work environment: what we build, how and when we communicate, and how we prepare ourselves for the future.

My interests in this area grew out of researching issues related into distributed product architectures, interface issues, learning curve/ discovery costs, process models and organizational concerns.  While at Bell Labs I worked extensively with projects involved in geographically distributed product developments.

I am co-organizing the workshop "Challenges in Outsourcing and Global Development:  How Will Your Job Change?", which will be held on Monday, October 25 (in Vancouver, BC, Canada) as part of the OOPSLA 2004 conference.  Click here for additional information about the workshop.

Organizations and projects involved in (or considering) outsourcing and/or offshoring benefit from an understanding of the challenges involved in managing such projects.  In my project management course (organized around the Project Management Institute's knowledge areas) we address issues specific to outsourcing/ procurement, as well as the range of related topics such as quality management and risk management.

Technical professionals (including many of my students who are full-time working professionals) are finding a need to reorient their job roles (and grow their areas of expertise) in order to either remain employed in their current organization or position themselves for more attractive opportunities elsewhere.  At a time when software development (particularly coding) tasks are being outsourced or offshored, roles that some organizations retain "in house" include project management, business/ requirements analyst and integrator/ tester.  Quality issues are of particular concern to some organizations involved in outsourcing and offshoring.

Several of my courses directly relate to job roles that some organizations are retaining "in house":

If you have an interest in outsourcing and globalization/ offshoring, I invite you to contact me and share your perspectives and suggestions.

Leveraging & Evolving Legacy Software Systems:

Adding new features to software systems, especially for communications applications, has proven to be very difficult and expensive.

My research has addressed key leverage points (discovery costs, interface issues and organizational concerns) and techniques for better controlling these spiraling costs.  This research grew out of my investigations in software refactoring and in supporting large, multi-year communications software projects.  Discovery costs and organizational issues are discussed in Understanding and Addressing the Essential Costs of Evolving Systems.  Interface issues are discussed in Rapid Development and Delivery of Converged Services Using APIs.  These papers were coauthored with technical staff at Bell Labs.  I was guest editor for the feature topic Evolving Communications Software: Techniques and Technologies in the October, 2001 issue of IEEE Communications magazine.  In October, 2003, (and in November, 2002) I co-organized workshops (associated with the OOPSLA conferences) related to software reengineering and to discovery costs.  Click here for information regarding our  OOPSLA 2003 workshop.  I also led several efforts at Bell Labs related to platforms and software reuse.
 
I have developed and presented a short course (tailored for industrial/ R&D staff) on software evolution and reengineering issues.  I presented the talk "If Software is So Easy to Create, Why is it So Difficult to Evolve?" to several industry and professional audiences, most recently to the Chicago Chapter of the ACM professional society.  Please contact me if you or your organization might have an interest in these topics.

Design Patterns:

Design patterns address a critical need to capture, distill, organize and leverage expertise for a wide range of applications and tasks.  My patterns related research focused on refactoring patterns and organizational patterns. Brian Foote's and my paper Lifecycle and Refactoring Patterns That Support Evolution and Reuse appears in the first volume of Addison-Wesley's Patterns Languages of Program Design series. Dave Dikel, David Kane and I authored  Managing Change to Reusable Software which defines some organization patterns related to patterns and reuse.

Internet Telephony & Converged Services:

Previously distinct communications networks (e.g., wireless/ wireline, voice/ data, internet/ public switched telephone networks) have been converging in recent years.  Much of my work in this area focused on the services aspects of these evolving networks. Publications that I co-authored include:

(Return to top.)

line separator

WHY YOU MIGHT WANT TO CONTACT ME:

(Return to top.)

line separator

opdyke@noctrl.edu

Last updated 12/19/2005.