This textbook is about working in teams to create functioning software. It covers skills in agile software development methods, team working, version control and continuous integration and shows readers how to apply some of the latest ideas from lean, agile and Kanban.
Part I, which focuses on People, describes various project roles and the skills needed to perform each role. This includes members of self-organizing teams, scrum masters, product owners and activities for managing other stakeholders. The skills needed to create Product artefacts are detailed in Part II. These include skills to create agile requirements, architectures, designs as well as development and security artefacts. The agile development Process to coordinate with co-workers is described in Part III. It introduces the skills needed to facilitate an incremental process and to use software tools for version control and automated testing. Eventually some more advanced topics are explained in Part IV. These topics include large projects comprising multiple cooperating teams, automating deployment, cloud software services, DevOps and evolving live systems.
This textbook addresses significant competencies in the IEEE/ACM Computing Curricula Task Force 2020. It includes nearly 100 exercises for trying out and applying the skills needed for agile software development. Hints, tips and further advice about tackling the exercises are presented at the end of each chapter, and a case study project, with downloadable source code from an online repository, integrates the skills learned across the chapters. In addition, further example software projects are also available there. This way, the book provides a hands-on guide to working on a development project as part of a team, and is inspired by the needs of early career practitioners as well as undergraduate software engineering and computer science students.
第一部分專注於「人」，描述了各種專案角色及執行每個角色所需的技能。這包括自我組織團隊成員、Scrum 管理者、產品負責人以及管理其他利益相關者的活動。第二部分詳細介紹了創建「產品」工件所需的技能。這包括創建敏捷需求、架構、設計以及開發和安全工件的技能。第三部分描述了與同事協調的敏捷開發「流程」。它介紹了促進增量式流程所需的技能，以及使用軟體工具進行版本控制和自動化測試的技能。最後，第四部分解釋了一些更高級的主題。這些主題包括由多個合作團隊組成的大型專案、自動化部署、雲端軟體服務、DevOps 和演進中的現場系統。
這本教科書涵蓋了 IEEE/ACM Computing Curricula Task Force 2020 中的重要能力。它包含近100個練習，供讀者嘗試和應用敏捷軟體開發所需的技能。每章末尾都提供了有關應對練習的提示、技巧和進一步建議，並通過一個案例研究項目將各章學到的技能整合起來，該案例研究項目的原始碼可從線上存儲庫下載。此外，還提供了其他示例軟體專案。這樣，這本書提供了一個實踐指南，以團隊開發專案的方式進行開發，並受到初級從業人員以及本科軟體工程和計算機科學學生的需求啟發。
Julian Bass is Head of Computer Science and Software Engineering at the University of Salford, Manchester, UK, and is Program Leader for the BSc Hons Software Engineering degree program there. He is a member of the UK Engineering Council Quality Assurance Committee. Julian was formerly worldwide technical Training Manager for Chordiant Software Inc. based in London and taught courses in enterprise customer relationship management software. He was a Senior Advisor at the Higher Education Strategy Centre, in Addis Ababa, Ethiopia where he helped introduce the first Software Engineering Bachelor degrees in the country. He has taught aspects of software engineering to students and practitioners in Europe, north America, south Asia and sub-Saharan Africa, and has published over 150 research articles and papers on software processes, systems and technologies.
Julian Bass是英國曼徹斯特薩爾福德大學的計算機科學和軟體工程學系主任，也是該校軟體工程學學士學位課程的項目負責人。他是英國工程委員會質量保證委員會的成員。Julian曾在位於倫敦的Chordiant Software Inc.擔任全球技術培訓經理，教授企業客戶關係管理軟體課程。他曾在埃塞俄比亞亞的斯亞貝巴的Higher Education Strategy Centre擔任高級顧問，協助該國引入首個軟體工程學士學位課程。他曾在歐洲、北美、南亞和撒哈拉以南非洲的學生和從業人員中教授軟體工程的各個方面，並發表了150多篇關於軟體流程、系統和技術的研究文章和論文。