首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 78 毫秒
1.
Statz  J. 《Software, IEEE》1999,16(2):30-32
In today's fast-moving market, software project teams don't have time to make several attempts to meet a customer's requirements. Teams need to be smart about what they do learning from the experiences of colleagues within their own organization and in the industry. In short, teams need to take the time to do things as “right” as they can because they don't have time to do things over. Why do we often have to do things over? Why do we repeat the mistakes of the past? It's related to this: Insanity is doing things the same way we did them before, but expecting different results. It's hard for a team to get better at what it's doing if it doesn't think about its work and how to improve it. Some project teams do, in fact, think about how and why their projects worked. They gather and document lessons learned. Some teams share that information with others in their organization, and a few teams attempt to review what others have learned as they start a new project or new phase of a project. But many teams do none of this. They're the ones that encounter the same problems over and over again, attributing them to bad luck when, in fact, poor project learning and poor organizational learning are the underlying causes  相似文献   

2.
软件过程是人和计算机化的工具交互完成的可能持续长时间的复杂实体。软件过程比商业过程自动化程度要低,因为需要更多的人的参与和软件工具的支持,也有更多不断持续改进的需求。软件过程首先要建模,因此建模语言扮演了一个非常关键的角色。从管理的角度出发,CMM提出了一个软件过程概念框架。既要支持软件过程语言的要求的特性,又要支持CMM,基于CMM的软件过程定义语言必须把这个一般性和特殊性的要求结合起来。本文描述的软件过程定义语言CSPDL采用了图形和XML文本相结合的表示方式。同时,软件过程定义工具是支持建模的必需的支持。要尽量地支持软件过程语言的特性,还需要很多工作要做。  相似文献   

3.
Rigorous project management can help raise a software product development process from an initial, immature stage that is unstable and unrepeatable to an optimized maturity level characterized by continuous improvement and innovation. Goals and actions related to a repeatable project management process have been outlined in the Capability Maturity Model (CMM) developed by the Software Engineering Institute at Carnegie Mellon University. The CMM provides good guidelines for initiating software process improvement particularly in the project management area; however, the successful implementation of the CMM guidelines is often not accomplished without significant organizational change involving increased emphasis on change management, teams and employee empowerment. This paper is empirically based on observations, surveys, and interviews of project team managers and project team members in a large, multinational organiplanning, change management, quality management, team work, and process control. Findings presented in this paper are correlated with the CMM guidelines as well as organizational factors that were found to enable or impede the successful deployment of various aspects of a project management improvement plan. The role of education and training in process and quality techniques as well as project management tools that support group work is also examined. This paper provides some insight into the issues faced by organizations based on traditional hierarchy or matrix management as they attempt to move into a more process-driven, quality-oriented development environment. As organizations move towards global markets they need increased emphasis on quality, value, teams, standards and global project management strategies based on structured guidelines to handle process flow within and between projects, departments, organizations, and national boundaries.  相似文献   

4.
ContextRoot cause analysis (RCA) is a useful practice for software project retrospectives, and is typically carried out in synchronous collocated face-to-face meetings. Conducting RCA with distributed teams is challenging, as face-to-face meetings are infeasible. Lack of adequate real-time tool support exacerbates this problem. Furthermore, there are no empirical studies on using RCA in synchronous retrospectives of geographically distributed teams.ObjectiveThis paper presents a real-time cloud-based software tool (ARCA-tool) we developed to support RCA in distributed teams and its initial empirical evaluation. The feasibility of using RCA with distributed teams is also evaluated.MethodWe compared our tool with 35 existing RCA software tools. We conducted field studies of four distributed agile software teams at two international software product companies. The teams conducted RCA collaboratively in synchronous retrospective meetings by using the tool we developed. We collected the data using observations, interviews and questionnaires.ResultsComparison revealed that none of the existing 35 tools matched all the features of our ARCA-tool. The team members found ARCA-tool to be an essential part of their distributed retrospectives. They considered the software as efficient and very easy to learn and use. Additionally, the team members perceived RCA to be a vital part of the retrospectives. In contrast to the prior retrospective practices of the teams, the introduced RCA method was evaluated as efficient and easy to use.ConclusionRCA is a useful practice in synchronous distributed retrospectives. However, it requires software tool support for enabling real-time view and co-creation of a cause-effect diagram. ARCA-tool supports synchronous RCA, and includes support for logging problems and causes, problem prioritization, cause-effect diagramming, and logging of process improvement proposals. It enables conducting RCA in distributed retrospectives.  相似文献   

5.
Many development teams, especially distributed teams, require process support to adequately coordinate their complex, distributed work practices. Process modeling and enactment tools have been developed to meet this requirement. The authors discuss the Serendipity-II process management environment which supports distributed process modeling and enactment for distributed software development projects. Serendipity-II is based on a decentralized architecture and uses Internet communication facilities  相似文献   

6.
The rapid evolution of our data communications infrastructure is making distributed projects increasingly viable. Without a common infrastructure, computer-supported collaborative tools for distributed teams have been prohibitively expensive to build and maintain. However, the increasing availability of the Internet is enabling companies to develop cost-effective collaborative solutions. Traditional desktop project management software is designed as a single-user tool that lets the project manager track tasks, milestones and deliverables. As teams spread over geographic distances with multiple centers of control, the communication, coordination, and tracking of ongoing project activity become key issues for project success. This article looks beyond the traditional planning focus of project management applications to a network-centric focus on collaboration. It describes the implementation of ActionPlan, a 100 percent Java-based application from Netmosphere that supports real-time collaboration among Java thin clients to facilitate distributed project management  相似文献   

7.

Context

Human resources play a critical role in software project success. However, people are still the least formalized factor in today’s process models. Generally, people are assigned to roles and project teams are formed on the basis of project leaders’ experience of people, constraints (e.g. availability) and skill requirements. Yet this process has to take multiple factors into account. Few works in the literature model this process. Most of these are informal proposals focusing on the individual assignment of people to project tasks and do not consider other aspects like team formation as a whole.

Objective

In this paper we formulate a formal model for assigning human resources to software project teams. Additionally, we describe the key results of the knowledge management process enacted to output the elements of the model.

Method

The model elements were identified using the Delphi expert consultation method and applying psychological tests. The proposed model was implemented in a software tool and validated on two software development organization assignment scenarios.

Results

We built a formal model for the process of assigning human resources to software project teams. This model takes into account as many factors as possible and aids the assignment of individuals to project roles, as well as the formation of the team as a whole.We found that the rules that were identified to form software development project teams are useful. From the tests we found that model implementation was feasible (all the executions of the implemented problem-solving algorithms output feasible solutions in response times that can be considered as acceptable).

Conclusion

Using the Delphi method we were able to propose software project roles and competences. Psychological tests and data mining tools identified useful rules for forming software project teams. These were used to build a formal model. This model was built into a tool that returns role assignments in acceptable response times. This decision support tool helps managers assign people to roles and to form teams. Using the tool, project leaders can flexibly evaluate different team make-ups, taking into account several factors, as well as different constraints and objectives.  相似文献   

8.
With the increase in size and complexity of current software projects, many large companies have established global software production lines over the world to develop and deliver software products with collaborative software development processes involving multiple teams located at different sites. Supporting global software production needs an effective software-engineering environment to meet the special requirements of the collaborative software development process, diverse management methods and engineering practice. WWW technology provides powerful means to set up an enterprise-oriented software engineering environment for global software production due to its advantages in networking, global access, internationalization, and communication. Although there are many articles addressing the methods and experience in building web-based applications systems and tools, very few papers discuss the real-world problems and solutions in the development and deployment of web-based software tools to support a collaborative software development process for global software production. This paper discusses the real world issues, and reports our experience and lessons in building and deploying a web-based problem information management system (PIMS) to support global software development processes at Fujitsu. It focuses on the real issues and needs of current collaborative development process involving multiple teams, and highlights the benefits and impact of the PIMS on global software production. Moreover, it discusses our technical solutions and trade-offs in the development of PIMS, and shares our experience and lessons. Furthermore, it introduces a new data-centered conceptual process model to support diverse collaborative processes for project and problem management in global software production. Finally, the paper shares our key successes and weaknesses, and reports our experience and lessons in the deployment of the system.  相似文献   

9.
ContextThis systematic mapping review is set in a Global Software Engineering (GSE) context, characterized by a highly distributed environment in which project team members work separately in different countries. This geographic separation creates specific challenges associated with global communication, coordination and control.ObjectiveThe main goal of this study is to discover all the available communication and coordination tools that can support highly distributed teams, how these tools have been applied in GSE, and then to describe and classify the tools to allow both practitioners and researchers involved in GSE to make use of the available tool support in GSE.MethodWe performed a systematic mapping review through a search for studies that answered our research question, “Which software tools (commercial, free or research based) are available to support Global Software Engineering?” Applying a range of related search terms to key electronic databases, selected journals, and conferences and workshops enabled us to extract relevant papers. We then used a data extraction template to classify, extract and record important information about the GSD tools from each paper. This information was synthesized and presented as a general map of types of GSD tools, the tool’s main features and how each tool was validated in practice.ResultsThe main result is a list of 132 tools, which, according to the literature, have been, or are intended to be, used in global software projects. The classification of these tools includes lists of features for communication, coordination and control as well as how the tool has been validated in practice. We found that out the total of 132, the majority of tools were developed at research centers, and only a small percentage of tools (18.9%) are reported as having been tested outside the initial context in which they were developed.ConclusionThe most common features in the GSE tools included in this study are: team activity and social awareness, support for informal communication, Support for Distributed Knowledge Management and Interoperability with other tools. Finally, there is the need for an evaluation of these tools to verify their external validity, or usefulness in a wider global environment.  相似文献   

10.
This article presents a software visualization framework which can help project managers and team leaders in overseeing issues and their management in software development. To automate the framework, a dashboard tool called IssuePlayer is developed. The tool is used to study the trends in which different types of issues (e.g., bugs, support requests) are submitted, handled and piled up in software projects and use that information to identify process symptoms, e.g., the times when the code maintenance team is not responsive enough. The interactive nature of the tool enables identification of the team members who have not been as active as they were expected to be in such cases. The user can play, pause, rewind and forward the issue management histories using the tool. The tool is empirically evaluated by two industrial partners in North America and Europe. The survey and qualitative feedback support the usefulness and effectiveness of the tool in assessing the issue management processes and the performance of team members. The tool can be used complementarily in parallel with textual information provided by issue management tools (e.g., BugZilla) to enable team leaders to conduct effective and successful monitoring of issue management in software development projects.  相似文献   

11.
Managing global software development teams is not an easy task because of the additional problems and complexities that have to be taken into account. This paper defines VTManager, a methodology that provides a set of efficient practices for global virtual team management in software development projects. These practices integrate software development techniques in global environments with others such as explicit practices for global virtual team management, definition of skills and abilities needed to work in these teams, availability of collaborative work environments and shared knowledge management practices. The results obtained and the lessons learned from implementing VTManager in a pilot project to develop software tools for collaborative work in rural environments are also presented. This project was carried out by geographically distributed teams involving people from seven countries with a high level of virtualness.  相似文献   

12.
Rich development process models contain information about structures for project organization and also for concrete outcomes of a project. However, rich processes are hard to implement. They often contain hundreds of pages of documentation. Development teams tend to be skeptical about rich processes in fear of additional effort, risking the benefits of rich tool support for enactment. Process enactment is a challenging task. There is no common methodology to quickly “implement” a development process in a tool or a set of tools. Often specialized tools are used to provide assistance during the project and it is the project manager’s task to consolidate the information with the rest of the team.The Process Enactment Tool Framework (PET) is a software tool that supports the transformation of a given formal development process into a format that project tools can work with. PET is an instrument to import processes based on a metamodel and provide exports for a specific project environment. PET takes an input software development process model and transforms it into an intermediate format that serves as the basis for a second transformation step into data formats of tools such as office suites or comprehensive ALM platforms. In this paper we present the tool framework and show how metamodel-based processes can be transformed into an environment that is ready to use for a project team. We show how PET is applied for the German V-Modell XT and for SPEM-based processes to generate, e.g., process templates for the Team Foundation Server or work product document templates.  相似文献   

13.
In this paper we describe how knowledge management and software process support can be integrated to improve the efficiency of virtual software teams. The approach presented here integrates a process enactment environment with an on-demand knowledge delivery strategy that is based on parameterized information needs models. The parameters in the information needs models are bound at project execution time to values extracted from the process enactment engine. Thus, the approach supports virtual teams by establishing a platform for systematic and task-specific knowledge exchange. The proposed approach is prototypically implemented in the MILOS system, an open source project of the University of Calgary (Canada) and the University of Kaiserslautern (Germany).  相似文献   

14.
Concurrent engineering (CE) is a strategy that attempts to process as many product development tasks in parallel and incorporate relevant life-cycle attributes as early as possible in the design phase in an effort to reduce the duration of design projects, save development costs, and provide better quality products. The CE environment is characterized by a high degree of distributed cognitive processing in the form of product development team structures. The distribution of appropriate knowledge to members of these teams and other participants in the design process for the purpose of supporting management and planning decisions is a considerably complex problem. New approaches and tools based on artificial intelligence methodologies are needed to deal with this level of complexity in coordinating knowledge resources. This paper reviews a number of potential candidates for an intelligent software architecture that can represent this type of problem as well as support the knowledge handling necessary to solve such problems. The selection of an appropriate architecture will support the development of an intelligent information system that is able to mimic human cognitive processes as the basic tool for providing decision-making support for planning and controlling a CE design process.  相似文献   

15.
McConnell  S. 《Computer》1998,31(5):100-102
Some people in the software development community think “process” is a four letter word. They think software processes are rigid, restrictive, and inefficient. They hold that the best way to run a project is to hire the best people you can, give them all the resources they ask for, and turn them loose to do what they do best. Sure, they say, there will be some amount of unproductive work is (also known as “thrashing”). After all, developers will make mistakes. But they will also be able to quickly and efficiently correct these mistakes at a cost that is less overall than the cost of processes. This point of view has intuitive appeal. At the beginning of a project, a focus on process certainly does take time away from productive work. If that trend were to continue throughout the project, it wouldn't make sense to spend much time on process. Software industry experience, however, has found that for projects that don't pay attention to establishing effective processes early are forced to slap them together late, when slapping them together takes more time and does less good. The article points out the problems caused by inattention to process, explains what happens when a project thrashes, and discusses the use of process versus creativity  相似文献   

16.
Software modernization is critical for organizations that need cost-effective solutions to deal with the rapid obsolescence of software and the increasing demand for new functionality. This paper presents the XIRUP modernization methodology, which proposes a highly iterative process, structured into four phases: preliminary evaluation, understanding, building and migration. This modernization process is feature-driven, component-based, focused on the early elicitation of key information, and relies on a model-driven approach with extensive use of experience from the previous projects. XIRUP has been defined in the European IST project MOMOCS, which has also built a suite of support tools. This paper introduces the process using a case study that illustrates its activities, related tools and results. The discussion highlights the specific characteristics of modernization projects and how a customized methodology can take advantage of them.  相似文献   

17.
Large projects generally involve a number of phases and evolve over a period of time. Several revisions of the individual artifacts consisting of the project take place during the various phases. These revisions and refinements are normally captured as different versions using configuration/version management tools. But the semantics of these refinements with respect to the project are not captured by existing mechanisms. In addition to the above, a change in the semantics of a project artifact may require suitable changes in other related artifacts. Existing mechanisms for configuration management do not provide mechanisms for change propagation based on the change semantics. In this paper, we propose a generic model for semantics-based version management in projects, which can be built over existing tools. The model also provides support for capturing how changes propagate in a project. We then elucidate the generality of the model by applying it to a project involving a CAD framework and a software development project  相似文献   

18.
Agile software development techniques are promising to deliver software faster, in better quality, and at a lower cost. Most examples relate to small, co-located teams working on a completely new project, with no legacy. This article focuses on applying Agile methods to a world-wide project with hundreds of developers delivering a market-leading product. In contrast to projects starting from scratch, existing customers have natural demands for support, bug fixes, and new features that focus on their particular needs.  相似文献   

19.
Flexible software development models, e.g., evolutionary and incremental models, have become increasingly popular. Advocates claim that among the benefits of using these models is reduced overruns, which is one of the main challenges of software project management. This paper describes an in-depth survey of software development projects. The results support the claim that projects which employ a flexible development model experience less effort overruns than do those which employ a sequential model. The reason for the difference is not obvious. We found, for example, no variation in project size, estimation process, or delivered proportion of planned functionality between projects applying different types of development model. When the managers were asked to provide reasons for software overruns and/or estimation accuracy, the largest difference was that more of flexible projects than sequential projects cited good requirement specifications-and good collaboration/communication with clients as contributing to accurate estimates.  相似文献   

20.
Over the past decade numerous methodologies were introduced to guide and ease the project manager's burden over the entire life cycle of system/software development. Additionally, various software tools were developed to support specific methodologies. In fact, the collection of methodologies and support tools grew so rapidly that a project manager was left with a confusing array of choices. Some method was needed for comparing project requirements against the methodology capabilities in order to find the best fit. The Air Force awarded a contract to Boeing Aerospace Company to address the problem. The stated objective of the Specification Technology Guidelines contract was to organize existing information on requirements and design technologies into a Guidebook that could be used by USAF technical managers in selecting appropriate methodologies for future projects. We will describe an approach that integrates such concepts as project significance level, software categorization, and life-cycle requirements, and implements them by means of a table-driven procedure that could easily be computerized. Using this approach, the technical manager measures project significance and requirements against the functions available in various methodologies; selects candidate methodologies best fitting a project; and, finally, assigns a score to the candidates in order to make a final methodology selection.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号