This paper reports on the ACM SPLASH 2022 conference panel on the Software Profession Dimensions ... more This paper reports on the ACM SPLASH 2022 conference panel on the Software Profession Dimensions of DEI [Diversity, Equity, and Inclusion]. The panelists observed that increased awareness for the dimensions of DEI will help reduce inequity in systems and technologies. The panel further observed that there are dimensions of diversity to consider beyond age, color, gender, and physical ability. As technologists, we need to leverage diverse talents and perspectives, including by those who may not have in-depth domain knowledge or a university education specific to computer science or engineering. Panelists included academic researchers and industry practitioners: experts in human-computer interaction, teamwork, AI applications, systems design, and gender diversity issues. The hybrid organization of the panel enabled participants from Taiwan and North America to join the in-room Australian and New Zealand panelists. Panelists explored a variety of related topics, ranging from how software can cause harm to the risks of "unconscious bias" in R&D and the challenges of building diverse teams. Panelists shared observations that AI and ML systems can be negatively impacted by the bias inherent with inadequate or incomplete training data used to tune algorithms. The panel discussed and summarized questions to foster increased DEI awareness by software professionals, researchers, and community leaders.
ACM Sigsoft Software Engineering Notes, Mar 30, 2021
The global COVID-19 pandemic has transformed the way we live, learn, and teach - impacting both &... more The global COVID-19 pandemic has transformed the way we live, learn, and teach - impacting both "how we learn" and "what we learn." Software system resilience has emerged as a critical concept, a departure from historical system objectives obsessed with high performance. In practice, there are many situations when development focused on efficiency, creates a system that is not very resilient. Fortunately, some technology companies have prioritized stability and availability over efficiency in order to deliver to customers a more consistent experience. Governments also value resilience to reliably serve their communities in the face of crises like cyber hacking and COVID-19. System resilience is a topic often neglected in computer science curricula. This paper reports on a recent virtual ACM SPLASH-E Education Symposium panel session held in November 2020 that discussed resilience, efficiency, and the impact of COVID-19 on computer science education. The panel featured Steven Fraser (panel impresario) and panelists Rebecca Mercuri, Landon Noll, Ales Plsek, and Moshe Vardi.
Research partnerships between industry and academia are grown through relationships, a desire for... more Research partnerships between industry and academia are grown through relationships, a desire for innovation, and opportunities for sponsorship. Relationships mature through the mobility (virtual or otherwise) of academics, graduates, and seasoned industry professionals. From an industry perspective, innovation is driven by a need to grow product portfolios, market share and rejuvenate the corporate talent pool. Academics may be more motivated by the search for knowledge, the desire to publish, and the need to move education yardsticks by keeping curriculum relevant and mentoring top students. Research in an industry context ranges from in-house "labs" to a hybrid combination of company acquisitions and-or university partnerships. Tech talks, facilitated workshops, forums, sabbaticals, internships, grants, equipment donations, and corporate philanthropy-not to mention active engagement between researchers are all part of the mix. Panelists will discuss and debate the merits various of research engagement strategies.
Lecture notes in business information processing, 2021
Software has become the lifeblood of the 21st century, enabling a broad range of commercial, medi... more Software has become the lifeblood of the 21st century, enabling a broad range of commercial, medical, educational, agricultural, and government applications. These applications are designed and deployed through a variety of software best practices. With the onset of the COVID-19 pandemic, developers have embraced virtualization (remote working) and a variety of strategies to manage the complexity of global development on multiple platforms. However, evolving hazards such as network security, algorithm bias, and the combination of careless developers and deliberate attacks continue to be a challenge. An XP2021 panel organized and chaired by Steven Fraser debated the future of software engineering and related topics such education, ethics, and tools. The panel featured Anita Carleton (CMU's SEI), Priya Marsonia (Cognizant), Bertrand Meyer (SIT, Eiffel Software), Landon Noll (Independent Consultant), and Kati Vilkki (Reaktor).
Refactoring can be an important ingredient in the stratcgy for development and evolution of compl... more Refactoring can be an important ingredient in the stratcgy for development and evolution of complex telecommunications software systems. Refactoring is o n e way t o reuse and extend a successful software system. This article will present some design tactics that will assist a development team when thcy choose evolution from an existing software system over building a completely new systcm from the ground up. Strictly speaking, t h e refactoring proccss changes only the internal design of the software. Refactoring does not add any new functionality. However, the goal of refactoring work is to pave the way for the software to be modified and extended morc easily. T h e simplest example of redesign is the creation of simple "wrapper classes" that contain groups of functions extracted from t h e lcgacy code. More complex design patterns are also useful when attempting to improve the design. Developers usually divide the redesign work into stages so that each stage can be implemcnted and tested separately. This article describes a real-world example of this approach that shows how refactoring improved the design of a wireless base station controller product. aa
Lecture notes in business information processing, 2020
As a result of the global COVID-19 pandemic, the way the world works, collaborates, and plays has... more As a result of the global COVID-19 pandemic, the way the world works, collaborates, and plays has changed. Commerce has stalled with travel, hospitality, education, retail, and health sectors particularly affected. This paper is based on an XP 2020 panel organized by Steven Fraser and featuring Aino Corry, Steve McConnell, and Rachel Reinitz. The panel discussed the impact of COVID-19 on knowledge workers, the acceleration of digital workplace transformation, and anticipated long term effects from the pandemic in the context of agile practices. Four key observations emerged from the discussion: First, virtual collaboration between those working from home is enabled by a variety of communication toolssubstituting for face-to-face interactions. Second, agile work practices are harder to perform given the virtual nature of meetings and interactions. Third, communication tools are not always adequate for high-bandwidth or informal interactions, such as brainstorming, side discussions, or hallway conversations. Fourth, forming new teams and onboarding staff is challenging in a virtual work environment.
In 2020, virtual conferences became almost the only alternative to cancellation. Now that the pan... more In 2020, virtual conferences became almost the only alternative to cancellation. Now that the pandemic is subsiding, the pros and cons of virtual conferences need to be reevaluated. In this report, we scrutinize the dynamics and economics of conferences and highlight the history of successful virtual meetings in industry. We also report on the attitudes of conference attendees from an informal survey we ran in spring 2022.
Open Innovation, through partnerships across a community such as a network of university research... more Open Innovation, through partnerships across a community such as a network of university researchers, is an alternative mechanism to stimulate corporate growth and build value in contrast to proprietary innovation. In this paper, we build on our experience and strategies presented at previous workshops. We outline a business process model based on use cases for establishing and leveraging company-university collaborations, both to extract value in terms of the development and inspiration of new intellectual property and the recruitment of top technical university talent.
How do software development practices differ from coast-tocoast? What should practitioners learn ... more How do software development practices differ from coast-tocoast? What should practitioners learn about the influences of geography-and why is it important? Each community of software professionals has its own technical biases: preferred programming languages, software tools, design paradigms, software testing approaches, and techniques for collaboration within a working group. Conferences like SPLASH provide an opportunity to compare notes, to learn from the successes (and failures) of others, to learn about new technologies, and to learn about how other groups communicate and collaborate. This panel will focus on the diversity of software development practices in North America and the broader influences of geography.
Existing formalisms of inheritance are not sufficient to model the complexities of the kind of mu... more Existing formalisms of inheritance are not sufficient to model the complexities of the kind of multiple inheritance exemplified in C++. Any satisfactory formalism must model the complicating effects of virtual and nonvirtual base classes as well as virtual and non-virtual methods. By abstracting the implementational notion of a subobject and formalizing subobject selection, we develop a formalism to model this combination of features. Not intended as a formal semantics of C++, the resulting model should nevertheless provide an essential level of understanding for language theorists and implementors in their dealings with C++ and related languages.
Lecture notes in business information processing, 2019
A panel of university staff and industry Agile experts were invited to conclude the XP 2019 confe... more A panel of university staff and industry Agile experts were invited to conclude the XP 2019 conference with a discussion of the conference theme: "Agilethe Next 20 Years: Share and Discover!" The panelists gave their views of the value of the Agile Manifesto, the possible future of Agile scaling frameworks, and some ideas for improving industry-university collaboration.
If software is so easy to create, why is it so difficult to change existing software to keep up t... more If software is so easy to create, why is it so difficult to change existing software to keep up to date with changing requirements? Discovery costs-the costs of learning what one needs to know in order to evolve an existing software system-has proven to be the dominant (but often unrecognized) cost in many software systems. This subject was discussed in a previous OOPSLA panel session: "Do Patterns and Frameworks Reduce Discovery Costs?" at OOPSLA '97. This workshop will take a fresh look-five years laterat how organizations are coping with discovery costs.
In the 21st Century, software is the enabling innovation pillar for all of civilization's needs-i... more In the 21st Century, software is the enabling innovation pillar for all of civilization's needs-including: food supply, living space (water, waste, power, and climate) management, services (health, financial, transportation, communication) and human relations (social networking). While the professionalism inherent in implementing, deploying, and configuring software systems may not appear as advanced as that found in other more regulated professions such as medicine, aviation, and engineering-is it "good enough"? This panel will discuss whether we are learning effectively from our experiences with failure and human hazards. Panelists will also discuss how software professionalism can be accelerated and debate the effectiveness of proficiency certifications in fostering increased professionalism.
At the recent SPLASh (Systems, Programming, Languages and Applications: Software for Humanity) co... more At the recent SPLASh (Systems, Programming, Languages and Applications: Software for Humanity) conference, one of us (Steven Fraser) organized an international group of experts to discuss challenges in software tools research.
As the volume of legacy software grows, how have we grown in our ability to leverage this legacy-... more As the volume of legacy software grows, how have we grown in our ability to leverage this legacy-or, for that matter, is it worth the effort? Is legacy software a hoard of useful information and behavior-or is it a ball and chain, something you should cut loose if you want to make progress? Legacy constraints often seem immense and burdensome-but, do they always need to be? Is object-oriented legacy software spaghetti code-or is it more like ravioli? Do agile methods embrace or reject the use of the legacy?
No Silver Bullet" is a classic software engineering paper that deserves revisiting. What if we ha... more No Silver Bullet" is a classic software engineering paper that deserves revisiting. What if we had a chance to rewrite Brooks' article today? What have we learned about effective software development techniques over the last 20 years? Do we have some experiences that reinforce or contradict Brooks' thesis?
An agile organization adapts what they are building to match their customer's evolving needs. Agi... more An agile organization adapts what they are building to match their customer's evolving needs. Agile teams also adapt to changes in their organization's work environment. The latest change is the evolving environment of "hybrid" work-a mix of in-person and virtual staff. Team members might sometimes work together in the office, work from home, or work in other locations, and they may struggle to sustain a high level of collaboration and innovation. It isn't just pandemic social distancingmany of us want to work from home to eliminate our commute and spend more time with family. Are there learnings and best practices that organizations can use to become and stay effective in a hybrid world? An XP 2022 panel organized by Steven Fraser (Innoxec) discussed these questions in June 2022. The panel was facilitated by Hendrik Esser (Ericsson) and featured Alistair Cockburn (Heart of Agile), Sandy Mamoli (Nomad8), Nils Brede Moe (SINTEF), Jaana Nyfjord (Spotify), and Darja Smite (Blekinge Institute of Technology).
Proceedings of the 3rd International Workshop on Software Engineering Research and Industrial Practice, 2016
Company strategies for building and leveraging industry-university research collaborations are ma... more Company strategies for building and leveraging industry-university research collaborations are many and varied. This paper reports on strategies observed at North American technology companies including BNR, Northern Telecom, Qualcomm, Cisco, Bell Labs, Lucent, and Alcatel-Lucent. Strategies included a range of tactics focused on leveraging intellectual property portfolios, benchmarking processes and products, recruiting experienced technical talent, cost avoidance and reduction, and philanthropy. The strategies reported here build on the tactics reported in a paper presented by the first author at the second ICSE Workshop on Software Engineering Research and Industrial Practice held in Florence, 2015.
This paper reports on the ACM SPLASH 2022 conference panel on the Software Profession Dimensions ... more This paper reports on the ACM SPLASH 2022 conference panel on the Software Profession Dimensions of DEI [Diversity, Equity, and Inclusion]. The panelists observed that increased awareness for the dimensions of DEI will help reduce inequity in systems and technologies. The panel further observed that there are dimensions of diversity to consider beyond age, color, gender, and physical ability. As technologists, we need to leverage diverse talents and perspectives, including by those who may not have in-depth domain knowledge or a university education specific to computer science or engineering. Panelists included academic researchers and industry practitioners: experts in human-computer interaction, teamwork, AI applications, systems design, and gender diversity issues. The hybrid organization of the panel enabled participants from Taiwan and North America to join the in-room Australian and New Zealand panelists. Panelists explored a variety of related topics, ranging from how software can cause harm to the risks of "unconscious bias" in R&D and the challenges of building diverse teams. Panelists shared observations that AI and ML systems can be negatively impacted by the bias inherent with inadequate or incomplete training data used to tune algorithms. The panel discussed and summarized questions to foster increased DEI awareness by software professionals, researchers, and community leaders.
ACM Sigsoft Software Engineering Notes, Mar 30, 2021
The global COVID-19 pandemic has transformed the way we live, learn, and teach - impacting both &... more The global COVID-19 pandemic has transformed the way we live, learn, and teach - impacting both "how we learn" and "what we learn." Software system resilience has emerged as a critical concept, a departure from historical system objectives obsessed with high performance. In practice, there are many situations when development focused on efficiency, creates a system that is not very resilient. Fortunately, some technology companies have prioritized stability and availability over efficiency in order to deliver to customers a more consistent experience. Governments also value resilience to reliably serve their communities in the face of crises like cyber hacking and COVID-19. System resilience is a topic often neglected in computer science curricula. This paper reports on a recent virtual ACM SPLASH-E Education Symposium panel session held in November 2020 that discussed resilience, efficiency, and the impact of COVID-19 on computer science education. The panel featured Steven Fraser (panel impresario) and panelists Rebecca Mercuri, Landon Noll, Ales Plsek, and Moshe Vardi.
Research partnerships between industry and academia are grown through relationships, a desire for... more Research partnerships between industry and academia are grown through relationships, a desire for innovation, and opportunities for sponsorship. Relationships mature through the mobility (virtual or otherwise) of academics, graduates, and seasoned industry professionals. From an industry perspective, innovation is driven by a need to grow product portfolios, market share and rejuvenate the corporate talent pool. Academics may be more motivated by the search for knowledge, the desire to publish, and the need to move education yardsticks by keeping curriculum relevant and mentoring top students. Research in an industry context ranges from in-house "labs" to a hybrid combination of company acquisitions and-or university partnerships. Tech talks, facilitated workshops, forums, sabbaticals, internships, grants, equipment donations, and corporate philanthropy-not to mention active engagement between researchers are all part of the mix. Panelists will discuss and debate the merits various of research engagement strategies.
Lecture notes in business information processing, 2021
Software has become the lifeblood of the 21st century, enabling a broad range of commercial, medi... more Software has become the lifeblood of the 21st century, enabling a broad range of commercial, medical, educational, agricultural, and government applications. These applications are designed and deployed through a variety of software best practices. With the onset of the COVID-19 pandemic, developers have embraced virtualization (remote working) and a variety of strategies to manage the complexity of global development on multiple platforms. However, evolving hazards such as network security, algorithm bias, and the combination of careless developers and deliberate attacks continue to be a challenge. An XP2021 panel organized and chaired by Steven Fraser debated the future of software engineering and related topics such education, ethics, and tools. The panel featured Anita Carleton (CMU's SEI), Priya Marsonia (Cognizant), Bertrand Meyer (SIT, Eiffel Software), Landon Noll (Independent Consultant), and Kati Vilkki (Reaktor).
Refactoring can be an important ingredient in the stratcgy for development and evolution of compl... more Refactoring can be an important ingredient in the stratcgy for development and evolution of complex telecommunications software systems. Refactoring is o n e way t o reuse and extend a successful software system. This article will present some design tactics that will assist a development team when thcy choose evolution from an existing software system over building a completely new systcm from the ground up. Strictly speaking, t h e refactoring proccss changes only the internal design of the software. Refactoring does not add any new functionality. However, the goal of refactoring work is to pave the way for the software to be modified and extended morc easily. T h e simplest example of redesign is the creation of simple "wrapper classes" that contain groups of functions extracted from t h e lcgacy code. More complex design patterns are also useful when attempting to improve the design. Developers usually divide the redesign work into stages so that each stage can be implemcnted and tested separately. This article describes a real-world example of this approach that shows how refactoring improved the design of a wireless base station controller product. aa
Lecture notes in business information processing, 2020
As a result of the global COVID-19 pandemic, the way the world works, collaborates, and plays has... more As a result of the global COVID-19 pandemic, the way the world works, collaborates, and plays has changed. Commerce has stalled with travel, hospitality, education, retail, and health sectors particularly affected. This paper is based on an XP 2020 panel organized by Steven Fraser and featuring Aino Corry, Steve McConnell, and Rachel Reinitz. The panel discussed the impact of COVID-19 on knowledge workers, the acceleration of digital workplace transformation, and anticipated long term effects from the pandemic in the context of agile practices. Four key observations emerged from the discussion: First, virtual collaboration between those working from home is enabled by a variety of communication toolssubstituting for face-to-face interactions. Second, agile work practices are harder to perform given the virtual nature of meetings and interactions. Third, communication tools are not always adequate for high-bandwidth or informal interactions, such as brainstorming, side discussions, or hallway conversations. Fourth, forming new teams and onboarding staff is challenging in a virtual work environment.
In 2020, virtual conferences became almost the only alternative to cancellation. Now that the pan... more In 2020, virtual conferences became almost the only alternative to cancellation. Now that the pandemic is subsiding, the pros and cons of virtual conferences need to be reevaluated. In this report, we scrutinize the dynamics and economics of conferences and highlight the history of successful virtual meetings in industry. We also report on the attitudes of conference attendees from an informal survey we ran in spring 2022.
Open Innovation, through partnerships across a community such as a network of university research... more Open Innovation, through partnerships across a community such as a network of university researchers, is an alternative mechanism to stimulate corporate growth and build value in contrast to proprietary innovation. In this paper, we build on our experience and strategies presented at previous workshops. We outline a business process model based on use cases for establishing and leveraging company-university collaborations, both to extract value in terms of the development and inspiration of new intellectual property and the recruitment of top technical university talent.
How do software development practices differ from coast-tocoast? What should practitioners learn ... more How do software development practices differ from coast-tocoast? What should practitioners learn about the influences of geography-and why is it important? Each community of software professionals has its own technical biases: preferred programming languages, software tools, design paradigms, software testing approaches, and techniques for collaboration within a working group. Conferences like SPLASH provide an opportunity to compare notes, to learn from the successes (and failures) of others, to learn about new technologies, and to learn about how other groups communicate and collaborate. This panel will focus on the diversity of software development practices in North America and the broader influences of geography.
Existing formalisms of inheritance are not sufficient to model the complexities of the kind of mu... more Existing formalisms of inheritance are not sufficient to model the complexities of the kind of multiple inheritance exemplified in C++. Any satisfactory formalism must model the complicating effects of virtual and nonvirtual base classes as well as virtual and non-virtual methods. By abstracting the implementational notion of a subobject and formalizing subobject selection, we develop a formalism to model this combination of features. Not intended as a formal semantics of C++, the resulting model should nevertheless provide an essential level of understanding for language theorists and implementors in their dealings with C++ and related languages.
Lecture notes in business information processing, 2019
A panel of university staff and industry Agile experts were invited to conclude the XP 2019 confe... more A panel of university staff and industry Agile experts were invited to conclude the XP 2019 conference with a discussion of the conference theme: "Agilethe Next 20 Years: Share and Discover!" The panelists gave their views of the value of the Agile Manifesto, the possible future of Agile scaling frameworks, and some ideas for improving industry-university collaboration.
If software is so easy to create, why is it so difficult to change existing software to keep up t... more If software is so easy to create, why is it so difficult to change existing software to keep up to date with changing requirements? Discovery costs-the costs of learning what one needs to know in order to evolve an existing software system-has proven to be the dominant (but often unrecognized) cost in many software systems. This subject was discussed in a previous OOPSLA panel session: "Do Patterns and Frameworks Reduce Discovery Costs?" at OOPSLA '97. This workshop will take a fresh look-five years laterat how organizations are coping with discovery costs.
In the 21st Century, software is the enabling innovation pillar for all of civilization's needs-i... more In the 21st Century, software is the enabling innovation pillar for all of civilization's needs-including: food supply, living space (water, waste, power, and climate) management, services (health, financial, transportation, communication) and human relations (social networking). While the professionalism inherent in implementing, deploying, and configuring software systems may not appear as advanced as that found in other more regulated professions such as medicine, aviation, and engineering-is it "good enough"? This panel will discuss whether we are learning effectively from our experiences with failure and human hazards. Panelists will also discuss how software professionalism can be accelerated and debate the effectiveness of proficiency certifications in fostering increased professionalism.
At the recent SPLASh (Systems, Programming, Languages and Applications: Software for Humanity) co... more At the recent SPLASh (Systems, Programming, Languages and Applications: Software for Humanity) conference, one of us (Steven Fraser) organized an international group of experts to discuss challenges in software tools research.
As the volume of legacy software grows, how have we grown in our ability to leverage this legacy-... more As the volume of legacy software grows, how have we grown in our ability to leverage this legacy-or, for that matter, is it worth the effort? Is legacy software a hoard of useful information and behavior-or is it a ball and chain, something you should cut loose if you want to make progress? Legacy constraints often seem immense and burdensome-but, do they always need to be? Is object-oriented legacy software spaghetti code-or is it more like ravioli? Do agile methods embrace or reject the use of the legacy?
No Silver Bullet" is a classic software engineering paper that deserves revisiting. What if we ha... more No Silver Bullet" is a classic software engineering paper that deserves revisiting. What if we had a chance to rewrite Brooks' article today? What have we learned about effective software development techniques over the last 20 years? Do we have some experiences that reinforce or contradict Brooks' thesis?
An agile organization adapts what they are building to match their customer's evolving needs. Agi... more An agile organization adapts what they are building to match their customer's evolving needs. Agile teams also adapt to changes in their organization's work environment. The latest change is the evolving environment of "hybrid" work-a mix of in-person and virtual staff. Team members might sometimes work together in the office, work from home, or work in other locations, and they may struggle to sustain a high level of collaboration and innovation. It isn't just pandemic social distancingmany of us want to work from home to eliminate our commute and spend more time with family. Are there learnings and best practices that organizations can use to become and stay effective in a hybrid world? An XP 2022 panel organized by Steven Fraser (Innoxec) discussed these questions in June 2022. The panel was facilitated by Hendrik Esser (Ericsson) and featured Alistair Cockburn (Heart of Agile), Sandy Mamoli (Nomad8), Nils Brede Moe (SINTEF), Jaana Nyfjord (Spotify), and Darja Smite (Blekinge Institute of Technology).
Proceedings of the 3rd International Workshop on Software Engineering Research and Industrial Practice, 2016
Company strategies for building and leveraging industry-university research collaborations are ma... more Company strategies for building and leveraging industry-university research collaborations are many and varied. This paper reports on strategies observed at North American technology companies including BNR, Northern Telecom, Qualcomm, Cisco, Bell Labs, Lucent, and Alcatel-Lucent. Strategies included a range of tactics focused on leveraging intellectual property portfolios, benchmarking processes and products, recruiting experienced technical talent, cost avoidance and reduction, and philanthropy. The strategies reported here build on the tactics reported in a paper presented by the first author at the second ICSE Workshop on Software Engineering Research and Industrial Practice held in Florence, 2015.
Uploads
Papers by Dennis Mancl