<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>

            高質(zhì)高效軟件開(kāi)發(fā)組織能力模型

            發(fā)表于:2012-06-04來(lái)源:51CTO博客作者:李云點(diǎn)擊數: 標簽:軟件測試模型
            至今,我在Motorola網(wǎng)絡(luò )部工作超過(guò)了5年,所在的產(chǎn)品線(xiàn)也是采用統一軟件開(kāi)發(fā)過(guò)程和敏捷思想(但不是SCRUM)來(lái)組織軟件開(kāi)發(fā)活動(dòng)的,但這5年多的工作經(jīng)歷從未引起我象微博上對于SCRUM話(huà)題的激烈討論這樣的思考。原因之一可能是,公司的流程已經(jīng)很成熟了且形成了一

              背景

              至今,我在Motorola網(wǎng)絡(luò )部工作超過(guò)了5年,所在的產(chǎn)品線(xiàn)也是采用統一軟件開(kāi)發(fā)過(guò)程和敏捷思想(但不是SCRUM)來(lái)組織軟件開(kāi)發(fā)活動(dòng)的,但這5年多的工作經(jīng)歷從未引起我象微博上對于SCRUM話(huà)題的激烈討論這樣的思考。原因之一可能是,公司的流程已經(jīng)很成熟了且形成了一種文化,不論怎樣的新人進(jìn)入公司,都只需按照流程按步就班的工作就行了。另外,公司的開(kāi)發(fā)流程并不包含象SCRUM所要求的形式化內容,使得我在工作中沒(méi)有機會(huì )體會(huì )和思考各種行為的利與弊。

              與周?chē)耐孪啾?,我自認為自己的工作質(zhì)量和效率都很突出,這歸功于我所掌握的知識、工具、方法和形成的思想。這四大塊內容也是將要出版的《專(zhuān)業(yè)嵌入式軟件開(kāi)發(fā) — 全面走向高質(zhì)高效編程》一書(shū)的骨架。然而,最近微博上對于SCRUM的討論使我意識到,我的焦點(diǎn)更多地放在了工程師身上,而忽視了從組織的角度思考如何高質(zhì)高效地從事軟件開(kāi)發(fā)工作。即使這樣,我仍持這樣一種觀(guān)點(diǎn):不論是怎樣的開(kāi)發(fā)方法,一定要最終從基層工程師身上找到著(zhù)力點(diǎn),因為軟件產(chǎn)品的最終質(zhì)量是他們“碼”出來(lái)的。一個(gè)方法論是否真的有效,得看方法論能多大程度地幫助工程師高效地開(kāi)發(fā)出高質(zhì)代碼,且該方法論被工程師所接受。注意,是“幫助”他們而不是“規范”他們。

              對于SCRUM我還是一個(gè)門(mén)外漢(注:Motorola網(wǎng)絡(luò )部被NSN收購后也要求使用SCRUM,希望到時(shí)能寫(xiě)些文章與大家分享所得與體會(huì )),但這并不妨礙我思考從事高質(zhì)高效軟件開(kāi)發(fā)我們到底需要什么。

              SCRUM是銀彈嗎?絕對不是,因為她只是一個(gè)很粗的開(kāi)發(fā)流程框架,仍無(wú)法消除開(kāi)發(fā)活動(dòng)中的人為因素(但可以減緩)。如果SCRUM不是銀彈,那將SCRUM引入到團隊中時(shí)我們應如何本地化呢?

              模型

            縱觀(guān)軟件行業(yè)開(kāi)發(fā)方法論的發(fā)展,大多關(guān)注于開(kāi)發(fā)過(guò)程。這一點(diǎn)從瀑布模型、統一軟件開(kāi)發(fā)過(guò)程、CMMI和現在的敏捷軟件開(kāi)發(fā)方法無(wú)一例外。開(kāi)發(fā)工程化的思想深深地影響著(zhù)軟件行業(yè)對開(kāi)發(fā)方法論的探討,但業(yè)內也以意識到了軟件開(kāi)發(fā)不只是工程,它更包含個(gè)體心理、行為等難以工程化的內容。在這里,我想拋磚引玉地提出自己的一個(gè)能力模型,來(lái)幫助思考我們到底需要什么、走向哪。該模型存在抽象與具體兩大層次。讓我們先從抽象模型開(kāi)始,如圖1所示。

              圖1

              從面象對象的角度來(lái)看,抽象模型是基類(lèi),而具體模型則是其派生類(lèi)。高質(zhì)高效的軟件開(kāi)發(fā)工作需要涉及多個(gè)部門(mén)的各種崗位,各崗位的能力模型應在抽象模型的基礎上進(jìn)行具體化。為了便于理解,圖2所示了我所認為的軟件開(kāi)發(fā)部門(mén)的能力模型。

              圖2

              意義

              引入這一能力模型的意義在于:

              1) 讓我始終牢記實(shí)現高質(zhì)高效的軟件開(kāi)發(fā)是所有活動(dòng)的根本目的。

              2) 幫助我們在探索軟件開(kāi)發(fā)方法論的道路上時(shí)刻關(guān)注我們需要什么,并以此了解軟件開(kāi)發(fā)方法論解決了什么問(wèn)題,哪些問(wèn)題又是開(kāi)發(fā)方法論不能解決的。

              3)為人力資源管理提供一定的框架。引導組織思考:我們需要招聘什么樣的人?人員培養的著(zhù)力點(diǎn)是什么?

              結束語(yǔ)

              這個(gè)模型是我花了不到一天的時(shí)間想出來(lái)的,所以一定很粗糙。個(gè)人認為,這個(gè)模型不應只是一種文字游戲的玩法,更應包含一定的實(shí)證研究。比如,模型中的關(guān)鍵要素又是什么?各要素的比重是多少?但無(wú)論如何,我希望這樣的模型不會(huì )讓我們在諸如SCRUM這樣的探討中迷失軟件開(kāi)發(fā)活動(dòng)的本原,這是我寫(xiě)這篇文章的根本出發(fā)點(diǎn)。

              最后,歡迎讀者提出自己的見(jiàn)解和參與討論。我的微博是@杭州李云(新浪)或@杭州李云(51CTO)。

              Q&A

              1. 軟件設計是質(zhì)量之本,為什么在軟件開(kāi)發(fā)工程師模型中沒(méi)有體現?

              答:設計能力應體現在工程師的抽象與概括能力上,這兩者在模型中已涵蓋。

              2. 在軟件開(kāi)發(fā)工程師模型中為什么沒(méi)有體現建模的重要性?

              答:建模應是軟件架構師的工作內容。建模在模型中可分解為“抽象 + 概括 + 工具”,它其實(shí)是設計的一種表達形式。

            原文轉自:http://kjueaiud.com

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>