第七章-MSF
這一章講了MSF,MSF即微軟解決方案框架(Microsoft Solution Framework),是微軟推薦的軟件開發(fā)方法。他與敏捷流程一樣有著自己的原則,
MSF思想框架的一套思想框架:
1、推動信息共享與溝通
2、為共同的遠(yuǎn)景而工作
3、充分授權(quán)和信任
4、各司其職,對項(xiàng)目共同負(fù)責(zé)
5、交付增量的價值
6、保持敏捷,預(yù)期和適應(yīng)變化
7、投資質(zhì)量
8、學(xué)習(xí)所有的經(jīng)驗(yàn)
9、與顧客合作
在這一章也介紹了幾種模型與模式,MSF團(tuán)隊模型MSF過程模型MSF敏捷開發(fā)模式MSF CMMI開發(fā)模式
讀到這里我感覺到了不是每一個團(tuán)隊都是十全十美的,在某些地方上也可能會有一些沖突,從上面看來理念和流程都很復(fù)雜,還是要看每個程序員自身的修養(yǎng)和完成工作的素質(zhì),只有這樣才能有更高的工作效率與質(zhì)量。
第八章-需求分析
作為程序員,我們要做的是,將用戶的需求充分挖掘出來,我們需要設(shè)身處地站在用戶的角度上,將他們所說的需求實(shí)現(xiàn),不僅僅如此,還要將之完善,并且預(yù)判將來的可能所要的需求。將這些打包以后,讓用戶驗(yàn)證是否是他們真正的需求。
8.1軟件需求
尋找需求:
1.獲取和引導(dǎo)需求(Elicitation)
軟件團(tuán)隊需要找到軟件的利益相關(guān)者,了解和挖掘他們對軟件的需求,引導(dǎo)他們表達(dá)出對軟件的需求。
2.分析和定義需求(Analysis&Specification)
這是指對從各個方面獲取的需求進(jìn)行規(guī)整,定義需求的內(nèi)涵,從各個角度將需求量化(需求實(shí)現(xiàn)的最后期限,實(shí)現(xiàn)需求大致所需的時間和資源成本,各個不同需求的優(yōu)先級,需求帶來的收益,等等)。
3.驗(yàn)證需求(Validation)
軟件團(tuán)隊要跟利益相關(guān)者溝通,通過分析報告、技術(shù)原型、用戶調(diào)查或演示等形式向他們驗(yàn)證軟件團(tuán)隊對于這些需求的認(rèn)知。
4.在軟件產(chǎn)品的生命周期中管理需求(Management)
在軟件的生命周期中,需求在發(fā)送變化,技術(shù)在發(fā)展,團(tuán)隊成員的能力在提高。
對軟件需求的劃分:
1.對產(chǎn)品功能性的需求:要求產(chǎn)品必須實(shí)現(xiàn)某些功能。
2.對產(chǎn)品開發(fā)過程的需求:要求軟件的開發(fā)流程必須滿足某些約束條件,例如,開發(fā)過程必須產(chǎn)生某種類型的文檔,必須在某個時間點(diǎn)達(dá)到某個狀態(tài),必須對源代碼施以某種約束(安全性檢查、代碼版權(quán)核查、代碼規(guī)范和支持文檔的核查)。
3.非功能性需求:例如:執(zhí)行時間限制等。
4.綜合需求:可能牽涉到其他系統(tǒng)的情況。
8.2軟件產(chǎn)品的利益相關(guān)者
用戶:
顧客:購買這個軟件或者根據(jù)合同或規(guī)定接收軟件的人。這些人不一定是軟件的直接用戶。
市場分析師:市場部門要代表“典型用戶”的需求。
監(jiān)管機(jī)構(gòu):
軟件工程師:工程師也是軟件需求階段的一個重要角色,軟件的各種約束、特性會影響到他們的工作效率、開發(fā)難度和軟件維護(hù)的難度。他們應(yīng)積極參與到軟件需求階段中來。
8.3獲取用戶需求——用戶調(diào)查
1.焦點(diǎn)小組(Focus Group)
2.深入面談(In-depthInterview)一般是一對一。
3.卡片分類(Card Sorting)討論->明晰定義->歸類->排序
4.用戶調(diào)查問卷(User Survey)
5.用戶日志研究(User Diary
Study)
6.人類學(xué)調(diào)查(Ethnographic
Study)
7.眼動跟蹤研究(Eye Tracking)
8.快速原型調(diào)研(Quick
Prototype)
9. A/B測試(A/B Testing)
8.4 競爭性需求分析的框架
大部分普通用戶的需求都有好幾個互相競爭的機(jī)構(gòu)在提供服務(wù),對于互聯(lián)網(wǎng)類型的軟件來說,更是如此。很多需求并不是用戶提出來的,而是技術(shù)的突破讓產(chǎn)品團(tuán)隊看到了可以讓用戶做到以前不敢想、不敢做的事情—但這個時候大多數(shù)用戶并沒有意識到自己有這個具體需求。
1. N(Need,需求)
2. A(Approach,做法)
3. B(Benefit,好處)
4. C(Competition,競爭)
5. D(Delivery,推廣)