Li-Te Cheng
IBM
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Li-Te Cheng.
eclipse technology exchange | 2003
Li-Te Cheng; Susanne Hupfer; Steven I. Ross; John F. Patterson
Collaboration is an integral part of software development, occurring through tools inside and outside the IDE. This paper presents an overview of the Jazz project, which seeks to integrate collaborative capabilities into the Eclipse IDE, enabling small teams of software developers to work together more productively.
international conference on software engineering | 2010
Margaret-Anne D. Storey; Christoph Treude; Arie van Deursen; Li-Te Cheng
Todays generation of software developers frequently make use of social media, either as an adjunct or integrated into a wide range of tools ranging from code editors and issue trackers, to IDEs and web-based portals. The role of social media usage in software engineering is not well understood, and yet the use of these mechanisms influences software development practices. In this position paper, we advocate for research that strives to understand the benefits, risks and limitations of using social media in software development at the team, project and community levels. Guided by the implications of current tools and social media features, we propose a set of pertinent research questions around community involvement, project coordination and management, as well as individual software development activities. Answers to these questions will guide future software engineering tool innovations and software development team practices.
ACM Queue | 2003
Li-Te Cheng; Cleidson R. B. de Souza; Susanne Hupfer; John F. Patterson; Steven I. Ross
Software development is rarely a solo coding effort. More often, it is a collaborative process, with teams of developers working together to design solutions and produce quality code. The members of these close-knit teams often look at one another’s code, collectively make plans about how to proceed, and even fix each other’s bugs when necessary. Teamwork does not stop there, however. An extended team may include project managers, testers, architects, designers, writers, and other specialists, as well as other programming teams. Programmers also interact with the community of developers outside their organization to obtain advice, code snippets, and a general understanding of what works and what doesn’t.
conference on computer supported cooperative work | 2004
Susanne Hupfer; Li-Te Cheng; Steven I. Ross; John F. Patterson
We present contextual collaboration, an approach to building collaborative systems that embeds collaborative capabilities into core applications, and discuss its advantages. We describe the Jazz collaborative application development environment that we are using to explore this concept and discuss design guidelines that have emerged from our experience.
foundations of software engineering | 2004
Cleidson R. B. de Souza; David F. Redmiles; Li-Te Cheng; David R. Millen; John F. Patterson
The principle of information hiding has been very influential in software engineering since its inception in 1972. This principle prescribes that software modules hide implementation details from other modules in order to decrease their interdependencies. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a qualitative study on how practitioners use APIs in their daily work. Although particularly interested in aspects of collaboration, we report all findings about their observed use. The findings include mundane observations that are predicted by theory, ways that APIs support collaborative software development. But the findings also include some surprises, ways that APIs hinder collaboration. The surprises indicate directions for further improvement of collaborative software development practices and tools.
conference on computer supported cooperative work | 2004
Cleidson R. B. de Souza; David F. Redmiles; Li-Te Cheng; David R. Millen; John F. Patterson
Information hiding is one of the most important and influential principles in software engineering. It prescribes that software modules hide implementation details from other modules in order to decrease the dependency between them. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a field study of the use of APIs and observed that they served many roles. We observed that APIs were successful indeed in supporting collaboration by serving as contracts among stakeholders as well as by reifying organizational boundaries. However, the separation that they accomplished also hindered other forms of collaboration, particularly among members of different teams. Therefore, we think argue that APIs do not only have beneficial purposes. Based on our results, we discuss implications for collaborative software development tools.
human factors in computing systems | 2013
Michael Muller; Werner Geyer; Todd Soule; Steven D. Daniels; Li-Te Cheng
We describe a first experiment in enterprise crowdfunding - i.e., employees allocating money for employee-initiated proposals at an Intranet site, including a trial of this system with 511 employees in IBM Research. Major outcomes include: employee proposals that addressed diverse individual and organizational needs; high participation rates; extensive inter-departmental collaboration, including the discovery of large numbers of previously unknown collaborators; and the development of goals and motivations based on collective concerns at multiple levels of project groups, communities of practice, and the organization as a whole. We recommend further, comparative research into crowd-funding and other forms of employee-initiated innovations.
IEEE Transactions on Software Engineering | 2009
Margaret-Anne D. Storey; Jody Ryall; Janice Singer; Del Myers; Li-Te Cheng; Michael Muller
Developers frequently add annotations to source code to help them remember pertinent information and mark locations of interest for future investigation. Finding and refinding these notes is a form of navigation that is integral to software maintenance. Although there is some tool support in modern development environments for authoring and navigating these comments, we have observed that these annotations often fail to remind and are sometimes difficult to find by the programmer. To address these shortcomings, we have designed a new approach for software navigation called tags for software engineering activities (TagSEA). TagSEA combines the notion of waypointing (a mechanism for marking locations in spatial navigation) with social tagging to support programmers in defining semantically rich annotations to source code comments. The tool provides support for creating, editing, navigating, and managing these annotations. We present the results from two empirical studies, where we observed and then analyzed how professional programmers used source code annotations to support their development activities over 24 months. Our findings indicate that the addition of semantic information to annotations can improve their value. We also provide suggestions on how annotation tools in general may be improved.
Ibm Systems Journal | 2006
Werner Geyer; Michael Muller; Martin T. Moore; Eric Wilcox; Li-Te Cheng; Beth Brownholtz; Charles R. Hill; David R. Millen
Activity Explorer is the first product from IBM that supports the notion of activity-centric collaboration. This new collaboration paradigm organizes and integrates resources, tools, and people around the computational concept of a work activity, with the goal of increasing work quality and efficiency. In essence, activity-centric collaboration is an important and compelling example of contextual collaboration. Activity Explorer emerged from a multiyear research effort on activity-centric collaboration. This paper presents an overview of the most significant milestones of this research program and highlights the most interesting findings. The research behind Activity Explorer is based on many empirical studies, design explorations, and infrastructural engineering and technical simulations. We demonstrate how our research not only influenced product direction, but also the IBM vision for activity-centric collaboration.
IEEE Software | 2009
Cleidson R. B. de Souza; Helen Sharp; Janice Singer; Li-Te Cheng; Gina Venolia
Software is developed by people, used by people, and supports interaction among people. As such, human characteristics and cooperation are central to modern practical software construction. While human aspects were recognized as important over 30 years ago, recent changes in the software domain have made cooperative and human aspects of software engineering even more significant. This special issue of IEEE Software presents a sample of current research in this field illustrating the wide variety of approaches, software domains and activities in which human and cooperative aspects are being investigated.