| 研究生: |
郭人豪 Kuo, Jen-Hao |
|---|---|
| 論文名稱: |
自任務分配中揭示協調需求以預估團隊績效 Revealing Coordination Needs from Task Allocation for Team Performance Estimation |
| 指導教授: |
焦惠津
Jiau, Hewijin Christine |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2020 |
| 畢業學年度: | 108 |
| 語文別: | 英文 |
| 論文頁數: | 40 |
| 中文關鍵詞: | Scrum 、協調 、協調需求 、任務相依性 、任務分配 、團隊績效預估 |
| 外文關鍵詞: | Scrum, Coordination, Coordination Needs, Task Dependency, Task Allocation, Team Performance Estimation |
| 相關次數: | 點閱:82 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
Scrum 是一種普遍使用的敏捷式開發方法。在 scrum 開發方法中,開發團隊負責將 sprint 中被選定產品待辦項目轉換為「完成」的產品增量模組。該團隊會決定可以滿足被選定產品待辦項目的產品功能,並且進行任務以實作產品功能。當具有相依性的任務被分配給不同開發者時,開發者之間會有協調需求。整個團隊的協調需求難以量化,導致團隊在量化協調成本時遇到困難。因此,sprint 的團隊績效難以被準確預估。此論文點出團隊對於任務特性與任務之間關聯性有足夠理解,這讓團隊能夠量化任務相依性。此論文提出方法計算任務相依性在成員之間的分散程度,並且將此分散程度定義為協調需求。利用開源專案進行的實驗證實了基於此方法計算的協調需求與團隊績效密切相關。基於此方法,開發團隊可以自任務分配中揭示協調需求,因此 sprint 的團隊績效可以被預估,並且可以最佳化任務分配。
Scrum is a widely used agile development method. In scrum, the development team is responsible for converting the selected product backlog items of a sprint into a “done” product increment. The team determines a product functionality to fulfill the selected product backlog items and performs tasks to implement the product functionality. When tasks with dependency are assigned to different developers, there are coordination needs between developers. Coordination needs of the whole team are hard to quantify so the team has difficulty in quantifying coordination costs. Therefore, it is hard to accurately estimate team performance of a sprint. This thesis points out that the team has sufficient understanding of task properties and relationships between tasks, which makes the team able to quantify task dependency. A method is proposed to calculate distribution of task dependency among developers, and the distribution is defined as Coordination Needs in this thesis. An experiment on an open source project demonstrates that the coordination needs calculated by this method are strongly correlated with team performance. With this method, the team can reveal coordination needs from task allocation so team performance of a sprint can be estimated, and task allocation can be optimized.
[1] Spring XD, https://jira.spring.io/projects/XD. Accessed Jan. 2020.
[2] Spring Framework, https://jira.spring.io/. Accessed Jan. 2020.
[3] Z. S. H. Abad, O. Karras, K. Schneider, K. Barker, and M. Bauer. Task interruption in software development projects: What makes some interruptions more disruptive than others? In Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018, EASE'18, pages 122–132, Christchurch, New Zealand, 2018.
[4] A. Begel, Y. Khoo, and T. Zimmermann. Codebook: discovering and exploiting relationships in software repositories. In Proceedings of the 32nd International Conference on Software Engineering Volume 1, volume 1 of ICSE'10, pages 125–134, Cape Town, South Africa, May 2010.
[5] K. Blincoe, G. Valetto, and D. Damian. Do all task dependencies require coordination? the role of task properties in identifying critical coordination needs in software projects. In Proceedings of the 9th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2013, pages 213–223, Saint Petersburg, Russia, 2013.
[6] K. Blincoe, G. Valetto, and D. Damian. Facilitating coordination between software developers: A study and techniques for timely and efficient recommendations. IEEE Transactions on Software Engineering, 41(10):969–985, Oct. 2015.
[7] K. Blincoe, G. Valetto, and S. Goggins. Proximity: A measure to quantify the need for developers'coordination. In Proceedings of the 26th Conference on Computer Supported Cooperative Work, CSCW'12, pages 1351–1360, Seattle, Washington, USA, 2012.
[8] M. Cataldo and J. Herbsleb. Coordination breakdowns and their impact on development productivity and software failures. IEEE Transactions on Software Engineering, 39(3):343–360, Mar. 2013.
[9] M. Cataldo, J. D. Herbsleb, and K. M. Carley. Socio-technical congruence: A framework for assessing the impact of technical and work dependencies on software development productivity. In Proceedings of the Second International Symposium on Empirical Software Engineering and Measurement, ESEM'08, pages 2–11, Kaiserslautern, Germany, 2008.
[10] M. Cataldo, P. A. Wagstrom, J. D. Herbsleb, and K. M. Carley. Identification of coordination requirements: Implications for the design of collaboration and awareness tools. In Proceedings of the 20th Anniversary Conference on Computer Supported Cooperative Work, CSCW'06, pages 353–362, Banff, Alberta, Canada, 2006.
[11] M. Choetkiertikul, H. Dam, T. Tran, A. Ghose, and J. Grundy. Predicting delivery capability in iterative software development. IEEE Transactions on Software Engineering, 44(6):551–573, June 2018.
[12] M. Choetkiertikul, H. Dam, T. Tran, T. Pham, A. Ghose, and T. Menzies. A deep learning model for estimating story points. IEEE Transactions on Software Engineering, 45(7):637–656, July 2019.
[13] S. G. Cohen and D. E. Bailey. What makes teams work: Group effectiveness research from the shop floor to the executive suite. Journal of Management, 23(3):239–290, 1997.
[14] M. Cohn. Agile Estimating and Planning. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2005.
[15] A. Dagnino. Estimating software-intensive projects in the absence of historical data. In Proceedings of the 25th International Conference on Software Engineering, ICSE'13, pages 941–950, San Francisco, CA, USA, 2013.
[16] C. R. B. de Souza, S. Quirk, E. Trainer, and D. F. Redmiles. Supporting collaborative software development through the visualization of socio-technical dependencies. In Proceedings of the 2007 International Conference on Supporting Group Work, GROUP'07, pages 147–156, Sanibel Island, Florida, USA, 2007.
[17] P. Dourish and V. Bellotti. Awareness and coordination in shared workspaces. In Proceedings of the 6th Conference on Computer Supported Cooperative Work, CSCW'92, pages 107–114, Toronto, Ontario, Canada, 1992.
[18] L. Hattori and M. Lanza. Syde: A tool for collaborative software development. In Proceedings of the 32nd International Conference on Software Engineering Volume 2, ICSE'10, pages 235–238, Cape Town, South Africa, 2010.
[19] J. D. Herbsleb, A. Mockus, and J. A. Roberts. Collaboration in software engineering projects: A theory of coordination. In Proceedings of the 27th International Conference on Information Systems, pages 553–568, 2006.
[20] R. Hoda, J. Noble, and S. Marshall. Balancing acts: Walking the agile tightrope. In Proceedings of the 2010 Workshop on Cooperative and Human Aspects of Software Engineering, CHASE'10, pages 5–12, Cape Town, South Africa, 2010.
[21] R. Hoda, J. Noble, and S. Marshall. Organizing self-organizing teams. In Proceedings of the 32nd International Conference on Software Engineering Volume 1, ICSE'10, pages 285–294, Cape Town, South Africa, 2010.
[22] R. Hoda, J. Noble, and S. Marshall. Self-organizing roles on agile software development teams. IEEE Transactions on Software Engineering, 39(3):422–444, Mar. 2013.
[23] R. E. Kraut and L. A. Streeter. Coordination in software development. Communications of the ACM, 38(3):69–81, Mar. 1995.
[24] I. Kwan, A. Schröter, and D. Damian. Does socio-technical congruence have an effect on software build success? a study of coordination in a software project. IEEE Transactions on Software Engineering, 37(3):307–324, May 2011.
[25] C. Larman, P. Deemer, B. Vodde, and G. Benefield. Scrum primer: A lightweight guide to the theory and practice of scrum, 2012.
[26] T. W. Malone and K. Crowston. The interdisciplinary study of coordination. ACM Computing Surveys, 26(1):87–119, Mar. 1994.
[27] A. Meyer, L. Barton, G. Murphy, T. Zimmermann, and T. Fritz. The work life of developers: Activities, switches and perceived productivity. IEEE Transactions on Software Engineering, 43(12):1178–1193, Dec. 2017.
[28] N. Moe, T. Dingsøyr, and T. Dybå. Overcoming barriers to self-management in software teams. IEEE Software, 26(6):20–26, Nov. 2009.
[29] A. Sarma, L. Maccherone, P. Wagstrom, and J. Herbsleb. Tesseract: Interactive visual exploration of socio-technical relationships in software development. In Proceedings of the 31st International Conference on Software Engineering, ICSE'09, pages 23–33, Vancouver, Canada, 2009.
[30] K. Schwaber. Agile Project Management With Scrum. Microsoft Press, USA, 2004.
[31] K. Schwaber and J. Sutherland. Scrum guide, 2017.
[32] T. Sedano, P. Ralph, and C. Péraire. The product backlog. In Proceedings of the 41th International Conference on Software Engineering, ICSE '19, pages 200–211, Montreal, QC, Canada, Canada, May 2019.
[33] C. Souza and D. Redmiles. The awareness network, to whom should i display my actions? and, whose actions should i monitor? IEEE Transactions on Software Engineering, 37(3):325–340, May 2011.
[34] V. Stray, Y. Lindsjørn, and D. Sjøberg. Obstacles to efficient daily meetings in agile development projects: A case study. In Proceedings of the 7th International Symposium on Empirical Software Engineering and Measurement, pages 95–102, Oct. 2013.
[35] M. Usman, E. Mendes, F. Weidt, and R. Britto. Effort estimation in agile software development: A systematic literature review. In Proceedings of the 10th International Conference on Predictive Models in Software Engineering, PROMISE'14, pages 82–91, Turin, Italy, 2014.
校內:2025-01-06公開