發表文章

目前顯示的是有「專案管理」標籤的文章

ISO 9001:2015

圖片
我們常常在說ISO,但你真的知道ISO是指甚麼嗎?其實ISO是一個組織名稱,他代表  International Organization for Standardization,主要是用來做一些國際標準的定義,那我們常常在說你的公司有沒有做ISO,指的又是甚麼,其實這邊指的是ISO 9000這一組標準,其中包括 ISO 9000:ISO 9000的主要詞彙與定義指引 ISO 9001:ISO 9000的主要要求 ISO 9004:ISO 9000績效改善指引 ISO 19001:ISO 9000環境審核指南 因此我們在說的ISO應該是指ISO 9001,尤其公司有研發性質的就會以ISO 9001為主要要求規範,ISO 9000有幾個版本,第一個版本為1987版,接下來為1994→2000 →2008,最新版本為2015,以下大致介紹ISO 9001:2015的精隨。 下圖是ISO很重要的一個概念,所有ISO的的流程都叫做Process,他的重點是要讓某些輸入資訊轉化(transform)為有用的資訊,而不是GIGO(Garbage In Garbage Out),也就是說進入時是垃圾沒關係,但出來之後要變成有用的資訊,如果輸出的資訊是沒用的,那這個Process就是個失敗的流程。 那公司有那些資訊是需要做轉化的呢?每個公司因為性質不同而有不同的結果,例如研發團隊的客行性評估就是一個Process,在這樣的過程中,我們會收集相關的輸入資訊,包括各單位意見、市場分析等等資訊,經過可行性評估的過程,可能包括評估報告的撰寫、開會與會簽等等,最後輸出成可行性評估報告,便可以用來決定是否進行這個專案計畫,這就是ISO文件要定義的資訊,這並不代表ISO要寫一大堆報告,他只是要各個公司是著找出對自己最有用的流程,有些傳產公司的ISO也許只有一張A4文件就夠了,但研發團隊的文件可能就會很多,因為他有很多研發要遵守的流程。 ISO有幾個很重要的工作要做,包括 找出公司的核心價值並且獲得領導者的認可 找出要進行ISO的範圍,也許不是整個公司都做ISO,但建議ISO還是以全公司配合為佳 成立ISO委員會開始相關規畫工作 找出公司的必要流程並撰寫成ISO工作指導書 進行教育訓練,讓所有參與ISO的人了解相關流程 執行並不

軟體工程與專案管理的不歸路

圖片
前一陣子有機會整理一下自己對於軟體工程的認知與了解,讓非程式設計師對於軟體工程有更多的了解,這邊將相關資訊更詳細地整理分享給更多的人了解,首先,何謂軟體工程? 軟體開發是運用既有的程式語言與相關技術基礎開發出想要的功能呈現,但他的結果不一定是好的,例如最終功能不符合最初期待、開發時程遠超過當初的預期、開發成本暴增造成團隊無法負荷、客戶提出的最原始需求並非客戶真正要的需求等等問題,因此軟體業界提出了各種理論來控制上述的問題,這就是軟體工程,大家可以Google軟體工程就可以找到很多軟體工程理論與方法,但這些方法不斷地被驗證與修改,至於哪一個方法是最好的方式可能跟你的團隊能力、成員多寡、團隊主要開發領域有關,沒有一個最好的方法,以下我提到的方法也不會是最好的方法,但可以給大家參考軟體工程師究竟在想甚麼。 首先,最標準的軟體工程定義了甚麼?他的內含主要是針對軟體專案管理需要做甚麼事情做出建議,例如ISO 9001與CMM-I等方法論,他們定義的內含很多,甚至不只是定義給軟體開發產業,ISO 9001是給所有產業的建議,這其中最重要的一環就是『專案管理』,沒有專案管理,團隊只是一盤散沙,但要當好一個專案經理可不是一朝一夕可及,他要懂得所有專案開發階段的相關細節,並且根據實際狀況調整這些流程的應對策略,那軟體開發階段包括哪些步驟,以下是我整理的簡易說明 上圖示一個軟體開發過程中主要會經歷到的階段,其中還有很多細節,例如CMM-I還定義到可行性評估以及風險管理等等(ISO 9001:2015也把風險管理納進流程),但主要還是以上幾個步驟,而軟體開發過程中,越前面的流程失控都會導致後續流程的更大失控,所以專案經理就要在這些流程中隨時反覆地將步調拉回主軸,而除了將一切拉回主軸外,專案經理也要意識到這整個專案的成敗是由專案經理一人所繫,沒有任何藉口。 專案管理的失控原因有哪些,下圖是我整理的大致原因 主要的問題就在於大家輕忽了軟體工程的複雜度,很多人會以以下的觀念 軟體開發不是很成熟的理論嗎?你的失敗一定是因為你沒有照著做 我都給你這麼多資源了,為何還無法如期如質如預算地完成 資訊相關科系畢業的人不是都應該懂這些嗎?為何我還要找你進到公司重新學習? 軟體開發不是軟體工程師的責任嗎?為何經常需要其他部門員工支援? ..... 上面提