需求,還是需求


  所有軟件開發都是構建在需求的基礎上的,脫離需求,與現實需求脫軌的開發都不具有商業意義。許多成熟的軟件開發過程學都非常重視需求,傳統開發模型比如瀑布模型會要求編寫非常規格化的軟件需求說明文檔;敏捷開發過程比如XP則更注重在開發過程中,通過高質量的溝通,在客戶及開發方之間形成信息的良性循環,以漸進發展的眼光看待需求。不同開發模式對需求的處理方法可能有出入,但都基於同樣的態度:需求,是軟件開發的首要重點,一切偏離需求的開發都是扯淡。軟件開發的過程,就是不斷構建系統以滿足客戶需求的過程;就是不斷用信息化手段解決用戶問題的過程。系統滿足客戶需求的程度,是衡量系統質量的重要標准。我們的目標是為用戶解決實際問題。

  一個組織可以通過制度、規約來約束成員的行為,卻很難找到一個有效的途徑來調整成員的態度,而態度又恰恰是發揮一個人潛力的重要因素。一個組織可以通過開發模式、業務流程來保證項目質量,卻很難通過管理渠道來保持成員積極向上的態度,而態度是一個項目質量的重要基石。許多人都沒有意識到,可能自己並沒有正確對待需求。

  信奉技術的人,容易迷失在浩瀚的技術海洋中,爽歪歪的使用各種架構,牛B哄哄的宣傳自己程序具有多強的擴展性,健壯性。實際是,客戶需要的是一把操作簡單的殺雞刀,你做了一支嚇死人的殺牛刀;客戶需要的是一個能精確指示時間的掛鍾,你做了一個金光閃閃的手表;客戶需要的是能坐着舒服睡覺的椅子,你做了一把能自動旋轉360度,全天候按摩加推拿的按摩椅。重視技術本身沒錯,但輕視需求就該拉出去打靶了,技術是用來解決問題的啊。

  人在變,市場在變,我們的服務行業也在變,不知道那個哲學家說的,世界上唯一不變的就是變化。我們要求菜市場的尾貨低價賣出,人家怎么就不能要求給權限體系加個動態配置呢?我們要求《鋼鐵俠3》多加些國人的面孔,人家怎么就不能要求給款項5W以下的報銷單自動審批通過呢?許多變更是在系統完善后,由客戶對系統認識的變化,或開發者對業務認識的變化,又或者是行業大環境變化引起的,如果你固守陳見,不願意接受需求的變化,怎跟得上時代的步伐?確實會有許多許多不合理的需求,你知道不合理在哪里,那你就應該跟客戶講清楚,告訴他這是不可能做的,哪里變化會導致成本增加多少,你說明白道理,客戶也沒理由一直難為你吧?一直覺得軟件是個服務行業,敢不敢拿點國際水准的服務態度出來呢?抱怨無濟於事,不如奮起解決問題。

  一個廚子能獲得大眾喜愛,不是因為他多會耍刀,而是因為他能做出符合大眾口味的菜餚;一個程序員能安身立命,不是因為他技術能力多強,而是他做出的東西能解決用戶的問題。說白了,軟件開發的目標不是你設計怎么牛B的架構,用了多么復雜的設計模式,而是你開發的東西到底有沒有為用戶解決實際問題;不是你開發得有多爽,而是用戶用的有多爽!不要把目標定義錯了,不要在成長的過程中迷失方向了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM