流程圖

流程說(shuō)明:
1)、安裝apache、ssh、java、jboss等環(huán)境,略。
2)、生成服務(wù)證書(shū)和服務(wù)密碼
3)、apache(httpd.conf)配置
Listen 80
Listen 443
#app的虛擬主機(jī)配置
#身份驗(yàn)證的虛擬主機(jī)配置
#把mod_ssl里的變量變?yōu)槿汁h(huán)境的變量
4)、代碼片段
//判斷session中是否有用戶郵箱地址
SessionValue session = SessionHelper.getSessionValue(rundata);
if (StringUtil.isNotEmpty(session.getCropEmail())) {
return null;
}
// 從內(nèi)網(wǎng)證書(shū)中獲取用戶郵箱地址: SSL_CLIENT_S_DN_Email
String cropEmail = rundata.getRequest().getHeader(SSL_CLIENT_HEADER_MAIL);
if (StringUtil.isNotEmpty(cropEmail)) {
//將郵箱地址保存到session
session.setCropEmail(cropEmail);
SessionHelper.saveSessionValue(rundata, session);
if (log.isDebugEnabled()) {
log.debug("用戶" + session.getCropEmail() + "已經(jīng)通過(guò)證書(shū)驗(yàn)證");
}
return null;
}
URIBrokerService uriBrokerService = (URIBrokerService) getWebxComponent().getService(
URIBrokerService.SERVICE_NAME);
URIBroker noPermissionUriBroker = uriBrokerService.getURIBroker(CHECK_CRT_URL);
//請(qǐng)求的原始URL & 驗(yàn)證的URL
String requestPath = rundata.getPathInfo().replace("_", "");
String checkCrtUrl = (String) noPermissionUriBroker.getPath().get(
noPermissionUriBroker.getPath().size() - 1);
try {
//原始請(qǐng)求判斷
if (requestPath.equalsIgnoreCase(checkCrtUrl)) {
//當(dāng)前是https請(qǐng)求,但是依然不能得到證書(shū)信息,轉(zhuǎn)到禁止頁(yè)面
//(要將禁止頁(yè)面加入到允許訪問(wèn)的配置文件中,不然會(huì)導(dǎo)致循環(huán)重定向)
URIBroker uriBroker = uriBrokerService.getURIBroker("forbidden");
rundata.setRedirectLocation(uriBroker.render());
} else {
//轉(zhuǎn)到證書(shū)驗(yàn)證頁(yè)面
rundata.setRedirectLocation(noPermissionUriBroker.render() + "?done=" + rundata.getPathInfo());
}
} catch (IOException e) {
log.error("權(quán)限驗(yàn)證重定向出錯(cuò)", e);
}
return new BreakPipeline();
Object user = rundata.getSession().getAttribute("userInfo");
if (user == null) {
SessionValue session = SessionHelper.getSessionValue(rundata);
String email = session.getCropEmail();
Employe employe = PersonInfoUtil.getPersonInfoByEmail(email);
// 寫入cookie
session.setEmployeeId(employe.getEmployeId());
session.setName(employe.getName());
session.setCropEmail(employe.getEmail());
SessionHelper.saveSessionValue(rundata, session);
}
受限于證書(shū)的原因,以前經(jīng)常不得已用IE打開(kāi)一些應(yīng)用。其實(shí)有一工具可以幫助我們導(dǎo)出IE證書(shū),用于firefox,解決證書(shū)的困惑。
1、windows環(huán)境(xp\win7均可),以adminstrator登錄;
2、下載jailbreak,解包后,運(yùn)行jailbreak.exe(非jailbreak.msc);
3、導(dǎo)出證書(shū):Certificates - Current User > 個(gè)人 > 證書(shū),選所有任務(wù)導(dǎo)出;

選擇導(dǎo)出私鑰。


5、搞定。
互聯(lián)網(wǎng)的產(chǎn)品大都是面向海量用戶的服務(wù),且用戶分布區(qū)域廣泛,其教育水平、習(xí)慣也大多不同,具有高度不確定性,我們必須非常關(guān)注用戶的行為和反饋。因而,在互聯(lián)網(wǎng)產(chǎn)品服務(wù)的整個(gè)用戶研究,需求分析、產(chǎn)品研發(fā)及交付服務(wù)的過(guò)程中,都采用探索式、適應(yīng)性的研發(fā)理念進(jìn)行產(chǎn)品的研發(fā)。通常,會(huì)把整個(gè)產(chǎn)品研發(fā)周期劃分為若干個(gè)迭代,采用迭代式的演進(jìn)過(guò)程,不斷的去交付新的產(chǎn)品特性,并通過(guò)觀察用戶的行為和反饋獲取,進(jìn)而隨時(shí)調(diào)整產(chǎn)品的思路和方向。一切以用戶價(jià)值為核心是互聯(lián)網(wǎng)產(chǎn)品最核心的特點(diǎn),而以價(jià)值驅(qū)動(dòng)的敏捷開(kāi)發(fā)方法非常符合這一特點(diǎn)。
一、敏捷項(xiàng)目管理實(shí)踐從阿里軟件開(kāi)始,內(nèi)貿(mào)團(tuán)隊(duì)就一直在實(shí)行著敏捷項(xiàng)目管理實(shí)踐,通過(guò)小步快跑,快速迭代、增量交付用戶價(jià)值,不斷獲取用戶反饋,持續(xù)、快速的調(diào)整產(chǎn)品,驗(yàn)證并適合用戶價(jià)值。正是通過(guò)這些實(shí)踐活動(dòng),我們以迭代的、增量的交付用戶價(jià)值,最大限度的保證產(chǎn)品朝著符合用戶實(shí)際需求方向發(fā)展。目前,在內(nèi)貿(mào)團(tuán)隊(duì)?wèi)?yīng)用較成熟的敏捷實(shí)踐活動(dòng)有:
1)、迭代計(jì)劃(Sprint Planning Meeting)
2)、每日晨會(huì)(Daily Scrum Meeting) & 任務(wù)墻(Task Wall)
3)、功能預(yù)演(Spring Review)
4)、項(xiàng)目總結(jié)(Retrospect Meeting)
5)、結(jié)對(duì)編程(Pair Programming)
6)、其他技術(shù)實(shí)踐活動(dòng)等
二、敏捷團(tuán)隊(duì)
1)、自組織文化
如google、facebook等互聯(lián)網(wǎng)企業(yè),他們很少甚至沒(méi)有特定的項(xiàng)目流程,通常怎么敏捷怎么做,具有濃厚的工程師驅(qū)動(dòng)文化。我們則有較完整的開(kāi)發(fā)流程指導(dǎo)和規(guī)范我們的項(xiàng)目研發(fā)工作,相比而言,喪失了一些靈活性和積極性,不利于我們工程師自我管理、自我驅(qū)動(dòng)意識(shí)的培養(yǎng)。臃腫、缺乏靈活性的流程同互聯(lián)網(wǎng)產(chǎn)品快速更新、快速發(fā)展是不相適應(yīng)的,同時(shí)也弱化我們的責(zé)任心意識(shí)。除了遵守詳盡的流程,我們是否可以換個(gè)角度、換種方法,提倡和營(yíng)造一種自我管理、自我驅(qū)動(dòng)的開(kāi)發(fā)文化,省卻一些并不能給我們帶來(lái)幫助卻影響效率的流程呢?
敏捷團(tuán)隊(duì)的自組織特性弱化了團(tuán)隊(duì)技術(shù)領(lǐng)導(dǎo)這個(gè)角色,強(qiáng)調(diào)自我管理和自我驅(qū)動(dòng)。雖然這對(duì)工程師的素質(zhì)要求更高,相對(duì)技術(shù)能力更難提高。但是,團(tuán)隊(duì)導(dǎo)向很重要,我們努力營(yíng)造這樣的氛圍,從小團(tuán)隊(duì)做起,逐漸鍛煉和培養(yǎng)自組織團(tuán)隊(duì)。相信在這樣的開(kāi)發(fā)氛圍下,會(huì)讓我們做的更高效、更敏捷,可以走的更穩(wěn)、更遠(yuǎn)。
2)、追求一體化
一體化團(tuán)隊(duì)作為敏捷開(kāi)發(fā)方法中最具精益思想基因的實(shí)踐,是指每個(gè)項(xiàng)目團(tuán)隊(duì)包括分析,開(kāi)發(fā),測(cè)試等角色,使團(tuán)隊(duì)滿足一個(gè)需求從設(shè)計(jì),開(kāi)發(fā)到測(cè)試各個(gè)階段順利完成,達(dá)到符合質(zhì)量標(biāo)準(zhǔn)并滿足需求的軟件。這種以項(xiàng)目/產(chǎn)品為單位的虛擬團(tuán)隊(duì),坐在一起,全身心的為共同的目標(biāo)而努力,可以更好的凝聚項(xiàng)目組中的各種角色,消除部門墻。
3)、追求全功能
這里所指的全功能是希望項(xiàng)目團(tuán)隊(duì)能打破工程師角色之間的邊界,如研發(fā)、測(cè)試和前端工程師的界線,消除開(kāi)發(fā)、測(cè)試流程中一些潛在浪費(fèi),提高效率。在項(xiàng)目團(tuán)隊(duì)內(nèi)部通過(guò)角色互換,不限角色的結(jié)對(duì)工作,加強(qiáng)不同角色,不同模塊間的知識(shí)傳遞,打破技術(shù)壁壘,幫助員工從不同視角理解項(xiàng)目,鍛煉技能,進(jìn)而增加團(tuán)隊(duì)均衡生產(chǎn)的能力。
為什么要提倡打破邊界?項(xiàng)目整體效率依賴于項(xiàng)目過(guò)程中各環(huán)節(jié)的工作效率,而整體效率的優(yōu)化往往依賴于均衡生產(chǎn)(精益思想的按需生產(chǎn)),即消除生產(chǎn)的波峰(過(guò)度生產(chǎn))和波谷(生產(chǎn)不足),只有局部效率的增加無(wú)法直接轉(zhuǎn)換為整體效率的增加(就象桶能裝多少水,決定于最短的那塊板)。整體效率的優(yōu)化要求IT團(tuán)隊(duì)消除技能壁壘,培養(yǎng)多面手,根據(jù)計(jì)劃的的變動(dòng),彈性地調(diào)整任務(wù),達(dá)到各角色和流程之間的平衡。
三、質(zhì)量保證
我們追求開(kāi)發(fā)效率,同時(shí)也注重項(xiàng)目質(zhì)量。如何去保證質(zhì)量?就象美國(guó)的一位教授愛(ài)德化.戴明(W.Edwards Deming)所說(shuō):“我們應(yīng)該停止依靠大量檢驗(yàn)來(lái)保證質(zhì)量,而是要改進(jìn)工藝流程,從一開(kāi)始就生產(chǎn)出優(yōu)質(zhì)的產(chǎn)品”。我們要在整個(gè)開(kāi)發(fā)過(guò)程中多個(gè)環(huán)節(jié)去保證質(zhì)量。同時(shí),質(zhì)量保證是整個(gè)團(tuán)隊(duì)的責(zé)任,就如同前面所說(shuō)的追求全功能團(tuán)隊(duì),打破邊界。
至于在哪些環(huán)節(jié)采用哪些實(shí)踐,我們先做個(gè)分類,按是否能被系統(tǒng)用戶感知將質(zhì)量問(wèn)題區(qū)分內(nèi)部質(zhì)量和外部質(zhì)量。外部質(zhì)量指能直接被系統(tǒng)用戶感知,如運(yùn)行緩慢,不可操作或是操作復(fù)雜就屬于外部質(zhì)量低劣。而不能直接為系統(tǒng)用戶所直接感知的要素,對(duì)產(chǎn)品鍵壯性、可維護(hù)性有深遠(yuǎn)影響的問(wèn)題就屬于外部質(zhì)量,如系統(tǒng)設(shè)計(jì)的一致性、代碼可讀性、邏輯完整性等。內(nèi)部質(zhì)量對(duì)用戶的影響比較間接,但比外部質(zhì)量意義更深遠(yuǎn)。一般來(lái)說(shuō),系統(tǒng)內(nèi)部質(zhì)量?jī)?yōu)秀,外部質(zhì)量仍有可能很差。而內(nèi)部質(zhì)量差的系統(tǒng),外部質(zhì)量肯定也不怎么樣。
1)、外部質(zhì)量保證
在外部質(zhì)量保證上,大部分會(huì)在開(kāi)發(fā)后期介入,可以通過(guò)性能測(cè)試、自動(dòng)化測(cè)試及工程師的功能測(cè)試來(lái)保證,通過(guò)這些實(shí)踐活動(dòng)發(fā)現(xiàn)并保證例如運(yùn)行緩慢、不可操作等質(zhì)量問(wèn)題不會(huì)存在。針對(duì)交互特別復(fù)雜的web應(yīng)用,可以更多的考慮采用webui自動(dòng)化測(cè)試工具,如selenium、pwaitr(b2b)、automan(淘寶)等,可以很好的完成那些簡(jiǎn)單、重復(fù)的TC用例,可以大大提高測(cè)試效率,解決測(cè)試工程師的資源瓶頸。
2)、內(nèi)部質(zhì)量保證
相對(duì)于外部質(zhì)量,內(nèi)部質(zhì)量問(wèn)題影響更為深遠(yuǎn),在開(kāi)發(fā)開(kāi)始階段就應(yīng)該去保證。如通過(guò)單元測(cè)試、靜態(tài)代碼掃描(PMD\findbugs)、持續(xù)集成、重構(gòu)、結(jié)對(duì)編程、code review等多種實(shí)踐活動(dòng)來(lái)保證項(xiàng)目代碼的健康。
除了一些實(shí)踐活動(dòng)去檢查代碼質(zhì)量外,更為重要的是研發(fā)工程師對(duì)內(nèi)部質(zhì)量的重視,如果工程師沒(méi)有形成良好的質(zhì)量意識(shí),很可能這些實(shí)踐也只是停留于形式,并不能帶來(lái)較好的結(jié)果。如我們?cè)陂_(kāi)發(fā)過(guò)程中的編碼規(guī)范、單元測(cè)試的質(zhì)量及覆蓋率,code review的及時(shí)性及問(wèn)題是否持續(xù)跟進(jìn)等等。此外,有選擇的采用結(jié)對(duì)編程實(shí)踐,有助于質(zhì)量的提高。
本文以敏捷、精益(消除浪費(fèi)、按需生產(chǎn))思想的角度試圖去探討一種適合互聯(lián)網(wǎng)公司的產(chǎn)品開(kāi)發(fā)體系,上述概要的介紹了項(xiàng)目管理、團(tuán)隊(duì)、質(zhì)量方面的一些敏捷實(shí)踐活動(dòng),主要涉及了我們對(duì)敏捷方面的經(jīng)驗(yàn)分享或者是些正在研究探討的課題。文中涉及的實(shí)踐活動(dòng),后續(xù)我將逐一展開(kāi)詳細(xì)介紹,幫助大家更好的理解和認(rèn)識(shí)。希望本文的分享能成為一個(gè)引子,引起大家對(duì)敏捷開(kāi)發(fā)的思考和討論,或者更好的了解敏捷和精益思想。以下為本人在公司內(nèi)部關(guān)于項(xiàng)目質(zhì)量和工作效率郵件回復(fù)的一此意見(jiàn)和想法。
1、 談流程
不可否認(rèn)流程的重要性,但我們需要根據(jù)具合格情況分析,不斷的梳理和優(yōu)化我們的流程,讓流程更好的指導(dǎo)我們工作,而不是束縛。目前,我們的流程慢慢多了起來(lái),感覺(jué)不如以前敏捷了。經(jīng)過(guò)rpm改造后,無(wú)論在測(cè)試環(huán)節(jié)還是發(fā)布階段,較之前失去了很大的靈活性。測(cè)試階段,開(kāi)發(fā)bugfix后想在測(cè)試環(huán)境驗(yàn)證,每次必須重走aone的流程及打包布署,相比之前的build效率真的差了好多。當(dāng)然,也許是我們項(xiàng)目組對(duì)這個(gè)流程熟練度、方法還不夠,很多環(huán)節(jié)有待改進(jìn)。
發(fā)布階段,目前統(tǒng)一由SCM來(lái)發(fā)布,必然會(huì)導(dǎo)致開(kāi)發(fā)對(duì)線上環(huán)境及發(fā)流程更加陌生,同我們提倡的打破邊界,敏捷響應(yīng)有些相背。再者,SCM資源有限的原因,要支持ITU眾多產(chǎn)品線,能否應(yīng)付的過(guò)來(lái),始終是個(gè)問(wèn)題。發(fā)布統(tǒng)一管理有好處,同樣也帶來(lái)了弊端,ITU不同于網(wǎng)站,大多數(shù)的技術(shù)團(tuán)隊(duì)共同在維護(hù)在幾個(gè)應(yīng)用,而itu的應(yīng)用多、規(guī)模相對(duì)小、環(huán)境各異,這樣的產(chǎn)品線采用統(tǒng)一管理性價(jià)比不高。希望相應(yīng)的owner,能不定期的搜集各產(chǎn)品線的意見(jiàn)和反饋,不斷的優(yōu)化,讓我們的流程更合理。
2、 談自測(cè)
我們團(tuán)隊(duì)一直在強(qiáng)調(diào)自測(cè)意識(shí),也在這方面不斷的總結(jié)和改進(jìn)。我覺(jué)的要提高自測(cè),首先應(yīng)讓每位開(kāi)發(fā)同學(xué)形成較好的自測(cè)意識(shí),而不是自上而下的命令式管理,只有自己有這方面的意,才會(huì)去思考、去想辦法,去實(shí)踐。再者,需要PM或技術(shù)經(jīng)理去思考,目前階段實(shí)行自測(cè)會(huì)有什么困難,如沒(méi)有系統(tǒng)的自測(cè)方法、時(shí)間不充足(需要熟悉下階段的UC、下迭代的設(shè)計(jì)、單元測(cè)試補(bǔ)寫等),找到這些困難或問(wèn)題,就容易對(duì)癥下藥了。最后,不斷總結(jié)和積累自測(cè)方式,優(yōu)化項(xiàng)目流程。自測(cè)不是一種形式,而要追求效果,開(kāi)發(fā)自測(cè)同樣需要計(jì)劃和方法,所以我們需要向QA同學(xué)請(qǐng)教,總結(jié)過(guò)去 bug常犯的錯(cuò)誤,整理自己的check項(xiàng)。相信通過(guò)這樣的一些自測(cè)方法,能真正提高我們的項(xiàng)目質(zhì)量,打破同QA的界線,我們的開(kāi)發(fā)、測(cè)試資源比例可以得到更大的優(yōu)化,將以前開(kāi)發(fā)階段緊,測(cè)試階段松的狀況加以改善,使整個(gè)項(xiàng)目過(guò)程中的緊張度趨于平緩。
3、 談故障分
“盡量不要讓故障分成為大家包袱,可以考慮被實(shí)施產(chǎn)品對(duì)事故級(jí)和A類才對(duì)個(gè)人計(jì)故障分,B和C類故障分記在主管頭上!”,個(gè)人也比較支持駱駝的觀點(diǎn)。目前大家對(duì)線上故障都小心翼翼,大家對(duì)質(zhì)量的意識(shí)很高,這當(dāng)然是好事,但同時(shí)帶來(lái)的影響是效率低了。我的觀點(diǎn)是,作為增值服務(wù)的互聯(lián)網(wǎng)產(chǎn)品,我們更需要快速迭代增量提供用戶價(jià)值,盡快獲取用戶反饋并改善產(chǎn)品,產(chǎn)品推出的遲早,不僅影響獲得回報(bào)的時(shí)間,還影響到獲得價(jià)值的多少,錯(cuò)過(guò)了一個(gè)時(shí)間窗口,產(chǎn)品可能就不再有任何價(jià)值。所以,我們需要找到一個(gè)平衡量點(diǎn),可接受的質(zhì)量狀況達(dá)到最大的效率。
從客戶第一角度談質(zhì)量,某些時(shí)候,客戶可以接受服務(wù)偶而不可用重啟下,卻不能接受產(chǎn)品沒(méi)價(jià)值、交互性太差,操作太復(fù)雜。所以,對(duì)于客戶來(lái)說(shuō)什么對(duì)他們更重要,就需要我們每個(gè)人去分析和評(píng)估。所以,我們一味只注重質(zhì)量,而忽略客戶真實(shí)需求,那就太悲哀。我的觀點(diǎn)是,case by case,帶著這樣的觀點(diǎn)去思考和解決問(wèn)題。
4、談敏捷項(xiàng)目團(tuán)隊(duì)
從打破邊界,我想到了一體化的敏捷項(xiàng)目管理團(tuán)隊(duì),一個(gè)目標(biāo)一致、自我管理的團(tuán)隊(duì),應(yīng)該具備良好的目標(biāo)意識(shí)和執(zhí)行力,不僅能管好自己的一畝三分地,同時(shí)也能站在項(xiàng)目、團(tuán)隊(duì)的角度看待問(wèn)題。PD出現(xiàn)了問(wèn)題,開(kāi)發(fā)積極去彌補(bǔ);開(kāi)發(fā)出現(xiàn)了問(wèn)題,QA積極去彌補(bǔ),項(xiàng)目團(tuán)隊(duì)的目標(biāo)非常一致。每位項(xiàng)目組成員一定要把好每一關(guān),萬(wàn)不可把問(wèn)題向下拋,因?yàn)檫€有開(kāi)發(fā)或QA會(huì)把關(guān),所以差不多就行了,這樣往往就是災(zāi)難的開(kāi)始。
過(guò)去的一年,有著太多的痛苦和艱辛,為了新產(chǎn)品的上線,晚上、周未都沒(méi)了,唯一想的和做的就是確保產(chǎn)品如期上線。過(guò)程雖然很艱苦,但大家都努力堅(jiān)持,齊心協(xié)力,確保任務(wù)如期完成,我們保持了一貫的說(shuō)到做到、如期交付的作風(fēng)。因?yàn)檫@樣的磨練,我和我們的團(tuán)隊(duì)得到了更多成長(zhǎng)。困難并不可怕,熬過(guò)去,明天的太陽(yáng)會(huì)更加燦爛。
1、談?wù)劤砷L(zhǎng)和不足:
1)、職業(yè)轉(zhuǎn)型,開(kāi)發(fā)到管理
雖然Team Leader已經(jīng)做了幾年了,但一直停留在項(xiàng)目上,多為管事不管人,對(duì)細(xì)節(jié)問(wèn)題關(guān)注較多,所以之前談不上管理,只能算是積累些項(xiàng)目管理經(jīng)驗(yàn)。經(jīng)過(guò)這一年的學(xué)習(xí)和發(fā)展,有了更多的管理意識(shí),逐漸關(guān)注團(tuán)隊(duì)建設(shè)、團(tuán)隊(duì)成長(zhǎng),注意給小組成員更多的機(jī)會(huì)和空間,讓他們得到鍛煉和成長(zhǎng),承擔(dān)更多團(tuán)隊(duì)或項(xiàng)目中的重要事項(xiàng),而他們通過(guò)完成這些重要任務(wù),不僅得到了磨練,同時(shí)在團(tuán)隊(duì)中建立了自己的影響力。
放在以前,我會(huì)認(rèn)為有風(fēng)險(xiǎn),或者自己做更快,更省事,或最有把握的人去。現(xiàn)在想來(lái),以前認(rèn)識(shí)太膚淺了,我們需要的團(tuán)隊(duì)?wèi)?zhàn)斗力,而不是個(gè)別人的能力,若平常不注重團(tuán)隊(duì)成員的培養(yǎng),團(tuán)隊(duì)的戰(zhàn)斗力永遠(yuǎn)不行,承擔(dān)不了關(guān)鍵任務(wù)。
談到成長(zhǎng)和培養(yǎng),團(tuán)隊(duì)需要什么樣的人呢?作為互聯(lián)網(wǎng)企業(yè),同一般軟件企業(yè)不同,產(chǎn)品在推出之前,誰(shuí)也無(wú)法肯定是否會(huì)受用戶歡迎,只能快速推出,讓市場(chǎng)來(lái)驗(yàn)證,不斷的改進(jìn)和適應(yīng)用戶的需要。因而,需要我們技術(shù)人員也具備技術(shù)判斷力,改變命令式管理體制下的工作習(xí)慣,充分發(fā)揮主觀能動(dòng)性和創(chuàng)新意識(shí),共同做好產(chǎn)品。
2)、學(xué)會(huì)擁抱變化;
2010年變化很多,有些也許對(duì)個(gè)人、團(tuán)隊(duì)沒(méi)有影響或影響很小,有些直接關(guān)系自己或團(tuán)隊(duì),如團(tuán)隊(duì)的核心成員不斷的被抽調(diào)、人員調(diào)整、KPI的271考評(píng)等,每次的變化都會(huì)帶來(lái)不同的問(wèn)題。持續(xù)輸血,新人補(bǔ)允,使團(tuán)隊(duì)?wèi)?zhàn)斗力大打折扣,很長(zhǎng)一段時(shí)間非常的糾結(jié)和無(wú)耐。事情總是具有兩面性,往好處看,這對(duì)我、對(duì)團(tuán)隊(duì)也未必是件壞事,沒(méi)有經(jīng)驗(yàn)過(guò)挫折和磨練,又怎能成佛呢?既然是組織需要或Boss的決定,那就多些理解和支持,支持和協(xié)助上級(jí)完成也是每個(gè)下屬的職責(zé);況且,某些變化至少對(duì)于一些同學(xué)也是件好事,他們有更多的機(jī)會(huì)和更大的平臺(tái)去一展才華。
大概人都是喜歡按習(xí)慣辦事的緣故,每每有變化都覺(jué)的很痛苦。我覺(jué)的如何擁抱變化關(guān)鍵在于心態(tài),我們需要理性看待變化,多往積極的方向思考,不僅更容易調(diào)整好心態(tài),而且可以在變化中吸取經(jīng)驗(yàn)和教訓(xùn),鞭策我們成長(zhǎng)。
3)、提升項(xiàng)目管理能力
雖然在項(xiàng)目管理知識(shí)上沒(méi)有太多的時(shí)間和精力去系統(tǒng)的學(xué)習(xí),但通過(guò)不斷實(shí)踐和總結(jié),還是有了不少的積累和沉淀,對(duì)項(xiàng)目管理有了更多的理解和把握,對(duì)敏捷項(xiàng)目管理也有不同的認(rèn)識(shí),結(jié)合團(tuán)隊(duì)自身尋找適合我們的實(shí)踐方式。在項(xiàng)目管理方面,還有很多需要去提升和學(xué)習(xí),2011年希望安排更多的時(shí)間系統(tǒng)的學(xué)習(xí)項(xiàng)目管理知識(shí)及敏捷項(xiàng)目管理,并結(jié)合實(shí)際應(yīng)用到工作中。
4)、提升向上溝通力
在擁抱變化的同時(shí),同樣需要理性的分析和積極的向上溝通。在過(guò)去,雖然會(huì)盡可能的去表達(dá)和反饋?zhàn)约旱南敕ê鸵庖?jiàn),但我重新審視下,總覺(jué)得表達(dá)還不夠明確或不是那么的到位,或許在表達(dá)時(shí)還有更好的方式,至少還有提升的必要。向上溝通也是門學(xué)問(wèn),需要好好研究下。
5)、提升團(tuán)隊(duì)建設(shè)和輔導(dǎo)能力
相對(duì)來(lái)說(shuō),過(guò)去的一年所有的同學(xué)都會(huì)關(guān)注到,但領(lǐng)悟能力和基礎(chǔ)較好的同學(xué)成長(zhǎng)更快,基礎(chǔ)稍弱的沒(méi)有太大變化。顯然,平常輔導(dǎo)工作沒(méi)有做好或做到位,關(guān)注程度不夠。越是基礎(chǔ)差些的同學(xué)需要關(guān)注和幫助的點(diǎn)越多,需要幫助他們找到不足和問(wèn)題所在,一起找改進(jìn)辦法,并給予必要的督促和檢查,養(yǎng)成好的學(xué)習(xí)習(xí)慣,促進(jìn)成長(zhǎng)。2011年,這方面需要做的還有更多。
2、談?wù)?011年的期望
1)、團(tuán)隊(duì)
解決目前團(tuán)隊(duì)新人多,有效資源少的問(wèn)題;積極關(guān)注和幫助新人溶入團(tuán)隊(duì),熟悉業(yè)務(wù),以減少對(duì)項(xiàng)目開(kāi)展的影響;
抓好梯隊(duì)建設(shè),關(guān)注和輔導(dǎo)基礎(chǔ)較差同學(xué)的,共同制定改進(jìn)計(jì)劃和Action,做好必要的監(jiān)督和指導(dǎo),促進(jìn)成長(zhǎng);
2)、能力
系統(tǒng)學(xué)習(xí)項(xiàng)目管理和敏捷軟件開(kāi)發(fā)方面的知識(shí),并應(yīng)用到項(xiàng)目管理實(shí)踐中;同時(shí)積極參與相關(guān)方面的分享和討論。
3)、影響
推動(dòng)興趣小組活動(dòng)的開(kāi)展,借開(kāi)發(fā)工具的發(fā)展和分享,建立團(tuán)隊(duì)在部門或技術(shù)部的影響;
鼓勵(lì)團(tuán)隊(duì)成員積極參與技術(shù)部的公共事務(wù),提升影響力。
給力2010,加油2011!!!
1、什么是iteration和release?
iteration和release是兩個(gè)不同的概念,但在敏捷實(shí)踐活動(dòng)中,我們往往認(rèn)識(shí)的比較模糊,一個(gè)Iteration就是一次release,其實(shí)不然。那么,具體有什么區(qū)別和聯(lián)系呢?
Iteration(迭代):在固定的周期內(nèi),經(jīng)過(guò)需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等活動(dòng),完成計(jì)劃的的業(yè)務(wù)需求,迭代結(jié)束提供一個(gè)可工作的產(chǎn)品。計(jì)劃的業(yè)務(wù)需求,可能是一個(gè)完整的User Story,也可能是一個(gè)Story中的若干task。
Release(發(fā)布):經(jīng)過(guò)一個(gè)或若干個(gè)iteration后,完成計(jì)劃中的所有User Story,經(jīng)過(guò)測(cè)試后才release,最終真正交付給客戶使用。
在我們的實(shí)踐活動(dòng)中,一個(gè)User Story所需的工作量超過(guò)我們的有效資源,無(wú)法安排在一個(gè)iteration內(nèi)。我們就會(huì)想當(dāng)然的會(huì)去延長(zhǎng)迭代周期,增加有效資源以適應(yīng)所需工作量。殊不知,這更象是形式上的迭代開(kāi)發(fā),無(wú)異于瀑布式項(xiàng)目開(kāi)發(fā)過(guò)程。
2、建立固定的迭代周期,保持穩(wěn)定的開(kāi)發(fā)節(jié)奏
Scurm方法也非常強(qiáng)調(diào)穩(wěn)定的迭代節(jié)奏,一個(gè)穩(wěn)定的迭代節(jié)奏就如同項(xiàng)目的的心跳。Simon Baker描述說(shuō):"就像心臟有規(guī)律地跳動(dòng)來(lái)保持身體運(yùn)行,固定的迭代長(zhǎng)度提供了一個(gè)恒量,有助于建立開(kāi)發(fā)和交付的節(jié)奏。根據(jù)我的經(jīng)驗(yàn),節(jié)奏是幫助取得不變的步幅的重要因素"(2004)。對(duì)于敏捷開(kāi)發(fā)的團(tuán)隊(duì)而言,穩(wěn)定的迭代節(jié)奏可以讓產(chǎn)品保持更穩(wěn)定的交付。
3、如何保持穩(wěn)定的開(kāi)發(fā)節(jié)奏?
當(dāng)一個(gè)迭代期內(nèi)可提供的有效資源無(wú)法實(shí)現(xiàn)一個(gè)User Story時(shí),我們?nèi)绾伟磁拍兀?在 談迭代周期控制的困惑 中已談到,這里不在細(xì)述。
4、如何選擇適合自己團(tuán)隊(duì)的迭代周期?
一般需要考慮以下因素:
1)、整個(gè)項(xiàng)目周期長(zhǎng)度(完成計(jì)劃的商業(yè)需求所需時(shí)間)
較短的迭代周期將會(huì)有以下一些好處:更頻繁的向客戶展示/交付可用的軟件;更頻繁的度量開(kāi)發(fā)進(jìn)度;更頻繁的取得反饋并改進(jìn);一般大的項(xiàng)目最好有多次(3次或以上)獲取反饋、修正的機(jī)會(huì),根據(jù)項(xiàng)目周期調(diào)整迭代周期長(zhǎng)度。
2)、不確定性的多少
不確定性有多種形式,客戶到底想要的是什么?小組的工作效率,時(shí)間?技術(shù)門檻等都不存在不確定性,不確定性越多,迭代就應(yīng)該越短。
3)、獲得反饋的難易程度
指小組獲取反饋數(shù)量、頻度和及時(shí)性,視所處的環(huán)境不同,選擇合適的迭代長(zhǎng)度;
4)、優(yōu)先級(jí)要以多久保持不變
開(kāi)發(fā)小組承諾在一次迭代中完成一組特定的功能,重要的是不要改變他們的目標(biāo)方向,優(yōu)先級(jí)不會(huì)被改變的時(shí)間長(zhǎng)度是選擇迭代長(zhǎng)度時(shí)需要考慮的因素。
5)、迭代的系統(tǒng)開(kāi)銷
每次迭代的成本(時(shí)間),如迭代中進(jìn)行的完整回歸測(cè)試。最佳迭代周期的目標(biāo)之一就是減少或近似消除每次迭代的系統(tǒng)開(kāi)銷。如每次回歸時(shí)間成本很高,那決定周期長(zhǎng)度時(shí)更傾向于長(zhǎng)一些。
6)、團(tuán)隊(duì)成員的緊迫感
Niels Malotaux指出:"只要項(xiàng)目的結(jié)束日期還在遙遠(yuǎn)的將來(lái),我們就不會(huì)感到任何壓力,并從容不迫的工作。當(dāng)結(jié)束日期逼近時(shí),我們才會(huì)開(kāi)始更努力的工作"。意思指項(xiàng)目開(kāi)始大家比較放松,而越臨近結(jié)束,工作越忙壓力越大。因此,選擇一個(gè)合適的迭代周期長(zhǎng)度,讓團(tuán)隊(duì)成員在整個(gè)迭代過(guò)程中感受到的壓力更平均,不是給團(tuán)隊(duì)更多的壓力,而是壓力總量平均分布在迭代過(guò)程中。
每個(gè)團(tuán)隊(duì)根據(jù)所在環(huán)境和條件確定一個(gè)合適的迭代長(zhǎng)度,一般建議2~4周。在我們的實(shí)踐中,以2周一次迭代的頻率,保持相對(duì)穩(wěn)定的開(kāi)發(fā)和交付的節(jié)奏。
5、參考資料:
《敏捷估計(jì)與規(guī)劃》 Mike Cohn
敏捷宣言中說(shuō)到:"最好的架構(gòu)、需求和設(shè)計(jì)來(lái)自于自組織的團(tuán)隊(duì)"。在自組織團(tuán)隊(duì)中,我們每個(gè)人既是團(tuán)隊(duì)/項(xiàng)目的管理者,又是執(zhí)行者,要取得優(yōu)異的結(jié)果,必須加強(qiáng)自我管理。
如何做好自我管理呢?
1、平和的心態(tài):我們會(huì)不斷的遇到各類或好事或壞事、或成功或挫折,什么樣的心態(tài)去對(duì)待決定了我們成長(zhǎng)的方向及高度,"態(tài)度決定一切"。
2、目標(biāo)感:大到個(gè)人職業(yè)規(guī)劃,小到每件事的期望,對(duì)于目標(biāo)(期望)的制定和管理,都需要我們認(rèn)真的去對(duì)待;
3、執(zhí)行力:目標(biāo)是方向,不能執(zhí)行就不會(huì)有結(jié)果,好的執(zhí)行力是優(yōu)秀個(gè)人或團(tuán)隊(duì)的必要條件。
4、時(shí)間管理:工作需要區(qū)分輕重緩急,不能對(duì)事情沒(méi)有計(jì)劃和按排,對(duì)事需要分析重要性和緊急程度,分別對(duì)待;
5、學(xué)習(xí)能力:"學(xué)歷代表過(guò)去,能力代表現(xiàn)在,學(xué)習(xí)能力代表將來(lái)。",一個(gè)人的學(xué)習(xí)能力決定他將來(lái)的成績(jī);
任何人都不希望自己被人管著,但要想不被人管只有一種辦法:時(shí)時(shí)嚴(yán)格要求自己,主動(dòng)、出色的完成每項(xiàng)工作,努力學(xué)習(xí),與團(tuán)隊(duì)共成長(zhǎng)。





有效資源 | 評(píng)估工作量 | |
1 | 多 | 少 |
2 | 少 | 多 |
3 | 相同 | 相同 |
有效資源:指迭代周期內(nèi),開(kāi)發(fā)團(tuán)隊(duì)所能提供的有效工作日,單位人/天。
評(píng)估工作量:指迭代周期內(nèi),產(chǎn)品經(jīng)理提供需要實(shí)現(xiàn)的業(yè)務(wù)需求所評(píng)估的工作量之和。
上表描述以固定周期為兩周的迭代中,可能會(huì)出現(xiàn)的有效資源和評(píng)估工作量對(duì)比情況。其中,1、3兩種情況因?yàn)樵u(píng)估工作量小于或等同能提供的有效資源,所以不會(huì)影響迭代周期。重點(diǎn)需討論的是有效資源小于評(píng)估工作量時(shí),如何保持固定周期?
例舉:一迭代周期,能提供有效資源20人/天,需求評(píng)估工作量30人/天。
1、功能較獨(dú)立,需求不能拆分發(fā)布;
安排一個(gè)release,兩個(gè)iterative。這種情況需要在迭代2中附加一些技術(shù)改造或低優(yōu)先級(jí)的小需求、bugfix,release日期相對(duì)會(huì)慢幾天。
2、一個(gè)迭代中包括多個(gè)產(chǎn)品的需求(需要各位產(chǎn)品經(jīng)理協(xié)商,決定需求優(yōu)先級(jí));
a)、以保證質(zhì)量為重:
忽略商業(yè)優(yōu)先級(jí),先處理一個(gè)迭代中就能全部完成的需求。
b)、保證價(jià)值
分兩個(gè)迭代完成,一次release。
通常情況下,我們盡力保證迭代周期的穩(wěn)定,但也允許例外,如:商業(yè)需求,產(chǎn)品上確定了發(fā)布時(shí)間點(diǎn),或者節(jié)假期間團(tuán)隊(duì)請(qǐng)假比較多,一個(gè)迭代所能提供的有效資源相對(duì)比較少的情況。
保持迭代周期穩(wěn)定,其核心是:固定Timebox和可提供的資源,讓產(chǎn)品經(jīng)理來(lái)決定需求的優(yōu)先級(jí),每迭代只接納(開(kāi)發(fā)/QA資源)可承受的需求。
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 31 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(3)
隨筆分類
- Hibernate(2)
- java 開(kāi)發(fā) (31)
- Linux(13)
- Spring(4)
- web開(kāi)發(fā)(20)
- 即時(shí)通訊(2)
- 大雜燴(15)
- 數(shù)據(jù)庫(kù)(7)
- 軟件設(shè)計(jì)(2)
- 問(wèn)題記錄(1)
- 項(xiàng)目管理(8)
隨筆檔案
- 2011年12月 (2)
- 2011年6月 (1)
- 2011年5月 (1)
- 2011年2月 (1)
- 2011年1月 (3)
- 2010年12月 (3)
- 2010年11月 (1)
- 2010年9月 (1)
- 2010年7月 (1)
- 2010年6月 (1)
- 2010年4月 (3)
- 2009年11月 (1)
- 2009年9月 (3)
- 2009年8月 (1)
- 2009年7月 (1)
- 2009年6月 (2)
- 2009年5月 (1)
- 2009年3月 (4)
- 2009年2月 (1)
- 2009年1月 (1)
- 2008年12月 (2)
- 2008年11月 (1)
- 2008年10月 (1)
- 2008年9月 (2)
- 2008年8月 (1)
- 2008年7月 (3)
- 2008年6月 (2)
- 2008年5月 (2)
- 2008年3月 (2)
- 2008年1月 (15)
- 2007年12月 (8)
- 2007年11月 (15)
- 2007年7月 (2)
- 2007年6月 (3)
- 2007年5月 (7)
- 2007年4月 (7)
收藏夾
搜索
最新評(píng)論

- 1.?re: iframe 高度自適應(yīng)
- 1909434428@qq.com
- --3a教程
- 2.?re: firefox中證書(shū)的使用
- thanks
- --mroff
- 3.?re: IE7 對(duì)話框樣式[未登錄](méi)
- fsdfsdf
- --dd
- 4.?re: Debian 修改IP地址或DNS
-
IP地址配置文件: "/etc/network/interface" 文件少了個(gè)s
/etc/network/interfaces - --debian
- 5.?re: dhtmlxTree 使用示例
- rt
- --tr