5月,一款叫做“衣食住行“的移動(dòng)應(yīng)用在微軟Marketplace上發(fā)布,這是在Windows Phone平臺(tái)上的一款應(yīng)用,由微軟亞太研發(fā)集團(tuán)中國創(chuàng)新組(CIG)開發(fā)完成。近日,記者專訪CIG“衣食住行”開發(fā)團(tuán)隊(duì), 一同回顧Windows Phone應(yīng)用的誕生過程。
【51CTO專訪報(bào)道】5月,一款叫做“衣食住行“的移動(dòng)應(yīng)用在微軟Marketplace上發(fā)布,這是在Windows Phone平臺(tái)上的一款應(yīng)用,由微軟亞太研發(fā)集團(tuán)中國創(chuàng)新組(CIG)開發(fā)完成。近日,記者專訪CIG“衣食住行”開發(fā)團(tuán)隊(duì), 一同回顧Windows Phone應(yīng)用的誕生過程。
“衣食住行”由微軟亞太研發(fā)集團(tuán)CIG的3名技術(shù)人員通過4個(gè)月的時(shí)間完成上線。項(xiàng)目經(jīng)理黃昊文在接受記者專訪時(shí)談到:“項(xiàng)目組中的3名.NET開發(fā)者,之前都沒有移動(dòng)應(yīng)用的開發(fā)經(jīng)驗(yàn),只是做過Windows的桌面應(yīng)用開發(fā),部分了解SQL Server。這次也是***次接觸Windows Phone SDK。”衣食住行“作為一個(gè)信息聚合平臺(tái),需要和第三方合作伙伴的數(shù)據(jù)進(jìn)行整合,包括API文檔的對接或修改。對于***次接觸移動(dòng)開發(fā)的項(xiàng)目團(tuán)隊(duì),通過MSDN找到了詳細(xì)的開發(fā)文檔,雖然基本上越過了技術(shù)上的挑戰(zhàn),但是面對移動(dòng)開發(fā)全新的業(yè)務(wù)流程,開發(fā)方法和項(xiàng)目管理的過程,在初期黃昊文卻是面臨著很大的挑戰(zhàn)。

Windows Phone應(yīng)用:衣食住行
Sprint核心——體驗(yàn)敏捷開發(fā)的實(shí)踐
“衣食住行“客戶端的代碼在3萬行以上,不包括XAML。全部從零開始寫,貫穿項(xiàng)目始終的敏捷開發(fā)是黃昊文感觸最為深刻的開發(fā)過程。”我們將整個(gè)項(xiàng)目分成了4個(gè)Sprint,3個(gè)開發(fā)Sprint,1個(gè)測試Sprint。敏捷開發(fā)對項(xiàng)目經(jīng)理的要求很高,需要靈活的把握和調(diào)整每一個(gè)周期內(nèi)的項(xiàng)目進(jìn)度“,黃昊文回顧了當(dāng)時(shí)完成第1個(gè)Sprint時(shí),由于是新組建的團(tuán)隊(duì)需要磨合和了解,用了比計(jì)劃多50%的時(shí)間來完成,而很快又發(fā)現(xiàn)這個(gè)結(jié)果并不是所需要的,因此全部推翻重新來做。“這也是敏捷開發(fā)相比較原先瀑布式開發(fā)的優(yōu)勢,能將風(fēng)險(xiǎn)控制在Sprint里。一旦發(fā)現(xiàn)項(xiàng)目出現(xiàn)偏差,能夠很快調(diào)整方向,有效的減少了項(xiàng)目延期、需求實(shí)現(xiàn)不匹配的問題。”
[[77047]]
微軟亞太研發(fā)集團(tuán)中國創(chuàng)新組全家福
黃昊文認(rèn)為敏捷開發(fā)過程還有一個(gè)很重要的環(huán)節(jié)就是每天的Sprint短會(huì)。短會(huì)的目的很明確,每個(gè)人就回答三個(gè)問題:你昨天做了什么?今天打算做什么?在做的過程中碰到過什么問題?如果能回答這三個(gè)問題,項(xiàng)目經(jīng)理就能夠把握整個(gè)項(xiàng)目是否按照計(jì)劃完成,有沒有出現(xiàn)之前沒有預(yù)想到的風(fēng)險(xiǎn)問題等。“而且重點(diǎn)是Sprint短會(huì)一定得在早晨站著開“,黃昊文說:“每天每個(gè)人用兩、三分鐘回答這三個(gè)問題,3~5人的項(xiàng)目組花15分鐘左右就能很好的了解項(xiàng)目的進(jìn)度,和一些突發(fā)的事件,然后很快可以調(diào)整計(jì)劃應(yīng)對。”
黃昊文總結(jié)了敏捷開發(fā)成功的幾個(gè)要素:***,開發(fā)者的規(guī)模不能太多,一旦超過10人以上,作為項(xiàng)目經(jīng)理對項(xiàng)目的核查就很困難了,一般3~6個(gè)最為合適,分工方式也最為靈活。第二,劃分Sprint的周期,一般是4~6個(gè)星期,不能少于3周。在Sprint開始之前,項(xiàng)目經(jīng)理要很明確的列出做一個(gè)Sprint的計(jì)劃。而且要盡可能的細(xì)化,每一個(gè)工作的完成時(shí)長不能超過2天,***以半天為周期進(jìn)行劃分。“***通過1~2個(gè)Sprint實(shí)現(xiàn)項(xiàng)目成員內(nèi)部的磨合了解,這樣接下來的項(xiàng)目進(jìn)展就會(huì)越做越順了“,黃昊文分享道:“敏捷開發(fā)的靈活性還體現(xiàn)在整個(gè)項(xiàng)目組都會(huì)全程參與討論交互設(shè)計(jì),接口設(shè)計(jì),每個(gè)人都很清楚完成的這一部分將會(huì)對整個(gè)產(chǎn)品帶來怎樣的影響,并了解整體的業(yè)務(wù)流程和進(jìn)度,這對于開發(fā)者是一種非常好的積累”。
Expression Blend、Metro控件:Windows Phone應(yīng)用開發(fā)利器
基于Visual Studio平臺(tái)的Windows Phone應(yīng)用開發(fā)讓開發(fā)者們很快進(jìn)入了角色。更為突出的是引入了Silverlight XAML,更好的讓設(shè)計(jì)和開發(fā)人員可以并行協(xié)作的開展項(xiàng)目了。以前做前端開發(fā)最痛苦的是用程序?qū)崿F(xiàn)切圖后的動(dòng)畫效果,現(xiàn)在這部分的工作完全可以由專業(yè)的設(shè)計(jì)人員在Expression Blend中完成。“在用了XAML工具后整個(gè)開發(fā)速度快了很多因?yàn)榍岸碎_發(fā)無需綁定最終版的設(shè)計(jì)效果圖“,黃昊文印象深刻的談到:”我們實(shí)現(xiàn)了真正的并行開發(fā),在界面中確定幾個(gè)控件的名字,綁定控件之間的邏輯關(guān)系后,單個(gè)控件的界面、擺放位置以及交互體驗(yàn)即使進(jìn)行調(diào)整,也不會(huì)影響后臺(tái)的程序開發(fā)。這樣設(shè)計(jì)和開發(fā)相互之間的依賴性減弱,沒有相互之間的確認(rèn)、修改、等待確認(rèn)的過程,非常有效的縮短了整個(gè)產(chǎn)品的設(shè)計(jì)開發(fā)時(shí)間。“
Expression Blend從界面和用戶習(xí)慣來看,與Photoshop的使用很相似。既可以成為作圖工具,也可以通過代碼完成動(dòng)畫效果,包括一些簡單的邏輯都可以通過Blend實(shí)現(xiàn),前端展現(xiàn)層和后端邏輯層分開,由前端的控件綁定后端的數(shù)據(jù)實(shí)現(xiàn)交互。
因?yàn)閃indows Phone采用了全新的Metro風(fēng)格,這種風(fēng)格看似簡單的展現(xiàn),其實(shí)在后面有著針對用戶體驗(yàn)分析這一門深入的科學(xué)研究。黃昊文帶領(lǐng)的項(xiàng)目團(tuán)隊(duì)開始Windows Phone應(yīng)用開發(fā)的初期,也曾嘗試花大量的時(shí)間去做自己的控件,但發(fā)現(xiàn)不僅耗時(shí)而且做了無用功。“這可能是傳統(tǒng)桌面應(yīng)用開發(fā)人員經(jīng)常走入的誤區(qū),喜歡自己寫一些個(gè)性化的控件。但在移動(dòng)應(yīng)用層面,我們一定要遵守的規(guī)則就是所有的開發(fā)過程都是圍繞要提供更優(yōu)秀的用戶體驗(yàn)為最終目標(biāo)的“,黃昊文深有體會(huì)的談到了一次失敗的控件開發(fā)經(jīng)歷:”在Sprint1中,我們花了大力氣做了一個(gè)Windows 上很常見的下拉框,并且綁定了數(shù)據(jù)進(jìn)去。后來發(fā)現(xiàn)在手機(jī)上的用戶體驗(yàn)非常不好,因?yàn)闆]有考慮到手指、屏幕、空間等等的因素。“
在Windows Phone SDK自帶的標(biāo)準(zhǔn)控件中,所有的設(shè)計(jì)調(diào)用是完全符合Metro風(fēng)格的。并且豐富的控件數(shù)量可以滿足幾乎所有的需求,開發(fā)者不需要自己再去做控件,通過調(diào)用就可以最簡單、平滑的實(shí)現(xiàn)Metro風(fēng)格的應(yīng)用開發(fā)。
在采訪“衣食住行“項(xiàng)目組時(shí),微軟亞洲工程院副院長、微軟亞太研發(fā)集團(tuán)技術(shù)孵化部高級總監(jiān)芮勇博士分享道:“微軟在過去三十多年發(fā)展過程中,做出很多很好的產(chǎn)品。但是在一本叫做《創(chuàng)新者的困境》的書中曾寫道:一個(gè)公司越成功,在發(fā)展過程中會(huì)變得越來越危險(xiǎn),因?yàn)橐劳谐晒Φ漠a(chǎn)品,會(huì)丟掉要去創(chuàng)新的風(fēng)險(xiǎn)。而當(dāng)一個(gè)公司失去創(chuàng)新的欲望時(shí),就會(huì)被日益邊緣化。”而讓大家非常欣喜看到的是,微軟在今天依然努力做著創(chuàng)新的嘗試,也在將這創(chuàng)新的基因植入更多的開發(fā)者體內(nèi)。
[[77048]]
微軟亞洲工程院副院長、微軟亞太研發(fā)集團(tuán)技術(shù)孵化部高級總監(jiān)芮勇博士
[[77049]]
微軟亞太研發(fā)集團(tuán)戰(zhàn)略合作與商務(wù)運(yùn)營部總經(jīng)理周斌女士