對新創(chuàng)項目而言,是idea更重要,還是執(zhí)行力更重要?在沒有用戶時,我們該如何冷啟動?團(tuán)隊、人、技術(shù)、產(chǎn)品、推廣和拜春哥,哪一個更重要?到底是什么決定了一個項目的生存或者毀滅?
來吧,一起書寫51daifan的成長史吧。51daifan是一個同事之間分享午餐、特產(chǎn)的公益平臺。每天帶飯的同學(xué),可以多帶幾份愛心便當(dāng),分享給身邊的同事。大家中午一起熱飯,一起桌上足球,一起品嘗同事帶來的愛心便當(dāng)。讓午餐變成每天最快樂的時光。
51daifan從5月底開始有想法,一周后6月初web版本上線,四周后7月中旬android版本上線,現(xiàn)在,8月初,ios版本即將上線。2個月時間,有過快樂,有過迷茫,也有過痛苦。它到底會不會成功,誰也不知道,這也許就是生活最富有魅力的部分吧。關(guān)注我們的微信公共號,一起來品味產(chǎn)品成長中的酸甜苦辣吧:
一起來品味產(chǎn)品成長中的酸甜苦辣吧,每周一,我們將把51daifan上周所有滋味傾訴在這里:產(chǎn)品的運營數(shù)據(jù)、開發(fā)進(jìn)度、對產(chǎn)品方向的思考、產(chǎn)品運營遇到的問題和想法。加入我們,一起來決定產(chǎn)品的進(jìn)程吧,把你的想法告訴我們,我們一起來嘗試,不管結(jié)果如何,當(dāng)我們的額頭爬滿皺紋,我們能做到的就是,不讓它們也爬在心里。
一、產(chǎn)品源起
產(chǎn)品想法緣起每天的午飯:
但是,我們周圍還有這樣一群人:
于是,我們想:
產(chǎn)品運營&數(shù)據(jù)
目前產(chǎn)品上線8周,注冊用戶160人,app下載用戶22人,日活躍用戶在25人。有過訂飯/帶飯行為的用戶為62人,訂飯數(shù)據(jù)371人次。
產(chǎn)品運營分為3個階段:
- 6月份中上旬在部門里試用,用戶數(shù)到達(dá)30人,日活躍用戶在20人,2人帶飯,日均訂飯數(shù)12;
- 6月下旬在公司BBS進(jìn)行了第一次推廣,一周內(nèi)注冊用戶數(shù)達(dá)到90人,但帶飯人數(shù)依舊是2人,拓展新的帶飯同事困難(之前假設(shè)妹子有時間帶飯的路證明是不通的),日均訂飯數(shù)16;
- 7月開始轉(zhuǎn)換思路,同時鼓勵同事可以分享自己家產(chǎn)的特產(chǎn),進(jìn)行了兩次自家蜂蜜和蜂王漿的團(tuán)購,產(chǎn)品推廣集中在bbs發(fā)帖,人數(shù)緩慢增長到160,一位帶飯的同事退出(確實是太累了,純愛心活),為了增加網(wǎng)站粘度,增加了711免費帶飯服務(wù),但效果并不明顯。因為沒有找到新的帶飯同事,目前日均訂飯數(shù)下降至10。
對當(dāng)前產(chǎn)品運營來說,最重要的工作就是如何找到更多愿意分享的同事。目前有兩種思路:一是降低分享的門檻,例如我們可以分享自己15分鐘家常菜的菜譜,通過降低門檻拉動社區(qū)的活躍度;二是推廣我們的網(wǎng)站,認(rèn)為沒有更多分享同事是因為我們用戶數(shù)還很少。
9月份有個大的分享活動是nanana同學(xué)家在五常,10月她家新稻米收割,我們會組織一次團(tuán)購,五常稻花香大米在超市的價格在10元左右是陳米并且一定摻有其他米(這已經(jīng)是所有大米收購時就有的潛規(guī)則),我們初步考慮的價格在7元左右,成本在于物流,真是個大問題,目前考慮是長途車送至四惠客運站,然后再包車?yán)焦荆尚行赃€在討論)。
對產(chǎn)品方向的不懈思考
我始終認(rèn)為產(chǎn)品大的方向絕對正確,就是基于社交關(guān)系的O2O(這里是同事關(guān)系)。在這個全國造假、連政府信用都已經(jīng)破產(chǎn)的當(dāng)下,冷漠、造假似乎是我們這個時代的代名詞。我們一定能做點什么,通過基于社交/同事關(guān)系的O2O,我們認(rèn)為一定能重建人們之間的關(guān)心和溫暖。一方面我們能獲得綠色、環(huán)保、健康的食品,另一方面,能夠拉近同事間的關(guān)系。
當(dāng)前開發(fā)進(jìn)度
目前web、android、ios開發(fā)全部在同步進(jìn)行,全部是業(yè)余時間開發(fā),代碼開源在:https://github.com/ronghao100。Android第一個版本已經(jīng)發(fā)布,第二個版本將包含上傳圖片和消息通知,計劃下周發(fā)布,ios本周提交審核,計劃一周后發(fā)布。
對這個項目發(fā)展你有什么想法,來吧,一起決定它的未來!掃描二維碼立刻關(guān)注我們的微信公共賬號:
一、我們要解決的問題
無論是什么樣的解決方案,一定要牢記我們要解決的問題是什么,切不能將解決方案當(dāng)做問題本身。具體到過程改進(jìn),不管是何種方式的改進(jìn),它們所要解決的問題永遠(yuǎn)只有一個:縮短從產(chǎn)品想法到可用軟件之間的時間周期。自動化發(fā)布正是如此,如果軟件發(fā)布只做一次,我們說根本不需要自動化,但如果三次以上,那么軟件開發(fā)的黃金法則DRY就必須遵守,讓時間真正用到開發(fā)當(dāng)中去。
二、與發(fā)布相關(guān)的問題
所謂自動化只不過是將原先手工做的工作謙讓給機(jī)器做,所以自動化之前一定要先清楚與發(fā)布相關(guān)的問題有哪些,即使不自動化,這些工作也一個也不能少:
- 應(yīng)用程序如何打包? 發(fā)布包能否追蹤到SVN版本號?
- 對目標(biāo)機(jī)器環(huán)境有什么樣的要求?
- 配置信息是否需要根據(jù)目標(biāo)機(jī)器信息做出調(diào)整?
- 應(yīng)用程序如何安裝和啟動?
- 應(yīng)用程序啟動后如何切流量?
- 應(yīng)用程序如何升級? 舊版本程序數(shù)據(jù)如何遷移?
- 升級過程中和結(jié)束后如何切流量?
- 應(yīng)用程序如何卸載?
三、我們的方案
李安的少年Pi正在狂刷票房,我們的自動化發(fā)布方案也要跟上潮流:Puppet+CI我們的少年Pi。
Ø 使用CI自動化打包,追蹤每個發(fā)布包的SVN版本;
Ø 使用Puppet管理發(fā)布包、目標(biāo)機(jī)器環(huán)境、應(yīng)用程序配置信息以及應(yīng)用程序線上生命周期;
Ø 使用伽利略系統(tǒng)提供應(yīng)用程序的命名服務(wù)和進(jìn)行流量切換。
現(xiàn)在應(yīng)用程序的發(fā)布需要兩步:CI一鍵打包、puppet指定應(yīng)用程序版本SVN提交。
四、具體方案
具體方案也就是如何解決與發(fā)布相關(guān)八個問題的過程。
1. 如何安裝、升級和卸載應(yīng)用程序
我們使用操作系統(tǒng)原生包管理系統(tǒng)來安裝、升級和卸載應(yīng)用程序,我們的應(yīng)用程序打出RPM二進(jìn)制包。免安裝,所有機(jī)器自帶,綠色的,有機(jī)的。
打包:rpm -ba ./team_member-1.spec
安裝:rpm –ivh team_ member-2.0.1-48.x86_64.rpm
升級:rpm –U team_ member-2.0.1-49.x86_64.rpm
卸載:rpm –e team_ member-2.0.1-48.x86_64.rpm
程序升級前要停舊版本服務(wù)怎么辦?舊版本數(shù)據(jù)要做處理怎么辦?RPM已經(jīng)幫我們料理好這一切,只要寫出spec文件,剩下的交給我們。盡情的插入吧:
2. 如何管理目標(biāo)機(jī)器環(huán)境和應(yīng)用配置信息
應(yīng)用程序已經(jīng)打好rpm包了,但這還不夠,應(yīng)用程序發(fā)布到哪臺機(jī)器上?應(yīng)用程序?qū)δ繕?biāo)機(jī)器有什么要求?發(fā)布時需要修改哪些配置和參數(shù)?實際發(fā)布如何執(zhí)行,難道需要登陸到每臺目標(biāo)機(jī)器運行rpm命令嗎?
我們使用Puppet來搞定這一切,Puppet是現(xiàn)在應(yīng)用第一的devops工具,它通過master/agent的工作模式管理機(jī)器。我們通過聲明來控制我們的機(jī)器達(dá)到目標(biāo)狀態(tài)。同時,所有puppet文件全部在SVN里,所有對機(jī)器的修改全部codereview和可審計。
如何管理應(yīng)用程序發(fā)布到哪臺機(jī)器上?在回答這個問題前我們必須將應(yīng)用程序在線上的生命周期再進(jìn)行一次封裝。
應(yīng)用程序TeamMember被我們封裝成一個puppet module,配置文件和參數(shù)被封裝在對應(yīng)templates和files里,每次發(fā)布前都要修改配置文件和傳遞不同的參數(shù)?out了吧,puppet幫你傳參搞定:
Teammember.conf文件內(nèi)容:
封裝完成后的效果是這樣的:
最后在管理部署的site.pp文件里聲明一下,應(yīng)用程序TeamMember的2146版本就被自動部署到10.128.34.141.test.back.shequ這臺機(jī)器上了,我們后續(xù)的工作也就是維護(hù)這個site.pp文件了,所有應(yīng)用程序的部署信息都在SVN被集中管理起來:
登陸到每臺目標(biāo)機(jī)器運行rpm命令?No!現(xiàn)在TeamMember已經(jīng)被封裝,我們修改完畢site.pp并提交后,puppet就自動執(zhí)行命令了,要不怎么說是自動化呢。(現(xiàn)在puppet默認(rèn)在agent每半小時同步一次,但同時支持馬上觸發(fā)執(zhí)行)。
3. 如何追蹤每次發(fā)布的SVN版本號
我們使用CI進(jìn)行應(yīng)用程序的打包,將build號作為包命名的一部分:
4. 如何在發(fā)布過程中切換流量
這是另外一個很大的話題,參見伽利略計劃。
五、下一步工作
使用CI將環(huán)境的自動化部署與自動化測試串聯(lián)起來,搭建起整個研發(fā)流程自動化平臺:
六、小結(jié)
沒有銀彈,自動化所做的只是將之前手工工作交給計算機(jī)完成,需要做的工作一個都不能少,此外,我們還要多做一些封裝或腳本工作,但是,當(dāng)我們需要重復(fù)做這些事情的時候,價值就出現(xiàn)了。我們的目標(biāo)永遠(yuǎn)是縮短從產(chǎn)品想法到可用軟件之間的時間周期。讓時間真正用到開發(fā)當(dāng)中去。
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 31 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(38)
隨筆分類
- ajax相關(guān)(9)
- cms(7)
- Head First Process-深入淺出流程(15)
- j2se基礎(chǔ)(6)
- JbpmSide(6)
- OOA/OOD(4)
- SOA、BPM(26)
- 工作日志(24)
- 工作流jbpm3(10)
- 張小慶,在路上(42)
- 心情小站(24)
- 權(quán)限相關(guān)(12)
- 表現(xiàn)層相關(guān)(4)
- 轉(zhuǎn)載(4)
隨筆檔案
- 2013年8月 (1)
- 2012年12月 (1)
- 2012年1月 (3)
- 2011年12月 (2)
- 2011年11月 (2)
- 2011年10月 (3)
- 2011年9月 (3)
- 2011年8月 (7)
- 2011年7月 (4)
- 2011年6月 (3)
- 2011年5月 (5)
- 2011年4月 (6)
- 2011年3月 (4)
- 2011年2月 (2)
- 2010年9月 (1)
- 2010年6月 (1)
- 2010年5月 (1)
- 2010年3月 (4)
- 2010年1月 (2)
- 2009年11月 (5)
- 2009年10月 (4)
- 2009年9月 (1)
- 2009年7月 (1)
- 2009年6月 (2)
- 2009年5月 (2)
- 2009年4月 (1)
- 2009年3月 (4)
- 2009年2月 (2)
- 2008年12月 (1)
- 2008年11月 (1)
- 2008年10月 (1)
- 2008年9月 (2)
- 2008年8月 (2)
- 2008年7月 (2)
- 2008年6月 (3)
- 2008年5月 (4)
- 2008年4月 (1)
- 2008年3月 (2)
- 2008年2月 (2)
- 2008年1月 (4)
- 2007年11月 (3)
- 2007年10月 (3)
- 2007年9月 (2)
- 2007年8月 (4)
- 2007年7月 (1)
- 2007年6月 (12)
- 2007年5月 (2)
- 2007年4月 (1)
- 2007年3月 (8)
- 2007年2月 (6)
- 2007年1月 (4)
- 2006年12月 (4)
- 2006年11月 (3)
- 2006年10月 (1)
- 2006年8月 (2)
- 2006年7月 (3)
- 2006年6月 (3)
- 2006年4月 (1)
- 2006年3月 (2)
- 2006年2月 (2)
- 2006年1月 (4)
- 2005年12月 (7)
- 2005年11月 (12)
文章分類
文章檔案
常去的網(wǎng)站
搜索
最新評論

- 1.?re: 使用Handler來增強(qiáng)Web服務(wù)的功能
- asdfasfd
- --ads
- 2.?re: 使用solr搭建你的全文檢索
-
@木哥哥
你的分詞器用的是什么啊?mmseg貌似可以的 - --陳冠馳
- 3.?re: 使用solr搭建你的全文檢索
-
@marten這是你的solr的schame.xml配置文件有問題。好好檢查下你的配置文件里面的字段什么的配置對著沒
- --陳冠馳
- 4.?re: 討論一下你覺得一個工作流產(chǎn)品好的標(biāo)準(zhǔn)
- 評論內(nèi)容較長,點擊標(biāo)題查看
- --深圳非凡信息技術(shù)有限公司
- 5.?re: DisplayTag應(yīng)用
- name="test"從哪里來的,千篇一律的到處使用test卻沒有test的定義,sb
- --qige