高效開發(fā),精益管理乔遮,關(guān)于持續(xù)交付你必須知道的事~

想要把握這個時代扮超,就必須理解計算機。理解計算機的關(guān)鍵,則是要理解計算機背后的人出刷。

背景介紹

互聯(lián)網(wǎng)時代璧疗,頭部的基本需求已經(jīng)被全部滿足,未來的方向或許是現(xiàn)有模式的顛覆馁龟,或許是長尾個性化需求的充分滿足崩侠,又或許是小眾人群的挖掘。在這樣的大背景下坷檩,如何通過極致的研發(fā)運營效率却音,快速發(fā)現(xiàn)新的機會,降低創(chuàng)新成本就變得尤為重要矢炼。

實際上僧家,國外的互聯(lián)網(wǎng)公司已經(jīng)做了先行者,進行了很多不同的實踐裸删,其中之一就是持續(xù)交付。有人問:“為什么持續(xù)交付的概念在09年就已經(jīng)在國外盛行阵赠,而中國近幾年才開始流行涯塔?”

面對這樣的問題,有三個這樣的答案清蚀。

  • 百度工程效率部負責人:這是互聯(lián)網(wǎng)發(fā)展的客觀規(guī)律匕荸,現(xiàn)在的企業(yè)對精益團隊有需要了,運維等底層技術(shù)也在不斷突破枷邪;
  • 喬幫主:90年左右國外軟件工程就開始發(fā)展了榛搔,而中國的黃金一代在98年,我們?nèi)匀惶幱谝粋€補課的階段东揣;
  • 騰訊副總裁:現(xiàn)在生意不好做了践惑,人手不夠但要做事,就開始講究效率了嘶卧。

騰訊的答案給人印象深刻尔觉,跟我們現(xiàn)在的實際場景也很像〗嬉鳎或者說侦铜,這是企業(yè)發(fā)展到一個階段的必然現(xiàn)象。

開始之前

文章的內(nèi)容多摘抄于《持續(xù)交付2.0》(侵權(quán)即刪)钟鸵,也希望大家能夠購買并閱讀喬老師的新作钉稍,我也算為精益思想的布道做了力所能及的貢獻。
在簽售會上棺耍,喬梁老師用了一個小時來介紹寫書的用意贡未,以幫助讀者更好的認識持續(xù)交付2.0。
這里,筆者不自大于能帶領(lǐng)大家領(lǐng)略持續(xù)交付方法論的思想羞秤,但希望文章能夠給大家埋下一個意識缸托,在面對組織上的迷茫時,能夠想起有持續(xù)交付這個方法瘾蛋,然后翻開書本俐镐,揣摩其深意。
如此這般哺哼,就是有價值的佩抹。

歷史縮影

Part I

在1968年,出現(xiàn)了第一次軟件危機取董,落后的軟件生產(chǎn)方式無法滿足迅速增長的計算機軟件需求棍苹,導(dǎo)致軟件開發(fā)和維護過程中出現(xiàn)一系列嚴重的問題。

在全新的計算機領(lǐng)域中茵汰,人們借鑒了工程領(lǐng)域的工程方法枢里,以實現(xiàn)“按預(yù)算準時交付所需功能的軟件項目”的愿望!

1970年蹂午,Dr. Winston 首次提出了瀑布式軟件開發(fā)方法栏豺,它將軟件開發(fā)過程定義為多個階段每個階段有嚴格的輸入和輸出標準豆胸,管理者希望通過這種重計劃奥洼、重流程、重文檔的方式來解決危機晚胡,具備這三個特征的開發(fā)方法統(tǒng)稱為“重型軟件開發(fā)方法”灵奖。

瀑布圖

軟件開發(fā)像瀑布一樣,從一個階段流向另一個階段估盘。實際開發(fā)過程中瓷患,每個階段都需要花費過長的時間(數(shù)月),需求也在不斷變更遣妥,然后按預(yù)算準時交付的問題仍然沒有得到很好的解決尉尾。

Part II

1994年,Chaos Report 顯示燥透,軟件交付項目的失敗或交付困難的比率仍舊很高(成功率16.2%沙咏,受到挑戰(zhàn)的52.7%,失敗的31.7%)班套。

很多優(yōu)秀的軟件工作者也不滿意于瀑布式開發(fā)的交付成果肢藐,并在工作實踐中總結(jié)了新的開發(fā)方法。在2001年吱韭,17位軟件大師齊聚加拿大的小鎮(zhèn)“雪鳥”吆豹,總結(jié)了“輕量級軟件開發(fā)方法”的特點鱼的,發(fā)表了“敏捷宣言”。

敏捷開發(fā)方法痘煤,從一開始就不特指某一種開發(fā)方法凑阶,而是一簇軟件開發(fā)方法的代名詞。

敏捷的核心原則是:強調(diào)人的主觀能動性衷快,提倡面對面溝通宙橱、擁抱變化、通過迭代和增量開發(fā)盡早交付有價值的軟件蘸拔。

很多團隊認識到师郑,軟件開發(fā)其實是一件不斷迭代學習的過程,軟件工程師需要不斷和業(yè)務(wù)領(lǐng)域?qū)<医涣饔懻搧韺W習调窍,將其轉(zhuǎn)化為數(shù)字世界的表達方式宝冕,并不斷持續(xù)這個過程。簡單的說邓萨,把業(yè)務(wù)和軟件工程師整合在一起地梨。

在敏捷早起,迭代的周期仍然非常的長缔恳,業(yè)務(wù)人員和研發(fā)人員之間關(guān)于需求的變更仍然是主要矛盾湿刽。

這兩個時期,無論是瀑布式開發(fā)還是敏捷開發(fā)褐耳,最重要的關(guān)注點都是可交付的軟件包本身,即如何快速的把軟件需求變成可交付的軟件包渴庆。

敏捷實踐

軟件需求的反復(fù)變更铃芦,儼然成為了IT領(lǐng)域最為突出的問題。

從“敏捷宣言”中襟雷,我們已經(jīng)看出了解決的方向:擁抱變化刃滓、盡早交付、增量開發(fā)耸弄、反復(fù)迭代咧虎。

接下來一系列的實踐,都在體現(xiàn)這樣的精神计呈。

持續(xù)集成

“持續(xù)集成”作為敏捷開發(fā)方法的一個工程實踐砰诵,率先被廣泛的IT組織接受。

持續(xù)集成捌显,就是把完成的代碼不斷轉(zhuǎn)變成可交付的代碼茁彭。簡單的說,把開發(fā)和測試的職責整合在一起扶歪。

DevOps

在2008年的多倫多敏捷大會上理肺,一個“敏捷基礎(chǔ)設(shè)施”的臨時話題中,獨立IT咨詢師 Patrick 分享了一個“將敏捷實踐應(yīng)用于運維領(lǐng)域”的討論,并成功催化出一種運動妹萨,迅速傳播年枕,這個運動就是DevOps。

DevOps的原始定義是“DevOps是運維工程師和開發(fā)工程師參與整個服務(wù)生命周期的一組實踐”乎完,并提出熏兄,倡導(dǎo)運維人員更多地使用和開發(fā)人員使用的相同的技術(shù)來進行系統(tǒng)運維工作。簡單的說囱怕,把開發(fā)工程師和運維工程師整合在一起霍弹。事實上,截止到今天娃弓,業(yè)界對于DevOps都沒有統(tǒng)一的標準定義典格,如同敏捷,每一位從業(yè)者都有他自己的看法台丛。但是值得明確的是耍缴,它們的目標和原則都非常明確,DevOps的目標是縮短開發(fā)周期挽霉,提高部署頻率和更可靠的發(fā)布防嗡,與業(yè)務(wù)目標保持一致

和敏捷開發(fā)方法相似侠坎,DevOps并非一個標準蚁趁、一個模式 or 一個固定方法,它在提出之時的實操指導(dǎo)性略顯不足实胸。同一時間他嫡,IT領(lǐng)域出現(xiàn)了的另一個概念“持續(xù)交付”。

DevOps
教研-開發(fā)

持續(xù)交付 1.0

敏捷之勢庐完,愈演愈烈钢属,絕知此事須躬行。

秉承能夠?qū)嵺`的原則门躯,10年正式出版了一本書《持續(xù)交付》淆党,持續(xù)交付被定義為一種能力,以一種可持續(xù)的方式讶凉,安全快速的把代碼部署到生產(chǎn)環(huán)境上染乌,讓用戶使用。簡單的說懂讯,把業(yè)務(wù)人員慕匠、開發(fā)人員、測試人員和運維人員都整合在一起域醇。業(yè)務(wù)人員提出軟件需求台谊,開發(fā)人員完成編碼蓉媳,測試人員檢測功能,運維人員部署并監(jiān)控服務(wù)锅铅,業(yè)務(wù)人員通過監(jiān)控數(shù)據(jù)提出新的軟件需求酪呻,這就是持續(xù)交付1.0的閉環(huán)模型。

持續(xù)交付1.0

持續(xù)交付這本書盐须,提供了一系列工作原則和優(yōu)秀的實踐方法玩荠,真正在實踐中提升了軟件開發(fā)活動的效率,是一個經(jīng)過檢驗的范式贼邓。

精益思想

技術(shù)必須創(chuàng)造價值阶冈,如果沒有或者不夠,那一定是我錯了塑径。

在實際場景中發(fā)現(xiàn)女坑,有一些軟件功能并沒有產(chǎn)生什么影響,根本沒有用戶使用统舀。但是這些功能確實花費了團隊的很多精力才設(shè)計實現(xiàn)匆骗,這是一種巨大的浪費。這種“無效”的功能越多誉简,浪費就越大碉就,我們能否找到一些方法,讓我們付出的努力對業(yè)務(wù)改善更加有效闷串,或者只用很少的成本就驗證對業(yè)務(wù)無效呢瓮钥?

最小可行性產(chǎn)品(Minimum Viable Product, MVP)。這個原型并不是一下子設(shè)計得到一個完美的產(chǎn)品烹吵,而是為了驗證自己心中的商業(yè)假設(shè)碉熄,得到用戶的真實反饋后,從每次的結(jié)果中學習年叮,再快速迭代,持續(xù)修正玻募,在資源耗盡前從迷霧中找到通往成功的道路只损,最終適應(yīng)市場的需求。

精益思想七咧。根據(jù)用戶需求跃惫,定義企業(yè)生產(chǎn)價值,按照價值流來組織全部生產(chǎn)活動艾栋,使價值在生產(chǎn)活動之間流動起來爆存,由需求拉動產(chǎn)品的生產(chǎn),從而識別整個生產(chǎn)過程中不經(jīng)意間產(chǎn)生的浪費蝗砾,并消除之先较。在業(yè)務(wù)生產(chǎn)中的所有活動携冤,可以被歸結(jié)為兩種,增加價值的活動和不增加的闲勺,不增加價值的活動就被稱之為“浪費”曾棕,浪費也可以被歸結(jié)為兩種,必要的浪費(工作項的交接菜循、尋找信息翘地、測試、管理)癌幕,和不必要的浪費(無人使用的功能衙耕,庫存,軟件缺陷)勺远。

盡管“消除所有浪費”幾乎是不可能的橙喘,但是,我們?nèi)耘f要全面貫徹“識別和消除一切浪費”的理念谚中,持續(xù)不斷的優(yōu)化流程和工作方式渴杆,達到高質(zhì)量、低成本宪塔、無風險地快速交付客戶價值的目的磁奖。

持續(xù)交付 2.0

回到開始,我們正處于一個補課的階段某筐。

2009年左右比搭,LinkedIn 從過去每年發(fā)布12次,到現(xiàn)在實行3x3南誊,每周部署3次(Mon, Wen, Fri)身诺,每天發(fā)布3次(11am, 1pm, 4pm),Amazon的成功是每年抄囚、每周霉赡、每月、每天多次實驗的結(jié)果幔托,F(xiàn)aceBook在任何時候都不只一個版本在運行穴亏,而是一萬個。

“持續(xù)交付2.0”是一種產(chǎn)品研發(fā)管理思維框架重挑。簡單的說嗓化,精益思想和持續(xù)交付1.0整合起來,強調(diào)業(yè)務(wù)和技術(shù)之間的快速閉環(huán)谬哀,以一種可持續(xù)方式刺覆,高質(zhì)量、低成本史煎、無風險地快速交付客戶價值谦屑。對企業(yè)來說驳糯,開發(fā)軟件產(chǎn)品的目標是創(chuàng)造客戶價值椅挣。因此卖氨,我們不應(yīng)該僅僅關(guān)注快速開發(fā)軟件功能譬圣,同時還應(yīng)該關(guān)注我們所交付的軟件的業(yè)務(wù)正確性胶坠,以及如何以有效的資源快速驗證和解決業(yè)務(wù)問題缆镣。也就是說君躺,不斷探索發(fā)現(xiàn)真正要解決的業(yè)務(wù)問題纬乍,提出科學的目標跋选,設(shè)計最小可行解決方案谓苟,通過快速實現(xiàn)解決方案并從真實反饋中收集數(shù)據(jù)官脓,以驗證該問題是否得以解決。這是一個從業(yè)務(wù)問題出發(fā)涝焙,到業(yè)務(wù)問題解決的完整業(yè)務(wù)閉環(huán)卑笨,也是一個整合精益思想和持續(xù)交付的雙環(huán)模型。

持續(xù)交付2.0的四個核心原則

  • 堅持少做

    • Netflix 認為仑撞,它們想做的事情中赤兴,可能有90%是錯誤的。
    • MicroSoft 認為隧哮,那些旨在改進關(guān)鍵指標而精心設(shè)計和開發(fā)的功能特性中桶良,只有1/3左右成功改進了關(guān)鍵指標。
    • Instagram 被問及“5個工程師如何支持4000萬用戶沮翔?”時說陨帆,“少做,先做最簡單的事情”采蚀。
  • 持續(xù)分解問題
    復(fù)雜的業(yè)務(wù)問題中一定會包含很多不確定因素疲牵,它們會影響問題解決的速度和質(zhì)量。通過對問題的層層分解榆鼠,可以讓團隊更了解業(yè)務(wù)纲爸,更早識別出風險。

  • 堅持快速反饋
    如果忽視每一項工作的結(jié)果反饋妆够,那么就失去了由問題分解帶來的另一半收益识啦,確認風險降低or解除!

  • 持續(xù)改進并衡量
    無論做了什么樣的改進责静,如果無法以某種方式衡量它的結(jié)果袁滥,就無法證明真的得到了改進盖桥。

2.0 雙環(huán)模型

價值探索環(huán)

這是一個外在的環(huán)灾螃,價值只能被外部定義。

很多企業(yè)在開發(fā)新產(chǎn)品時揩徊,會采用“概念驗證”或“產(chǎn)品原型法”腰鬼,然后用較長的開發(fā)過程去實現(xiàn)產(chǎn)品嵌赠。由于市場變化太快,花大量時間完成開發(fā)后熄赡,可能因為對潛在用戶的理解存在偏差or用戶需求發(fā)生變化姜挺,導(dǎo)致當初的設(shè)計不被市場接受。在這個過程中有三個假設(shè)彼硫,用戶假設(shè)(潛在用戶)炊豪,問題假設(shè)(臆想需求),解決方案假設(shè)(我們很牛)拧篮。這三類假設(shè)中词渤,任何一個不成立,都會導(dǎo)致事倍功半串绩,甚至前功盡棄缺虐。

價值探索環(huán)的目的就是要我們從業(yè)務(wù)問題出發(fā),和團隊一起礁凡,共同找出這三類假設(shè)高氮,制定MVP,借助環(huán)的高速運轉(zhuǎn)顷牌,獲得反饋剪芍,不斷驗證和迭代。

  • 提問
    不僅僅是找到“實現(xiàn)什么”以及“如何實現(xiàn)”韧掩,更要了解“為什么要實現(xiàn)”紊浩。

舉辦一個知識分享會,有一個客戶希望下午能喝一杯咖啡疗锐。于是我們就問“需要什么口味”“熱的還是冰的”“大杯還是中杯”“什么時候拿到”坊谁,這樣就會去準備冰箱、冰塊滑臊、水杯等等口芍。反而忽略了客戶為什么想要咖啡。如果客戶是因為害怕而錯過精彩分享雇卷,我們是不是可以采取錄制視頻鬓椭,增加互動環(huán)節(jié),允許會場走動等活動关划。

  • 錨定
    當選定問題之后小染,我們要確定具體的目標和結(jié)果。
    目標最重要的特征之一是可客觀衡量贮折。學生喜歡的課程(學生有效停留率達到95%)裤翩,有效的課程(糾錯率達到60%),服務(wù)的穩(wěn)定性(成功響應(yīng)率達到99%)调榄。

  • 共創(chuàng)
    有了目標之后踊赠,團隊為設(shè)法驗證or達成目標而找出多種可行性解決方案的過程呵扛。
    同樣的,方案最重要的特征之一就是要有量化指示器筐带!為了提高產(chǎn)品的使用率今穿,team member要提高產(chǎn)品的有效率(學生的絕對糾錯率達到70%),team leader要提高團隊的效率(做課效率從10人天提升至2人天)伦籍,tech team要賦能業(yè)務(wù)(監(jiān)控數(shù)據(jù)從每周更新到每天更新)蓝晒。

  • 精煉
    在共創(chuàng)環(huán)節(jié)會有多個方案,精煉是從中選出團隊認為最小可行性解決方案的過程帖鸦。
    不難想象拔创,哪怕是巨大的工程,其解決方案也是一組迷你方案的集合富蓄。精煉的目的不是并不是為了刪除在共創(chuàng)階段得出的解決方案剩燥,而是將它們按照優(yōu)先級排列,并讓團隊將解決方案進一步分解立倍,順序選出共同認可的最重要改進項灭红,并確保它能夠盡早被驗證。那么口注,如何確定我們完成了精煉呢变擒?可以嘗試寫出下面的句子。

我們相信寝志,通過實現(xiàn)(xxxx最小功能組合)娇斑,我們的指標可以達到(xxxx程度)的話,說明我們關(guān)于(xxxx)的假設(shè)是成立的材部。

工作原則

  • 分解并快速試錯
  • 一次只驗證一點
  • 允許失敗

快速驗證環(huán)

這是一個內(nèi)在的環(huán)毫缆,有了需求,如何快速上線并獲得真實可靠的反饋乐导。

質(zhì)量和速度是驗證環(huán)的關(guān)鍵苦丁,也就是說,發(fā)布質(zhì)量好而且頻率要高物臂!(一些來自于1.0的方法:質(zhì)量內(nèi)建旺拉、小批量交付、自動化一切重復(fù)工作)

  • 構(gòu)建
    構(gòu)建是將自然語言的描述轉(zhuǎn)換成計算機可執(zhí)行的軟件棵磷,即可交付的軟件包蛾狗。
    這個環(huán)節(jié)參與的角色最多,參與角色如業(yè)務(wù)人員仪媒、產(chǎn)品經(jīng)理沉桌、工程師,每個角色的背景知識和技能優(yōu)勢各不相同,如何快速將人們頭腦中的解決方案變成可以運行的高質(zhì)量軟件包蒲牧,一致是軟件工程領(lǐng)域的難題。這也決定了這是驗證環(huán)內(nèi)不確定因素最多的一個環(huán)節(jié)赌莺。有三個方法可以了解一下:時間盒管理(timeboxing - deadline)冰抢、任務(wù)分解(breakdown)、持續(xù)驗證(demo)艘狭。

  • 運行
    運行將可交付的軟件包部署至生產(chǎn)環(huán)境挎扰。
    如何讓用戶在無感知的情況下完成軟件版本的升級更新是互聯(lián)網(wǎng)時代最為重要的課題。這一階段是開發(fā)和運維之間發(fā)生沖突最多的環(huán)節(jié)巢音,也是重復(fù)性手工操作最多的環(huán)節(jié)遵倦。

  • 監(jiān)測
    監(jiān)測是收集數(shù)據(jù),統(tǒng)計展現(xiàn)結(jié)果官撼、及時發(fā)現(xiàn)生產(chǎn)系統(tǒng)問題以及業(yè)務(wù)指標的異常波動并作出適當?shù)姆磻?yīng)梧躺。

  • 決策
    決策是指受到真實的業(yè)務(wù)數(shù)據(jù)反饋結(jié)果后,根據(jù)探索環(huán)中已確定的響應(yīng)衡量指標進行對比分析傲绣,從而驗證是否符合最初的預(yù)期掠哥。

工作原則

  • 質(zhì)量內(nèi)建(built quality in)
    從生產(chǎn)過程的第一個環(huán)節(jié)起,就要注重產(chǎn)出物的質(zhì)量秃诵,并且在每個環(huán)節(jié)中都要開展質(zhì)量保障活動续搀,消除因質(zhì)量問題導(dǎo)致的返工及次品率上升,以此降低最終的質(zhì)量風險菠净,保障進度禁舷。

  • 消除等待
    價值流動,從關(guān)注“人”到關(guān)注“事”
    任務(wù)自助毅往,讓“專業(yè)”的人做“專業(yè)”的事牵咙,讓“專業(yè)”的任務(wù)能自助

  • 重復(fù)事務(wù)自動化
    如果以前一個月發(fā)布一次,現(xiàn)在每個月發(fā)布八次攀唯,那發(fā)布成本就是以前的八倍霜大,所以自動化發(fā)布流程就顯得尤為重要。依此類推革答。

  • 監(jiān)測一切
    “應(yīng)用健康監(jiān)測”和“業(yè)務(wù)健康檢測”

補遺

團隊的文化建設(shè)

It is our choices, Harry, that show what we truly are, far more than our abilities.

鏈接中是騰訊的人才發(fā)展觀战坤,干貨很多,值得一讀残拐。

寫書原因

曾:你寫本書吧途茫,把你的精益思想寫出來
喬:為什么要寫啊,你給我一個事情溪食,我能保證把它解決
曾:你能解決一個問題囊卜,一個團隊,可是我有這么多團隊,這么多問題栅组,怎么辦雀瓢?
(語言記錄不盡詳實)

在團隊中也一樣吧,程序員能寫一個模塊玉掸,一個系統(tǒng)刃麸,那企業(yè)有那么多模塊,那么多系統(tǒng)司浪,怎么辦泊业?

A Small Tip

持續(xù)交付2.0是非常好的思維框架,但也并不是可以完全照搬照抄的啊易,框架中重要的是方法論吁伺,讀書的過程更應(yīng)該吸收這種思想。就比如軟件領(lǐng)域的大型游戲開發(fā)租谈,就不可能做一個MVP然后得到用戶真實數(shù)據(jù)后迭代篮奄。

SCRUM中令人愉悅的經(jīng)驗

  • 持續(xù)breakdown的做法。其一割去,團隊中每個人都會參與業(yè)務(wù)分解宦搬,讓每個人都有參與感,很容易build團隊歸屬感劫拗,也讓團隊成員相互理解间校;其二:任務(wù)足夠小,一旦完成就可以點掉一個页慷,就像打游戲得分一樣憔足,給個人的反饋非常及時,是一種成就感酒繁;其三滓彰,在持續(xù)分解時,能暴露更多的業(yè)務(wù)細節(jié)州袒,既能少做很多事情揭绑,也能提高了效率。
  • 關(guān)注價值的做法郎哭。其一他匪,每天站會都能感受到價值流動,從交付的代碼到實際產(chǎn)生的價值夸研,是直觀的刺激邦蜜,讓人有成就感;其二亥至,sprint的故事拆解環(huán)節(jié)中悼沈,每個故事都必須有價值贱迟,要找到能夠?qū)崿F(xiàn)價值的最少行為,這讓團隊專注絮供,讓價值清晰衣吠。
  • 記錄工時的做法。程序員有一些不同的薪酬計算方式壤靶,paid by lines, commits, hours等等缚俏。考慮到程序員其實是“腦力”工作者萍肆,寫代碼是一件非常具有不確定性的工作,SCRUM在試圖不斷減小這種不確定性胀屿,工時直白地展現(xiàn)了一個程序員或者說一個團隊的交付能力塘揣,這很好。不過當工時和薪酬掛鉤時宿崭,hmmm...

** 轉(zhuǎn)載請注明出處 ~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亲铡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子葡兑,更是在濱河造成了極大的恐慌奖蔓,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讹堤,死亡現(xiàn)場離奇詭異吆鹤,居然都是意外死亡,警方通過查閱死者的電腦和手機洲守,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門疑务,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梗醇,你說我怎么就攤上這事知允。” “怎么了叙谨?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵温鸽,是天一觀的道長。 經(jīng)常有香客問我手负,道長涤垫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任竟终,我火速辦了婚禮雹姊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衡楞。我一直安慰自己吱雏,他們只是感情好敦姻,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歧杏,像睡著了一般镰惦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上犬绒,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天旺入,我揣著相機與錄音,去河邊找鬼凯力。 笑死茵瘾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的咐鹤。 我是一名探鬼主播拗秘,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祈惶!你這毒婦竟也來了雕旨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤捧请,失蹤者是張志新(化名)和其女友劉穎凡涩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疹蛉,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡活箕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了可款。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讹蘑。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖筑舅,靈堂內(nèi)的尸體忽然破棺而出座慰,到底是詐尸還是另有隱情,我是刑警寧澤翠拣,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布版仔,位于F島的核電站,受9級特大地震影響误墓,放射性物質(zhì)發(fā)生泄漏蛮粮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一谜慌、第九天 我趴在偏房一處隱蔽的房頂上張望然想。 院中可真熱鬧,春花似錦欣范、人聲如沸变泄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妨蛹。三九已至屏富,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛙卤,已是汗流浹背狠半。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留颤难,地道東北人神年。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像行嗤,于是被迫代替她去往敵國和親已日。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容

  • DevOps轉(zhuǎn)型的動機 我們的客戶是一家海外本土最大的金融保險集團昂验,他們在發(fā)展到一定規(guī)模以后捂敌,意識到自己就像一頭笨...
    ThoughtWorks閱讀 2,612評論 0 34
  • 塵世艾扮。難逃既琴。情怨糾纏。夢難留泡嘴。人未眠甫恩。前世。素衣著我身酌予。今生磺箕,桃花始盛開。 —-題記 一.葬花魂 花謝花飛花滿天,...
    舞步凌亂閱讀 261評論 0 6
  • 今天看了簡友的文章千呼萬喚始出來雕欺,能量條今天你用了嗎?一時間有點蒙棉姐,如果你想知道關(guān)于能量條信息自己看文吧屠列,可是我怎...
    大唐氤氳閱讀 888評論 7 14
  • 不是人選擇友情,是友情選擇人伞矩。
    川子木閱讀 147評論 0 0