Software Development for Small Teams: A RUP-Centric Approach
暫譯: 小型團隊軟體開發:以RUP為中心的方法

Gary Pollice, Liz Augustine, Chris Lowe, Jas Madhur

  • 出版商: Addison Wesley
  • 出版日期: 2003-12-19
  • 售價: $1,690
  • 貴賓價: 9.5$1,606
  • 語言: 英文
  • 頁數: 304
  • 裝訂: Paperback
  • ISBN: 0321199502
  • ISBN-13: 9780321199508
  • 已絕版

買這商品的人也買了...

相關主題

商品描述

 

Summary

"I highly recommend this book for anyone who's ever tried to implement RUP on a small project. Pollice and company have demystified and effectively scaled the process while ensuring that its essence hasn't been compromised. A must-have for any RUPster's library!"
—Chris Soskin, Process Engineering Consultant, Toyota Motor Sales

Do you want to improve the process on your next project? Perhaps you'd like to combine the best practices from the Rational Unified Process (RUP) and from agile methodologies (such as Extreme Programming). If so, buy this book!

Software Development for Small Teams describes an entire software development project, from the initial customer contact through delivery of the software. Through a case study, it describes how one small, distributed team designed and applied a successful process. But this is not a perfect case study. The story includes what worked and what didn't, and describes how the team might change its process for the next project. The authors encourage you to assess their results and to use the lessons learned on your next project.

Key topics covered include:

Achieving a balance between people, process, and tools; recognizing that software development is primarily a human endeavor

Using RUP as an appropriate foundation for a small project; combining RUP and agile principles to create a workable process

Configuring a process that supports the project members, helping them work more effectively

Adjusting the process over the course of the project

Selecting tools to support a small, distributed team

Dealing effectively with your customer

Whether you're a project lead, a programmer, or another member of the development team, this book will show you how to tap the strengths of specific processes to dramatically increase the productivity of your team.

Table of Contents

Preface.

About This Book.

Who Should Read This Book?

Acknowledgments.

1. In The Beginning.

Meet the Team.

What's Next?

2. Using a Development Process on a Small Project.

What Is a Small Project?

What About Process on a Small Project?

Benefits of Using RUP on a Small Project.

Getting Started with RUP: The Project Leader.

Key Artifacts.

Level of Formality.

Techniques for Involving the Team.

Schedule Workshops.

Assign Mentors.

Staying on Track.

Summary.

3. People, Process, and Tools.

People.

Process.

Tools.

What Can Go Wrong?

Summary.

4. Getting Started: The Project Members Become a Team.

Coalescing Into a Team.

Forming the Team.

Dealing with Employer and Geographical Distribution.

Losing a Member.

Writing the Development Case.

Conventions Used in the Development Case.

Role Map.

Artifacts in Our Development Case.

Importance of the Development Case.

Reporting on our Progress.

Creating an Iteration Plan for Inception.

Summary.

5. Inception: We Start to Make Progress. e Vision: Setting Our Goals.

Discovering the Extent of the Project: What to Build and What Not to Build.

Who Are Our Stakeholders?

Identifying Stakeholders.

Writing a Brochure.

Specifying the Features.

Working With and Managing Requirements.

Defining the Initial Use Cases.

A Few Words About Diagrams.

Identifying Non-Functional Requirements.

Project Management.

Prioritizing Requirements.

Planning.

Risk.

Setting Up a Development Environment.

Language Tools.

Requirements Management Tools.

Configuration Management and Version Control Tools.

Testing Tools.

Collaboration Tools.

Tools in Other Environments.

Iteration evaluation.

This Sure Sounds Like Waterfall.

Summary.

6. Elaboration: We Create the Framework.

Elaboration Goals.

Toward Stability: Decreasing the Rate of Change.

Producing an Executable Architecture.

Adding Some Details to Requirements.

Creating Tests and Test Plans.

Creating the PSPTools Architecture.

Login: Not as Simple as We Thought.

Changes to the Tool Environment.

Forte to XDE—Goodbye to the GUI Builder.

New Uses for Groove.

Deferring Database Creation.

An Alternative to the Database.

Database Design.

Scope Management: Cut Early and Often.

What Do You Mean You Can't Install The Product?

Assessing Elaboration.

Reviewing the Executable Architecture.

Summary.

7. Technical Details for Elaboration.

Beginning Elaboration.

Which Java Platform?

What about the Database?

Other Development Tools.

Source Code Structure.

The PSPTools User Interface.

The User Interface Ripple Effect.

Our First UI.

Exploring the UI Code.

The PSPTools Database.

Unit Testing.

The Plan—Test-First Programming.

The Reality.

Tools and Techniques.

Summary.

8. Construction: We Build PSPTools.

Adjusting the Environment Again.

Version Control.

Defect Tracking.

Additional Requirements Management.

Construction Goals.

Construction Planning: the Project Heartbeat.

Discovering Our Own Rhythm.

Communicating by Release Notes.

Experimenting, Making Mistakes, and Arriving at Our Own Style of Planning.

Construction Begins.

The Fear Factor—An Example.

A Better Way to Deal with the Fear.

Another Short Tale.

Moving Forward in Construction.

Handling Database Changes.

Working Toward a Usable Product.

First Construction Increment.

Second Construction Increment.

Third Construction Increment.

Why Did Development Speed Up?

Beyond the Learning Curve.

Working with the Infrastructure.

Using Our Own Software.

Remaining Construction Increments.

Everyone Needs A Friend Sometimes: Programming in Pairs.

Testing During Construction.

Anticipating Change of Team Membership.

Summary.

9. Construction Details.

Fine-tuning the User Interface.

Dealing with Menus.

Adding Context Menus.

Displaying Time and Defect Details.

Adding User Preferences.

Finishing the Database.

Adding New Fields—Updating the Database Schema.

Allowing Single Quotes in Fields.

Testing.

Summary.

10. Transition: We Deliver PSPTools.

What is Transition?

Making the Transition to Transition.

Goals of Transition.

What about Requirements?

Avoiding Late Changes.

Aiming for a Short Transition Phase.

Example.

Defects are not Requirements.

Code Changes During Transition.

The Importance of Independent Testers.

The Brown Thumb.

Testing Your Own Software.

Packaging the Product.

User Documentation.

Training the Users.

Training a Larger Group of Customers.

Are We Done Yet?

Supporting Your Customers.

Preparing for the Next Version.

Summary.

11. Post-Mortem: How Will We Improve the Next Version?

What is a Post-Mortem?

Conducting a Post-Mortem Review.

Involve the Whole Team.

Provide an Agenda.

Establish Goals.

Provide Preparation Guidelines and Activities.

Employ a Facilitator.

Produce Action Items from the Review.

Act and Revisit Regularly.

Do Something Fun.

Our Post-Mortem Review.

What Went Well?

What Would You Change?

What Did You Learn?

Conclusions.

Tidying Up For The Next Project Team.

Refactoring.

The Final Diagrams.

Other Project Documentation.

The Changing Landscape.

Team Communication and Collaboration.

Changes in RUP.

IDE.

The Future of PSPTools.

Summary.

A. Overview of the Personal Software Process (PSP).

The Personal Software Process.

Goals and Focus.

Conclusion.

B. An Introduction to RUP.

The Gateway to RUP.

Phases<.dd>.

RUP Key Concepts.

Roles.

Activities.

RUP Milestones.

Goals of Inception.

Goals of Elaboration.

Goals of Construction.

Goals of Transition.

Summary.

C. Extreme Programming.

The Primary Values.

XP Practices.

Further Reading.
Index.

商品描述(中文翻譯)

摘要

「我強烈推薦這本書給任何曾經嘗試在小型專案上實施 RUP 的人。Pollice 和他的團隊成功地解密並有效地擴展了這個過程,同時確保其本質沒有受到損害。這是任何 RUP 使用者圖書館中必備的書籍!」—Chris Soskin,豐田汽車銷售公司流程工程顧問

你想在下一個專案中改善流程嗎?也許你想結合 Rational Unified Process (RUP) 和敏捷方法論(如極限編程)的最佳實踐。如果是這樣,請購買這本書!

《小型團隊的軟體開發》描述了一個完整的軟體開發專案,從最初的客戶聯繫到軟體交付。透過案例研究,它描述了一個小型分散團隊如何設計並應用成功的流程。但這並不是一個完美的案例研究。故事中包括了哪些有效、哪些無效,並描述了團隊如何可能在下一個專案中改變其流程。作者鼓勵你評估他們的結果,並在下一個專案中運用所學的教訓。

涵蓋的主要主題包括:
- 在人員、流程和工具之間取得平衡;認識到軟體開發主要是一項人類的努力
- 將 RUP 作為小型專案的適當基礎;結合 RUP 和敏捷原則以創建可行的流程
- 配置支持專案成員的流程,幫助他們更有效地工作
- 在專案進行過程中調整流程
- 選擇支持小型分散團隊的工具
- 有效地處理客戶關係

無論你是專案負責人、程式設計師,還是開發團隊的其他成員,這本書將向你展示如何利用特定流程的優勢,顯著提高團隊的生產力。

目錄

前言
關於本書
誰應該閱讀本書?
致謝
1. 開始時
- 認識團隊
- 接下來是什麼?
2. 在小型專案中使用開發流程
- 什麼是小型專案?
- 小型專案中的流程如何?
- 在小型專案中使用 RUP 的好處
- 開始使用 RUP:專案負責人
- 主要工件
- 正式程度
- 讓團隊參與的技巧
- 安排工作坊
- 指派導師
- 保持進度
- 總結
3. 人員、流程和工具
- 人員
- 流程
- 工具
- 可能出錯的地方?
- 總結
4. 開始:專案成員成為團隊
- 團隊的凝聚
- 組建團隊
- 處理雇主和地理分佈
- 失去成員
- 撰寫開發案例
- 開發案例中使用的約定
- 角色地圖
- 我們的開發案例中的工件
- 開發案例的重要性
- 報告我們的進展
- 為啟動創建迭代計劃
- 總結
5. 啟動:我們開始取得進展
- 發現專案的範圍:要建造什麼和不建造什麼
- 我們的利益相關者是誰?
- 確定利益相關者
- 撰寫小冊子
- 指定功能
- 與需求合作和管理
- 定義初步用例
- 關於圖表的幾句話
- 確定非功能性需求
- 專案管理
- 優先排序需求
- 計劃
- 風險
- 設置開發環境
- 語言工具
- 需求管理工具
- 配置管理和版本控制工具
- 測試工具
- 協作工具
- 其他環境中的工具
- 迭代評估
- 這聽起來像是瀑布模型
- 總結
6. 詳細規劃:我們創建框架
- 詳細規劃目標
- 朝向穩定:減少變更率
- 產出可執行架構
- 為需求添加一些細節
- 創建測試和測試計劃
- 創建 PSPTools 架構
- 登入:並不像我們想的那麼簡單
- 工具環境的變更
- Forte 到 XDE—告別 GUI 建構器
- Groove 的新用途
- 延遲數據庫創建
- 數據庫的替代方案
- 數據庫設計
- 範圍管理:及早且經常地削減
- 你是說你無法安裝產品?
- 評估詳細規劃
- 審查可執行架構
- 總結
7. 詳細規劃的技術細節
- 開始詳細規劃
- 哪個 Java 平台?
- 數據庫怎麼辦?
- 其他開發工具
- 原始碼結構
- PSPTools 使用者介面
- 使用者介面的漣漪效應
- 我們的第一個 UI
- 探索 UI 代碼
- PSPTools 數據庫
- 單元測試
- 計劃—測試優先編程
- 現實
- 工具和技術
- 總結
8. 建設:我們建造 PSPTools
- 再次調整環境
- 版本控制
- 缺陷追蹤
- 額外的需求管理
- 建設目標
- 建設計劃:專案的心跳
- 發現我們自己的節奏
- 通過發佈說明進行溝通
- 實驗、犯錯,並形成我們自己的計劃風格
- 建設開始
- 恐懼因素—一個例子
- 更好的處理恐懼的方法
- 另一個短篇故事
- 在建設中向前推進
- 處理數據庫變更
- 朝著可用產品努力
- 第一次建設增量
- 第二次建設增量
- 第三次建設增量