[團隊軟體開發] Meeting 1 - 軟體定位與團隊走向



前言


  一個軟體總是從某些靈感或生活中某些不便所衍生而出的,當你有了想開發新軟體的想法時,一切才會開始向前邁進,首要當然是搖旗尋找有共同理想的伙伴,互相激出更多的想法與認知,並為共同開發的軟體找出定位,因此搖旗後的第一個會議就這樣產生了。首先,討論開始前,總會需要一個可以讓我們記錄會議的需求,HACKPAD 擁有共同編輯與紀錄的能力,毫無疑問的擔當大任。
  註:此系列由 VAZC Team 對於記帳軟體開發經驗的分享。

軟體定位


  軟體想要被如何使用呢?使用的情境又是怎麼樣呢?你想要讓這個軟體對世界造成什麼影響呢?這些問題衍生而出的就是軟體定位,大家都需要一個共同的開發目標,不管這軟體是否營利。

#軟體走向

VAZC Team 將現在軟體界的趨勢分成了四大類
  1. open source, profit
    • 開放程式碼,但希望軟體在某些層面可以帶來利益
  2. open source, non-profit
    • 完全為了世界美好
  3. close source, profit
    • 團隊的優秀結晶不想被輕易抄襲,希望大家用錢支持優秀的軟體
  4. close source, non-profit
    • 不公開程式碼,但是希望軟體可以讓世界更美好
經由以上幾點,團隊每個人想要的目的都不一樣
  • 有的人想要藉著 GitHub 享受與世界的人一起 develop software 的感覺
  • 有的人想要藉著 app 改善自己與別人不方便,並可以或多或少帶來一些收益
  • 有的人想要帶來一些收益,又很希望可以跟別人一起快樂合作的感覺
  • ...
如何讓他收斂呢?最簡單的當然是投票了!多數人服從少數人,千古不變定律

但是團隊畢竟不是那麼的簡單,不尊重少數人的意見,團隊向心力必定會因此減少,而在 VAZC Team 中採取的是先溝通後再投票,互相吸取對方的意見,瞭解對方想要選擇哪種的原因,進而決定出大家都共同認同的走向。最後團隊採取的方案是 open source, profit 這一條路,但是折衷的部分是,只開放核心中程式碼,另外會有些許的程式碼不完全 open。


#平台選擇

  那記帳軟體在眾多平台中的開發優先順序呢?根據開發軟體的使用情境與目標族群,搭配科技的趨勢,讓他決定該優先的平台。
  依據現代人的使用習慣,以及未來的趨勢,可攜式裝置是一大主流,因此平台上以手機的為優先,再來才是電腦上的應用,而以哪種手機系統做為優先,這或許就需要基於一定調查才能獲得的結論,但是 VAZC Team 所選擇的是以團隊成員為主,大家投票想要使用的手機系統,因為團隊成員的號召是以大家都想要使用這軟體的基礎上建立的,所以尊重團隊的意願其實也是尊重使用者的意願,因為團隊成員就是未來的使用者之一。
  根據大家手上的所擁有的機器,決定的優先順序為

  • Android
  • iOS
  • Web
  • ...

團隊走向


  為了使開發上更有效率,VAZC Team 使用了 Scrum 來作為開發流程,為什麼要以 Scrum 作為開發流程呢?原因不外乎就是開發上會遇到的困難,以及其相對應的潮流,都會跟著開發過程有些許的不同,依據 agile 開發方式,能確保軟體走在對的一條路上。傳統的 Scrum 會由實體的 TaskBoard 來開會並以實體 Story card 做會議的紀錄,但現今許多團隊漸漸採用實體與電子並行的方式,甚至使用純電子取代實體,這之間的差異,單純看團隊比較習慣哪種方式,並沒有硬性規定。

#ezScrum
  而 VAZC Team 所採取的是實體與電子並行方式,而電子的輔助工具使用 ezScrum,這是由北科大軟體工程實驗室所開發設計,以輔助 Scrum 流程為理念的工具,並且是開源的,可以自己架 server 保存資料,對於團隊需求可是剛剛好阿。

#bitBucket
  而在開發時程式碼的版本管理,使用 Git 來管理,雖然是打算 open source 但剛開發階段不確定要將哪些程式碼開放出來,所以一開始的開發不將 GitHub 列入考量,而是將 gitlab 與 bitBucket 放入候選清單,gitlab 好處是可以自己架出與 GitHub 相近的 GUI 介面,而 bitBucket 的好處是,不需自己架 server 卻可以擁有好用的 GUI 介面與 private repository 。經過討論,決定了使用 bitBucket 這個對於團隊初期的負擔較小的工具,只需註冊開專案就可以完成了。




Comments