個人作業——華為軟件開發雲案例分析


目錄

調研&評測

評測

上手體驗

一打開網頁的上手體驗就是,UI挺不錯的,我很喜歡這個風格。但是使用起來好像有點復雜,功能非常多,不僅有項目管理,還有倉庫,測試,部署,發布等等一系列的功能。我同時體驗了web和Android兩個端。

功能評測

前一天在web端注冊了賬號,但是在Android端登錄就遇到問題了。注冊時雖然注冊了用戶名+手機號,但是我習慣用手機號登錄,結果發現,使用手機號+密碼無法登錄成功,只能使用用戶名+密碼登錄。

接下來登錄成功后,看到默認頭像想要修改,卻發現不能點擊-.-。
感覺Android端就是一個todollist。嘗試建了幾個項目。並且建立了幾個task。

上面的第二張,你會發現,三個項目的內容混雜在一起了,缺少分類,會導致實際使用起來有點亂。即時有搜索,搜索功能也不完善。

Scrum項目中分為了Feature/Story/Task/Bug,但是新建卻沒有Task這個選項。

Android端的使用就到這里了。
接下來是web端。
web端
界面挺好看的,我很喜歡。


還是和安卓端一樣的問題,

兩個項目的backlog混在在一起了,表示很難受。雖然點擊進入項目可以看到完整的任務分配,但是這塊還是需要改進我覺得。

點擊項目進入后,有許多的功能。一開始的看板,就有燃盡圖,story的項目統計,不錯。

一開始沒有懂Feature/Story/Backlog這些的意思,建了一個項目規划

使用起來非常方便,還可以添加文檔等。
還可以使用倉庫,我嘗試創建並且clone/push。


最后是將Android版本拿到web端進行兼容性測試,結果是

兩個都發生了阻塞,並沒有成功測試。沒有明白為什么。

bug

在上面的功能評測已經有提及,最大的bug就是多個項目的backlog會混雜在一起,而不能有個歸類。
還有一個比較難受的是,網頁刷新特別慢,經常出現白屏的狀況,有點難受。

你覺得為什么這個產品組的人沒有發現這些bug?

表示不懂,講道理有些bug產品組不可能發現不了的。。。

假設你們團隊需要開發這套系統,需要注意哪些方面(架構、部署運維、微服務等)。

首先第一個是功能,需要滿足用戶用戶的可能需求和潛在需求,這點華為雲已經做到了,並且做的非常好。其次,考慮到用戶量,在架構,部署運維方面也需要注意,當然,還有UI也非常重要。

采訪

  • 介紹采訪對象的背景和需求(他們有沒有用過這個APP或類似的APP,除了現有的功能還有別的需求么)
    采訪對象:15級計算機系正在進行軟工實踐同學
    背景以及需求:以前有使用過github和teambition,以前在測試項目和服務器時選擇了多個平台,希望可以方便一點。采訪對象使用的是Android端。

  • 讓采訪對象使用華為軟件開發雲(請上傳照片證明用戶的確正在使用,遠程采訪的同學請讓別人幫忙照相)

  • 描述用戶使用這個產品的過程, 用戶的問題解決了么?軟件在數據量/界面/功能/准確度上各有什么優缺點?用戶體驗方面有問題么?
    用戶反饋一般,基本需求可以解決。
    數據量:看板加上代碼規范等數據量還是比較大的
    界面:比較一般
    功能:較為全面
    准確度:還行
    用戶體驗:加載速度較慢,ui不夠吸引人(Android端)

  • 用戶對產品有什么改進意見?
    提升性能,美化app的ui界面
    建議支持markdown

  • 結論
    一般

分析

使用此軟件的大部分功能,估計這個項目做到這個程度大約需要多少時間(團隊人數6人左右,計算機大學畢業生,並有專業UI 支持)。 分析這個軟件目前的優劣(和類似軟件相比),並推理出團隊在軟件工程方面可以提高的一個重要部分(具體建議)。

估計時間
構建之法中給出的實際時間花費主要取決於兩個因素—對某件事的估計時間X,以及他做過類似開發工作的次數N。

沒有過這麽大項目開發經驗的我來估計項目時間,感覺非常難。(計算機大學畢業生?估計都沒有很大的項目開發經驗?)估計時間:6個月吧。。考慮到里面有非常多的功能,而且我對這些功能的具體實現沒有很好的概念。就只能憑感覺估計了。如果有些功能我知道應該怎么實現,應該會比較好估計。

優勢

  • 整合了極多的功能,非常方便用戶在上面完成整個軟件工程的開發。

劣勢

  • 也是由於整合極多的功能,導致整個軟件在與同功能的軟件相比,不夠專精,有些功能就做不到和其他軟件專門做一項功能來的突出。

團隊在軟件工程方面可以提高的一個重要部分

  • 編碼能力
  • 團隊協作能力
  • 產品運維
  • 測試能力

根據理解和體驗,畫出整個軟件所有功能邏輯框圖,根據重要度標識出各模塊的重要度、完成度、出發點及效果;

針對不同的維度評分,對用戶體驗方面、UI界面美觀度、核心功能,分別打分。
滿分10分。

用戶體驗 UI界面美觀度 核心功能
8.0 9.0 8.5

建議和規划

  • 如果你是項目經理,如何提高從而在競爭中勝出?
    整個產品提供服務功能非常豐富,應該考慮把每個功能做的更好一些,並且再繼續豐富功能。

  • 目前市場上有什么樣的產品了?
    團隊合作上面有teambition,leangoo,代碼托管有github,碼雲。

  • 你要設計什么樣的功能?
    增加文檔功能(雖然目前已經可以寫部分文檔,但是可以是軟件開發中的各種文檔,包括需求說明書,接口文檔,功能文檔),並且可以自動生成文檔。
    測試部分增加接口測試功能。
    提供給用戶可選使用菜單,實現頁面由用戶定制化。

  • 為何要做這個功能,而不是其他功能?
    文檔功能是對產品進一步完善,而提供可選菜單不會使用戶覺得功能太多太復雜,只選擇自己想要使用的功能,其他功能隱藏,並且可以隨時添加使用功能。

  • 為什么用戶會用你的產品/功能?
    使用自定義的app,會讓極簡主義的用戶青睞,並且又能隨時拓展。
    對於想要在app上進行一體開發的用戶,這個產品也完全能夠提供。

  • 你的創新在哪里?
    將功能選擇交由用戶來使用,而我們提供一個豐富的服務功能。相比較其他產品,我們提供的功能多並且可選,極大方便用戶。

  • 如果你來領導這個團隊,會有什么不一樣?
    把主要精力開發於web端和桌面端,實際上iOS/Android在軟件工程開發中並不方便。

  • 如果你的團隊有5個人, 4個月的時間,你作為項目經理,應該如何配置角色(開發,測試,美工等等)?
    美工1人,開發4人。測試人員為5人(整個團隊)。

  • 描述你的團隊在16 周期間每周都要做什么,才能在第16周如期發布軟件,大小里程碑績點設定。

  • |周數|任務|
    |--|---|
    |1|需求規格說明書|
    |2|原型設計,數據庫設計,架構設計|
    |3-13|開發|
    |14|測試&用戶反饋|
    |15-16|修改bug,根據反饋對app進行修改,最后發布|

  • 項目發布后,有沒有考慮過項目該怎么部署才能滿足需求。
    由於項目提供功能性非常多,並且用戶分布廣泛,相比較教務處系統,數據庫配置應該更強。教務處系統考慮到選課時的壓力,估計不會超過10000+的並發,因此可以考慮分地區分布架構。
    應用服務器配置:4核8G * 2
    后端服務器配置:8核16G * 3
    數據庫服務器: SQL Server/ Oracle/MySqI 數量:3(讀寫分離2、備份1)
    緩存數據庫:Redis數量:3(主備)
    網站安全性:WAF. DDOS . XSS,同時還需要考慮代碼托管的安全性。
    如果不夠了,再考慮增加設備。

名詞解釋

在使用華為雲時,有些Scrum名詞的概念沒有很清晰,下面做個記錄。

  • Theme
    Theme則是一組User Story(甚至是Epic Story),這些User Story擁有共同的特征,為了更容易開發這些相關內容,通常會將這些User Story作為一組進行開發和管理。這組User Story就被稱為Theme

  • Epic Story
    Epic Story的規模和復雜性,要大於User Story,它首先是一個大User Story。由於它非常大,無法或不容易進行估算,因此一般會分解成為更小的User Story,進行估算和開發。關於Epic和Feature,誰的復雜性更高,誰的規模更大,則還沒有一個統一的說法,有的項目中,會定義Epic Story在Feature之下;而有的項目中則相反。因此在使用這個概念時,應該在項目中有一個明確的定義。無論Epic Story是在Feature之上還是之下,它與Feature同樣是在Release Plan的層級,一般是通過一個或多個迭代才能完成。

  • Feature
    Feature是可以為用戶提供價值的東西,它代表一個產品可以做什么,或提供什么服務;是可以滿足用戶的需求,為客戶服務,為用戶帶來真正的價值的成果物的特性。由一組動賓結構的句子表達,如一個超市的交易可以描述為: 掃描條形碼, 顯示單價, 計算總價, 計算稅額。一個Feature是很難進行估算的,它需要被分解成一個個更小的單位,這就是下面的User Story,一個Feature可以分解成多個User Story,每個User Story不能單獨被使用,而是一起構成一個Feature。

  • User Story
    必須是清晰的,可以為客戶增加價值,而且更重要的是能夠被估算。因此User Story通常是進行估算的基本單位,通常使用Story Point來進行估算。User Story是在迭代的層級,一個User Story要在一個迭代內完成。

  • Task
    項目中可以執行的工作單位,通常就是迭代計划中項目(如Sprint Backlog中的項目)。一個User Story一般會分解為一個或多個Task,通過這些Task來實現。
    他們之間的關系可以用下面的兩張圖來表示:

    參考鏈接敏捷估算/計划中幾個概念間的關系


免責聲明!

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



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