首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
In a large organization, informal communication and simple backlogs are not sufficient for the management of requirements and development work. Many large organizations are struggling to successfully adopt agile methods, but there is still little scientific knowledge on requirements management in large-scale agile development organizations. We present an in-depth study of an Ericsson telecommunications node development organization which employs a large scale agile method to develop telecommunications system software. We describe how the requirements flow from strategy to release, and related benefits and problems. Data was collected by 43 interviews, which were analyzed qualitatively. The requirements management was done in three different processes, each of which had a different process model, purpose and planning horizon. The release project management process was plan-driven, feature development process was continuous and implementation management process was agile. The perceived benefits included reduced development lead time, increased flexibility, increased planning efficiency, increased developer motivation and improved communication effectiveness. The recognized problems included difficulties in balancing planning effort, overcommitment, insufficient understanding of the development team autonomy, defining the product owner role, balancing team specialization, organizing system-level work and growing technical debt. The study indicates that agile development methods can be successfully employed in organizations where the higher level planning processes are not agile. Combining agile methods with a flexible feature development process can bring many benefits, but large-scale software development seems to require specialist roles and significant coordination effort.  相似文献   

2.
While the literature offers several frameworks that explain barriers to knowledge sharing within software development teams, little is known about differences in how team members perceive these barriers. Based on an in‐depth multi‐case study of four software projects, we investigate how project managers, developers, testers and user representatives think about barriers to effective knowledge sharing in agile development. Adapting comparative causal mapping, we constructed causal maps for each of the four roles and identified overlap and divergence in map constructs and causal linkages. The results indicate that despite certain similarities, the four roles differ in how they perceive and emphasize knowledge‐sharing barriers. The project managers put primary emphasis on project setting barriers, while the primary concern of developers, testers and user representatives were project communication, project organization and team capabilities barriers, respectively. Integrating the four causal maps and the agile literature, we propose a conceptual framework with seven types of knowledge‐sharing barriers and 37 specific barriers. We argue that to bridge communication gaps and create shared understanding in software teams, it is critical to take the revealed concerns of different roles into account. We conclude by discussing our findings in relation to knowledge sharing in agile teams and software teams more generally.  相似文献   

3.
李其锋  李兵 《计算机科学》2015,42(12):43-46
开源软件的开发主要依靠开发人员的自我管理和志愿贡献。在软件开发过程中,开发人员的组成、分工、能力等会发生经常性的改变,这些改变都会通过交互行为的变化反映出来。已有研究成果表明开源软件存在核心团队,他们主导项目的开发与实施,但对开发团队随时间而发生的结构变化的研究较少。通过观测软件项目生命周期中开发者总体的变化情况,研究了开发者网络与软件的协同演化机理,以GNU/Linux公共数据集为例,讨论了开源软件开发者数量、自愿度、开发者经验与项目的协同演化现象,并给出了演化的合理解释。  相似文献   

4.
ContextEmpowerment of employees at work has been known to have a positive impact on job motivation and satisfaction. Software development is a field of knowledge work wherein one should also expect to see these effects, and the idea of empowerment has become particularly visible in agile methodologies, in which proponents emphasise team empowerment and individual control of the work activities as a central concern.ObjectiveThis research aims to get a better understanding of how empowerment is enabled in software development teams, both agile and non-agile, to identify differences in empowering practices and levels of individual empowerment.MethodTwenty-five interviews with agile and non-agile developers from Norway and Canada on decision making and empowerment are analysed. The analysis is conducted using a conceptual model with categories for involvement, structural empowerment and psychological empowerment.ResultsBoth kinds of development organisations are highly empowered and they are similar in most aspects relating to empowerment. However, there is a distinction in the sense that agile developers have more possibilities to select work tasks and influence the priorities in a development project due to team empowerment. Agile developers seem to put a higher emphasis on the value of information in decision making, and have more prescribed activities to enable low-cost information flow. More power is obtained through the achievement of managing roles for the non-agile developers who show interest and are rich in initiatives.ConclusionAgile developers have a higher sense of being able to impact the organisation than non-agile developers and have information channels that is significantly differently from non-agile developers. For non-agile teams, higher empowerment can be obtained by systematically applying low-cost participative decision making practices in the manager–developer relation and among peer developers. For agile teams, it is essential to more rigorously follow the empowering practices already established.  相似文献   

5.
In this paper we discuss the impact software developer performance has on project outcomes. Project performance remains unreliable in the software industry with many compromised software systems reported in the press. We investigate the impact that developer performance has on aspects of project success and explore how developer performance is motivated. We present interview, focus group and questionnaire data collected from a team of developers working in a software organization that has been assessed at CMM level 5. Our main findings are that developers value technical skills in their colleagues, but appreciate these especially when supplemented with good human skills. Software developers with a proactive, flexible, adaptable approach who are prepared to share knowledge and follow good practice are said to be the best developers. Motivators for these developers are pay and benefits, recognition and opportunities for achievement in their work. Overall, we found that technical competence, interpersonal skills and adherence to good practices are thought to have the biggest impact on software project success.
Nathan BaddooEmail:

Tracy Hall   is Head of the Systems & Software Research Group in the School of Computer Science at the University of Hertfordshire. Dr Hall's expertise is in Empirical Software Engineering research. Over the last 15 years she has conducted many empirical software engineering studies with a variety of industrial collaborators. She has published nearly 30 international journal papers and nearly 50 international conference papers. Dr Hall is a member of the Software Quality Journal's Editorial Board and a member of the programme committee for the The IEEE International Conference on Empirical Software Engineering. Dorota Jagielska   is a researcher with the Mental Health Sciences Department of University College London. She was previously a researcher in the Systems and Software Research group in the School of Computer Science at the University of Hertfordshire. In 2001 Dorota obtained a Masters degree in Philosophy from the University of Gdansk, Poland, and followed it by a Masters degree in Psychology from the same University in 2004. Her main research interests are human factors in software engineering, especially the role of communication within software teams. Nathan Baddoo   is a Senior Lecturer in the School of Computer Science at the University of Hertfordshire. He is a member of the Systems and Software Research group at the University of Hertfordshire. His research focuses on the relationship between developer motivation and software quality, software process improvement and software project performance. Dr. Baddoo has expertise in focus group discussions and Repertory Grid Technique interviews, and has applied novel data collection and analysis techniques such as Multi Dimensional Scaling.   相似文献   

6.
An open source software (OSS) ecosystem refers to an OSS development community composed of many software projects and developers contributing to these projects. The projects and developers co-evolve in an ecosystem. To keep healthy evolution of such OSS ecosystems, there is a need of attracting and retaining developers, particularly project leaders and core developers who have major impact on the project and the whole team. Therefore, it is important to figure out the factors that influence developers’ chance to evolve into project leaders and core developers. To identify such factors, we conducted a case study on the GNOME ecosystem. First, we collected indicators reflecting developers’ subjective willingness to contribute to the project and the project environment that they stay in. Second, we calculated such indicators based on the GNOME dataset. Then, we fitted logistic regression models by taking as independent variables the resulting indicators after eliminating the most collinear ones, and taking as a dependent variable the future developer role (the core developer or project leader). The results showed that part of such indicators (e.g., the total number of projects that a developer joined) of subjective willingness and project environment significantly influenced the developers’ chance to evolve into core developers and project leaders. With different validation methods, our obtained model performs well on predicting developmental core developers, resulting in stable prediction performance (0.770, F-value).  相似文献   

7.
Software product development is a highly collaborative activity, where teams of developers need to collaborate to produce a system. It is also a domain where systems are used to try to help the developers coordinate their work. This paper describes the results of an empirical study of the use of one such system, a configuration management tool. Specifically it describes three aspects of the support that the tool provides: the challenges of representing the work, the need to support both individuals and groups working together, and how the assumptions about software development built into the tool interact with others in the organization. The study suggests that long after the initial adoption the tool and the organization continue to interact with each other. It also opens up questions for empirical studies of the organizational context behind the tool usage.This work was supported by the Engineering and Physical Sciences Researcch Council, United Kingdom. This work was conducted while at the University of California, Irvine.  相似文献   

8.
Today, organizations tailor the practices from several agile methodologies to serve their particular environment. But are there situations that drive how an organization should tailor methodologies in a particular manner? This article places 12 commonly used agile development practices into a typology based upon whether they are primarily project management focused or software development approach focused and examines how organizations’ motivations for adopting agile impact the practices they adopt. Finally, it explores how a fit between an organization’s motives for agile method adoption and the tailored agile practices it adopts may lead (or not lead) to differences in project performance.  相似文献   

9.
It is widely believed that systems development methodologies (SDMs) can help improve the software development process. Nevertheless, their deployment often encounters resistance from systems developers. Agile methodologies, the latest batch of SDMs that are most suitable in dealing with volatile business requirements, are likely to face the same challenge as they require developers to drastically change their work habits and acquire new skills. This paper addresses what can be done to overcome the challenge to agile methodologies acceptance. We provide a critical review of the extant literature on the acceptance of traditional SDMs and agile methodologies, and develop a conceptual framework for agile methodologies acceptance based on a knowledge management perspective. This framework can provide guidance for future research into acceptance of agile methodologies, and has implications for practitioners concerned with the effective deployment of agile methodologies.  相似文献   

10.
ContextAgile software development is an alternative software development methodology that originated from practice to encourage collaboration between developers and users, to leverage rapid development cycles, and to respond to changes in a dynamic environment. Although agile practices are widely used in organizations, academics call for more theoretical research to understand the value of agile software development methodologies.ObjectiveThis study uses shared mental models theory as a lens to examine practices from agile software methodologies to understand how agile practices enable software development teams to work together to complete tasks and work together effectively as a team.MethodA conceptual analysis of specific agile practices was conducted using the lens of shared mental models theory. Three agile practices from Xtreme Programming and Scrum are examined in detail, system metaphor, stand-up meeting, and on-site customer, using shared mental models theory.ResultsExamining agile practices using shared mental models theory elucidates how agile practices improve collaboration during the software development process. The results explain how agile practices contribute toward a shared understanding and enhanced collaboration within the software development team.ConclusionsThis conceptual analysis demonstrates the value of agile practices in developing shared mental models (i.e. shared understanding) among developers and customers in software development teams. Some agile practices are useful in developing a shared understanding about the tasks to be completed, while other agile practices create shared mental models about team processes and team interactions. To elicit the desired outcomes of agile software development methods, software development teams should consider whether or not agile practices are used in a manner that enhances the team’s shared understanding. Using three specific agile practices as examples, this research demonstrates how theory, such as shared mental models theory, can enhance our understanding regarding how agile practices are useful in enhancing collaboration in the workplace.  相似文献   

11.
What happens when agile methods are introduced in global outsourcing set-ups? Agile methods are designed to empower IT developers in decision-making through self-managing collocated teams. We studied how agile methods were introduced into global outsourcing from the Indian IT vendor’s perspective. We explored how agile processes in global outsourcing impacts work conditions of the Indian IT developers, and were surprised to find that agile methodologies, even after 3 years of implementation, created a stressful and inflexible work environment negatively impacting their personal lives. Many of the negative aspects of work, which agile methodologies were developed to reduce, were evident in the global agile outsourcing set-up. We propose translocality to repudiate the dichotomy of global/local reminding us that methodologies and technologies must be understood as immediately localized and situated. Translocality helps us to explain why we cannot determine the impact of global agile as a methodology independent of how it unfolds at particular sites. Instead, we must attend to concrete practices of use when evaluating the impact of new methods.  相似文献   

12.
钟扬  刘业政  马向辉 《微机发展》2007,17(11):160-163
结对编程是两个软件开发者在一台电脑前一起工作的一种编程实践,是极限编程方法的基础。对于软件产品的开发,人的知识是项目成功的重要因素。在组织的软件过程改进中,合适地引入结对编程,有利于知识的共享并营造团队合作的氛围,进而改善产品质量和缩短完成时间。不同规模的组织采用的软件过程的不同,对结对编程的引入会有不同的影响,所以在实践中结对编程的重构是必需的。基于小型组织和敏捷过程的项目实践,给出了一个切合实际的结对编程重构方案,进而提高小团队的生产效率。  相似文献   

13.
Project management in plan-based and agile companies   总被引:1,自引:0,他引:1  
Agile methods are a recent set of development techniques that apply a human-centered approach to software production. The agile approach aims to deliver high-quality products faster, producing satisfied customers. We conducted an empirical study to investigate whether agile methods change and improve project management practices in software companies. Survey results show that adopting agile methods appears to improve management of the development process and customer relationships. This article has given a first analysis of the advantages and disadvantages of adopting agile methods from a project management perspective.  相似文献   

14.
《Software, IEEE》2002,19(6):64-65
We've talked about software quality for a long time, developing numerous software quality assurance approaches in the hope of making our software increasingly better. Charles Mann, contributing editor of MIT's Technology Review, points out that other technologies-televisions, cars, airplanes, bridges-have improved over time as their engineering matured; he asks why software has not. In the February 2001 issue of Communications of the ACM, Edsger Dijkstra said that software's biggest challenge is "how not to make a mess of it." So, where have we gone wrong? To answer this question, we can look at how other disciplines learn and grow. Software development is as much an art as a science, and we learn lessons from both perspectives. Many of us think of ourselves as engineers: we train in engineering departments and rely on engineering tools, techniques, and quantitative methods to guide us. But our work's artistic side-which those who promote agile methods often emphasize-plays an important role, too. As good software developers, we are grounded in artistic engineering activities such as modeling and design. Our good people skills enable us to work with customers and on teams. And we need good instincts to select the best approaches and products to use.  相似文献   

15.
Management and organization theories help explain why agility is needed in software development and how to achieve it. Even though the effectiveness of some specific agile practices is not yet fully established, the agile approach is consistent with the sound principles grounded in management and organization theories discussed here. Our analysis helps understand the validity and applicability of the agile approach. It also highlights some of the challenges faced by agile development. Also, this analysis highlights several opportunities to fine-tune and understand the applicability and relevance of agile methods in different project contexts. Finally, rather than focusing attention on whether there is anything new with agile methods, it's more useful to understand the conditions under which specific agile practices are likely to be effective  相似文献   

16.
Many organizations attempt to deploy methodologies intended to improve software development processes. However, resistance by individual software developers against using such methodologies often obstructs their successful deployment. To better explain why individual developers accept or resist methodologies, five theoretical models of individual intentions to accept information technology tools were examined. In a field study of 128 developers in a large organization that implemented a methodology, each model explained significant variance in developers' intentions to use the methodology. Similar to findings from the tool adoption context, we found that, if a methodology is not regarded as useful by developers, its prospects for successful deployment may be severely undermined. In contrast to the typical pattern of findings in a tool context, however, we found that methodology adoption intentions are driven by: 1) the presence of an organizational mandate to use the methodology, 2) the compatibility of the methodology with how developers perform their work, and 3) the opinions of developers' coworkers and supervisors toward using the methodology. Collectively, these results provide surprising new insights into why software developers accept or resist methodologies and suggest what software engineering managers might do to overcome developer resistance.  相似文献   

17.
ABSTRACT

Agile and User-centered design processes have been reported to frequently putting contradictory demands on people working within these methodological frameworks. The current research addresses this point by focussing on the crucial relationship between software developer and designer. An online survey, a contextual inquiry, and a diary study were employed with 107 developers and designers in a large media organization to determine the factors for success in agile development cycles. The results from the survey show that while developers and designers have similar levels of satisfaction with agile processes, there are differences in the factors predicting those ratings. Developers are happier with the wider teamwork but want more access to and close collaboration with designers, while the latters’ concern was the quality of the wider teamwork. Additional contextual inquiries and a diary study with pairs of designers and developers reflected the survey findings that close cooperation (and proximity) was essential for improving communication, reducing inefficiencies, and avoiding suboptimal products being released. However, organizational processes, the setup of the work environment, and managerial traditions meant that this close collaboration and localized decision-making was found difficult to maintain. Results from the survey, the contextual inquiry, and the diary study found six factors for success from collaborations emerged.  相似文献   

18.
Effective communication, collaboration, and coordination are important contributing factors in achieving success in agile software development projects. The significance of the workplace environment and tools are immense in effective communication, collaboration, and coordination among people performing software development. In this article, we study how the workplace environment and the effective use of tools like whiteboards, status boards, and so forth for exchanging information improved communication, collaboration, and coordination without compromising the ability to do individual work by developers in a small‐scale software development organization. Based on experience and an extensive literature review of communication, collaboration, coordination, and the significance of these in the workplace environment, a survey questionnaire was developed to collect data and observe the effect of these in a small software development organization. Our study indicated appropriate workspace environment has a positive effect on communication, collaboration, and coordination in small organizations developing software using eXtreme Programming (XP). © 2009 Wiley Periodicals, Inc.  相似文献   

19.
《Computer》2003,36(6):74-78
The transition from a plan-driven to an agile software development process affects not only the development team members, but also other teams, departments, and management. Any new process will likely attract developers excited to try it while repelling those opposed to change. Thus, how an agile process is introduced into an organization significantly affects its ultimate success.  相似文献   

20.
The number of success stories being reported concerning agile software development has led to an increase in interest among industries and research communities. The purpose of this paper is to identify strengths and barriers for ‘successful agile deployment’ in the software companies. This knowledge can benefit software companies planning their current strategy for agile deployment. Analysis of 57 developers, architects, project managers, customers, quality managers, and line and product managers in three case companies identifies 71 strengths and 169 barriers of agile deployment. The analysis revealed the importance of management providing the necessary goals and support for agile development. It also indicated the significance of defining a tailored process model and giving developers the freedom to improve their own agile development process continuously during agile deployment. The identified barriers, strengths and recommendations can be used as a checklist for planning and/or monitoring the effectiveness of agile deployment in software companies. By identifying the barriers and strengths of agile deployment, the paper deepens understanding of this highly relevant but relatively under-researched phenomenon and contributes to the literature on agile deployment and software process improvement.  相似文献   

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

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