開發(fā)人員應(yīng)該對功能需求有發(fā)言權(quán)嗎
通常大多數(shù)在線資源都指出功能需求是業(yè)務(wù)分析師或產(chǎn)品的責(zé)任經(jīng)理。但是開發(fā)人員有時可以成為產(chǎn)品的專家,例如,因為他們已經(jīng)在產(chǎn)品上工作了很多年。在這種情況下
解答動態(tài)
我看不出在沒有開發(fā)人員參與的情況下如何有效地執(zhí)行需求工程活動。
業(yè)務(wù)分析師或產(chǎn)品經(jīng)理可能非常擅長與干系人合作,了解他們的需求,以及如何縮小產(chǎn)品的當(dāng)前狀態(tài)與干系人需求之間的差距。但是,還需要分析需求的可行性和可測試性,項目的技術(shù)人員是進行這些評估的最佳人?O低臣芄茍允迪忠桓魴棖蠡蛞蛔樾棖笏璧墓ぷ饔杏跋歟虼嗽誚┑ビτ糜諦棖罅斜硎,开发人凿^氖淙胍彩侵匾目悸且蛩亍?br/> 我不確定技術(shù)人員是否需要參與收集需求,但他們應(yīng)該在不同的方面參與這一進程。較早地參與解決實現(xiàn)、測試、部署或操作需求所代表的功能的問題將提高所設(shè)計系統(tǒng)的整體質(zhì)量。
開發(fā)團隊中的每個人都應(yīng)在一定程度上負(fù)責(zé)并參與需求收集,否則,你就會阻礙有效的團隊合作。
“最佳的架構(gòu)、需求和設(shè)計來自自組織的團隊”(agilemanifesto.org網(wǎng)站)開發(fā)團隊遵循這條格言,不把人們局限于特定的角色,并且認(rèn)識到任何人都可以在任何時候做出貢獻。我見過項目失敗是因為功能需求無法實現(xiàn)。我來告訴你一個我參與其中的故事。
我們正在使用一個硬件,它可以讓你捕獲電視信號。它有自己的軟件,可以讓你在電腦上收看頻道和電視。這是在數(shù)字電視普及之前,所以通常你還必須對每個頻道進行微調(diào),以獲得良好的視覺效果。我們在一家有很多頻道的付費電視公司工作。他們希望在一個特殊的頻道上以屏幕的1/4顯示來自所有頻道的內(nèi)容,這個頻道每隔幾秒鐘就會旋轉(zhuǎn)顯示的內(nèi)容。我們的想法是使用電腦上的電視捕捉卡捕捉所有頻道的信號,然后將其傳輸?shù)轿覀冘浖械囊粋組件。
我們的分析師收集了功能要求,即用戶應(yīng)該能夠預(yù)先調(diào)整每個頻道的微調(diào)。他沒有和開發(fā)人員商量就做了。如果他征求我們的意見,我們就會告訴他這是不可行的。電視捕獲卡的API不允許進行微調(diào)—隨卡提供的軟件使用了自己的驅(qū)動程序和單獨的API,這些API與我們使用的任何技術(shù)都不可集成。我們必須為該卡編寫自己的驅(qū)動程序和API,以滿足這一要求。我們既沒有專業(yè)知識,也沒有預(yù)算來做這件事。我們不能演示沒有微調(diào),因為許多渠道的圖像質(zhì)量吸。我們即將失去一份巨額合同。客戶很生氣,但他們還是邀請我們?nèi)ニ麄兊牡胤,以便我們做一些研究,尋找替代品。該客戶有自己銷售的電視廣播器,但他們也有有線電視服務(wù),頻道基本相同。我們發(fā)現(xiàn),通過插入電纜器,不需要微調(diào),我們只需要幾行代碼就可以在解決方案中從天線切換到電纜。
最終,我們的開發(fā)人員拯救了公司的所有落后者,因為那個項目在很長一段時間里是公司的搖錢樹,任何人都可以對產(chǎn)品要求有發(fā)言權(quán)。甚至分析師的也會提供一些意見。也就是說,分析師的工作就是分析、組合、綜合需求和對需求源進行優(yōu)先級排序以下:客戶(很少但仍然)可以解釋他們的困難是什么工程師可以幫助理解技術(shù)約束項目所有者可以設(shè)置預(yù)算/時間約束監(jiān)管者提供法規(guī)遵從性需求市場趨勢顯示市場的發(fā)展前景(潛在客戶)可以為您提供拓展產(chǎn)品的思路經(jīng)驗豐富的用戶可以幫助您完善解決方案領(lǐng)域?qū)<铱梢詭椭私廛浖䦟⒁鉀Q的問題并完善潛在解決方案社交媒體帖子可以幫助您衡量客戶產(chǎn)品遙測告訴您產(chǎn)品在現(xiàn)場的使用情況,等等… 每個輸入的重要性取決于項目/域/功能。你可能不想聽到所有的來源平等,因為這將是太多的噪音;蛘,考慮自己能力范圍之外的輸入。e、 g.項目負(fù)責(zé)人對GUI設(shè)計提出了強烈的意見。
I將采取與其他兩個答案不同的觀點。角限是有充分理由的。人們離開自己的角色,在另一個崗位上承擔(dān)任務(wù),雖然可能是出于好意,但會引起很多問題。在工作場所,人們總是跳出他們的泳道,雖然有時這可能會有所幫助,但我懷疑這會帶來更多的問題。這并不是說開發(fā)人員在開發(fā)功能需求時沒有范圍內(nèi)的任務(wù)。我認(rèn)為他們在很多情況下都會這樣做;然而,在開發(fā)過程中,BA和PO擁有一些任務(wù),開發(fā)人員不應(yīng)該參與這些任務(wù),反之亦然。
我知道我的答案不會受到那些在SW中喜歡敏捷方法的人的歡迎,但是你能想象一個電工幫助繪制架構(gòu)文檔嗎?可能有一個微小的重疊,但角色是相當(dāng)明確的,并堅持…這是有非常好的,明顯的原因。
這不是一個開發(fā)人員的角色有發(fā)言權(quán),在項目的功能定義。項目的設(shè)計是基于最終用戶和基于業(yè)務(wù)需求的任何其他利益相關(guān)者,而不是基于任何特定的技術(shù)問題。開發(fā)人員有時只是不明白不知道一個任務(wù)和如何思考如何完成一個任務(wù)之間的區(qū)別,有時答案不是黑白的而是灰色的。如果你不強迫自己去尋找解決方案,而不是抱怨它做不到,你就不會完成任何事情。項目解決方案的目標(biāo)是完成工作,無論您使用敏捷還是其他流程,我相信敏捷只是遲到或按時交付未完成項目的借口。
- End
免責(zé)聲明:
本頁內(nèi)容僅代表作者本人意見,若因此產(chǎn)生任何糾紛由作者本人負(fù)責(zé),概與琴島網(wǎng)公司無關(guān)。本頁內(nèi)容僅供參考,請您根據(jù)自身實際情況謹(jǐn)慎操作。尤其涉及您或第三方利益等事項,請咨詢專業(yè)人士處理。