SlideShare une entreprise Scribd logo
1  sur  40
移动开发敏捷实践 麦宇安 Perficient
麦宇安,Perficient架构师
Android移植项目开发的挑战 新员工对敏捷实践尚未熟悉 只有Java开发经验(Android速成?) 团队总体开发经验不足 开发人员的能力不全面 如何进行单元测试? 如何进行自动化验收测试? 在没有成型的架构的前提下如何保持开发效率? 如何测量代码质量,和应对技术负债?
要不要做vs怎么做 我假设大家已经接受敏捷的价值 听课是一会事,问题是如何在一个实际的项目中去实施? 怎么解决敏捷实践上和技术上的难题?
如何让团队有效协作 前两周结对编程 持续代码评审 取消正式代码评审,重大设计改变通过会议进行讲解 让团队自我组织 Done Done的定义
预先定义的角色与职责
预先定义的组织结构
团队自组织 角色与职责的“重构”与“浮现”
“浮现”出来的职责 Mr. Y Build Master “提醒”谁把Build搞坏了 “提醒”谁没按流程做 提升验收测试的速度 Mr. W 大部分界面的工作 Mr. X 项目打杂(服务型领导) PO Mr. M 重构已经完成的故事 避免团队成员在某个技术问题上卡住
DoD 完成测试用例 测试用例通过PO评审 完成自动化验收测试 单元测试85%以上覆盖率 Sonar:没有Major或以上的问题,没有重复代码 产品和测试代码通过高级工程师代码评审 PO验收
任务拆分例子 登录测试用例 登录UI 登录Activity 登录DAO 登录SQL 登录验收测试
持续的Burn down
单元测试:Roboletric 在JVM运行Android单元测试 无需等待Dalvik VM漫长的启动 无需Mocking 不依赖于网络和数据库 获得所有JVM的好处,如: 计算代码覆盖率 Debugging
例子
Roboletric的Shadow机制
Roboleric的问题 并非所有类和函数都是实现了shadow 使用已经实现的API 或自己去实现shadow(需要架设Maven Repository Server)
Robotium自动化验收测试 Android版的Selenium 黑盒测试
例子
Robotium演示
Robotium的问题 DalvikVM经常死机 运行非常消耗时间 连接到Android手机上运行? 在Hudson上,产品项目和测试项目不能同时运行(Maven) Robotium计算坐标的算法有问题 使用HVGA 有时无法滚动屏幕 message
Android项目的技术挑战 在没有成型的架构的前提下如何保持开发效率? Spike? 先设计? 先开发? 如何测量代码质量,和应对技术负债?
自顶向下设计
自底向上设计 用浮现设计获得的设计 控件显示隐藏DSL Domain Object框架 View和Model的双向绑定 “表单”验证 派生字段,如全名 Lookup字段,如省份
控件显示隐藏DSL showIf(getModel().isMembershipVerified(),     not(membershipAd),      not(noneMemberLayout),  showMyMemberCardButton); showIf(items.size() == 0,     not(itemListView),     background(findViewById(R.id.item_button), R.drawable.selector, R.drawable.selector2));
健康的技术债务 小组:满足DoD但设计欠佳的用户故事 ↓ 最有经验的成员:一天的重构 ↓ 小组:参考实现
SonarDashboard
Violations drilldown
时间机器
警告制定
Sonar插件
重复代码检测
SCM Activity配置
Sonar “Blame”
效率假象 代码质量 代码生产率
持续的产出
Project Burn down
总结 新员工对敏捷实践尚未熟悉 只有Java开发经验 团队总体开发经验不足 开发人员的能力不全面 如何进行单元测试? 如何进行自动化验收测试? 在没有成型的架构的前提下如何保持开发效率? 如何测量代码质量,和应对技术负债? 结对编程,持续代码评审 设计交流会议 自组织 Done Done Roboletric Robotium 自底向上设计,浮现设计 健康的债务 Sonar
Credit http://en.wikipedia.org/wiki/Unified_Modeling_Language http://pivotal.github.com/robolectric/quick-start.html http://docs.codehaus.org/display/SONAR/SCM+Activity+Plugin http://img2.zol.com.cn/product/30_450x337/602/ceGx2IS9vB2A.jpg http://renmai.aliqq.cn/space-15538-do-blog-id-3685.html

Contenu connexe

Tendances

專案管理理論基礎
專案管理理論基礎專案管理理論基礎
專案管理理論基礎黑狗 大
 
Pair Programming (结对编程)
Pair Programming (结对编程)Pair Programming (结对编程)
Pair Programming (结对编程)Josh Chen
 
Towards scrum of scrums
Towards scrum of scrumsTowards scrum of scrums
Towards scrum of scrumsPin-Ying Tu
 
敏捷軟體開發方法與 Scrum 簡介
敏捷軟體開發方法與 Scrum 簡介敏捷軟體開發方法與 Scrum 簡介
敏捷軟體開發方法與 Scrum 簡介曦 徐
 
MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家家弘 周
 
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40diro fan
 
敏捷用於專案開發的一些想法
敏捷用於專案開發的一些想法敏捷用於專案開發的一些想法
敏捷用於專案開發的一些想法東城 楊
 
敏捷软件开发——一个实践者的思考V1.2
敏捷软件开发——一个实践者的思考V1.2敏捷软件开发——一个实践者的思考V1.2
敏捷软件开发——一个实践者的思考V1.2Zhang Yongji
 
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?棋文 鄭
 
淺談 Model based testing 與 graphwalker 導入心得 20160127
淺談 Model based testing 與 graphwalker 導入心得 20160127淺談 Model based testing 與 graphwalker 導入心得 20160127
淺談 Model based testing 與 graphwalker 導入心得 20160127Scott Hsiao
 
2012 China 软件测试大会
2012 China 软件测试大会2012 China 软件测试大会
2012 China 软件测试大会mayun1688
 
版控實務
版控實務版控實務
版控實務Robin
 
Agile changes in liba
Agile changes in libaAgile changes in liba
Agile changes in libatopgeek
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)LetAgileFly
 
产品经理实战心得分享
产品经理实战心得分享产品经理实战心得分享
产品经理实战心得分享Richard Chang
 
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean StartupWen-Tien Chang
 
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑Chang Shih-Chieh
 
A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018Juggernaut Liu
 

Tendances (20)

專案管理理論基礎
專案管理理論基礎專案管理理論基礎
專案管理理論基礎
 
Pair Programming (结对编程)
Pair Programming (结对编程)Pair Programming (结对编程)
Pair Programming (结对编程)
 
Towards scrum of scrums
Towards scrum of scrumsTowards scrum of scrums
Towards scrum of scrums
 
敏捷軟體開發方法與 Scrum 簡介
敏捷軟體開發方法與 Scrum 簡介敏捷軟體開發方法與 Scrum 簡介
敏捷軟體開發方法與 Scrum 簡介
 
MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家
 
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
 
敏捷用於專案開發的一些想法
敏捷用於專案開發的一些想法敏捷用於專案開發的一些想法
敏捷用於專案開發的一些想法
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
敏捷软件开发——一个实践者的思考V1.2
敏捷软件开发——一个实践者的思考V1.2敏捷软件开发——一个实践者的思考V1.2
敏捷软件开发——一个实践者的思考V1.2
 
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
 
淺談 Model based testing 與 graphwalker 導入心得 20160127
淺談 Model based testing 與 graphwalker 導入心得 20160127淺談 Model based testing 與 graphwalker 導入心得 20160127
淺談 Model based testing 與 graphwalker 導入心得 20160127
 
專案開發實務
專案開發實務專案開發實務
專案開發實務
 
2012 China 软件测试大会
2012 China 软件测试大会2012 China 软件测试大会
2012 China 软件测试大会
 
版控實務
版控實務版控實務
版控實務
 
Agile changes in liba
Agile changes in libaAgile changes in liba
Agile changes in liba
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
 
产品经理实战心得分享
产品经理实战心得分享产品经理实战心得分享
产品经理实战心得分享
 
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
 
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
 
A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018
 

En vedette

如何打造敏捷团队
如何打造敏捷团队如何打造敏捷团队
如何打造敏捷团队Mike Li
 
敏捷团队自管理
敏捷团队自管理敏捷团队自管理
敏捷团队自管理Wei Qi
 
练习(Orid)敏捷2010
练习(Orid)敏捷2010练习(Orid)敏捷2010
练习(Orid)敏捷2010xiexbb
 
敏捷产品研发
敏捷产品研发敏捷产品研发
敏捷产品研发Tianshuo Hu
 
张克强 敏捷的过程能力
张克强   敏捷的过程能力张克强   敏捷的过程能力
张克强 敏捷的过程能力Odd-e
 
Mike 关于敏捷的一些误解
Mike   关于敏捷的一些误解Mike   关于敏捷的一些误解
Mike 关于敏捷的一些误解Odd-e
 
Qa在敏捷团队中的实践
Qa在敏捷团队中的实践Qa在敏捷团队中的实践
Qa在敏捷团队中的实践bqconf
 
Scrum敏捷开发示例
Scrum敏捷开发示例Scrum敏捷开发示例
Scrum敏捷开发示例Xiaoyan Chen
 
Grails敏捷项目开发
Grails敏捷项目开发Grails敏捷项目开发
Grails敏捷项目开发Michael Yan
 
Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...
Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...
Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...microTOOL GmbH
 
5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation Plan5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation PlanBambooHR
 
10 Tips for WeChat
10 Tips for WeChat10 Tips for WeChat
10 Tips for WeChatChris Baker
 
Benefits of drinking water
Benefits of drinking waterBenefits of drinking water
Benefits of drinking waterEason Chan
 

En vedette (14)

如何打造敏捷团队
如何打造敏捷团队如何打造敏捷团队
如何打造敏捷团队
 
敏捷团队自管理
敏捷团队自管理敏捷团队自管理
敏捷团队自管理
 
练习(Orid)敏捷2010
练习(Orid)敏捷2010练习(Orid)敏捷2010
练习(Orid)敏捷2010
 
敏捷产品研发
敏捷产品研发敏捷产品研发
敏捷产品研发
 
张克强 敏捷的过程能力
张克强   敏捷的过程能力张克强   敏捷的过程能力
张克强 敏捷的过程能力
 
Mike 关于敏捷的一些误解
Mike   关于敏捷的一些误解Mike   关于敏捷的一些误解
Mike 关于敏捷的一些误解
 
Qa在敏捷团队中的实践
Qa在敏捷团队中的实践Qa在敏捷团队中的实践
Qa在敏捷团队中的实践
 
Scrum敏捷开发示例
Scrum敏捷开发示例Scrum敏捷开发示例
Scrum敏捷开发示例
 
Grails敏捷项目开发
Grails敏捷项目开发Grails敏捷项目开发
Grails敏捷项目开发
 
Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...
Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...
Agile for Mobile - Agile Entwicklung von Anforderungen an mobile Business App...
 
5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation Plan5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation Plan
 
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
 
10 Tips for WeChat
10 Tips for WeChat10 Tips for WeChat
10 Tips for WeChat
 
Benefits of drinking water
Benefits of drinking waterBenefits of drinking water
Benefits of drinking water
 

Similaire à 移动开发敏捷实践

The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous deliveryQiao Liang
 
程序员与技术
程序员与技术程序员与技术
程序员与技术ligaoren
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列Chris Wang
 
互联网持续交付整形记
互联网持续交付整形记互联网持续交付整形记
互联网持续交付整形记Ryan YU
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)Duran Hsieh
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startupYenwen Feng
 
Component Unit Test
Component Unit TestComponent Unit Test
Component Unit TestWilliam Wang
 
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)
團隊開發永遠的痛   談導入團隊開發的共同規範(Final)團隊開發永遠的痛   談導入團隊開發的共同規範(Final)
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)Gelis Wu
 
twMVC#07 | 透過測試提升軟體品質
twMVC#07 | 透過測試提升軟體品質twMVC#07 | 透過測試提升軟體品質
twMVC#07 | 透過測試提升軟體品質twMVC
 
透過測試提升軟體品質 - twMVC#7
透過測試提升軟體品質 - twMVC#7透過測試提升軟體品質 - twMVC#7
透過測試提升軟體品質 - twMVC#7twMVC
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012Qiao Liang
 
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012Qiao Liang
 
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法TIM WANG
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC
 
移动互联网的机遇与挑战
移动互联网的机遇与挑战移动互联网的机遇与挑战
移动互联网的机遇与挑战Courtney Chow
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设Tianwei Liu
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學潘 冠辰
 
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖drewz lin
 
Progressive Enhancement
Progressive EnhancementProgressive Enhancement
Progressive Enhancementlifesinger
 

Similaire à 移动开发敏捷实践 (20)

The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
程序员与技术
程序员与技术程序员与技术
程序员与技术
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列
 
互联网持续交付整形记
互联网持续交付整形记互联网持续交付整形记
互联网持续交付整形记
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startup
 
Component Unit Test
Component Unit TestComponent Unit Test
Component Unit Test
 
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)
團隊開發永遠的痛   談導入團隊開發的共同規範(Final)團隊開發永遠的痛   談導入團隊開發的共同規範(Final)
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)
 
twMVC#07 | 透過測試提升軟體品質
twMVC#07 | 透過測試提升軟體品質twMVC#07 | 透過測試提升軟體品質
twMVC#07 | 透過測試提升軟體品質
 
透過測試提升軟體品質 - twMVC#7
透過測試提升軟體品質 - twMVC#7透過測試提升軟體品質 - twMVC#7
透過測試提升軟體品質 - twMVC#7
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
 
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
 
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
移动互联网的机遇与挑战
移动互联网的机遇与挑战移动互联网的机遇与挑战
移动互联网的机遇与挑战
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
 
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
 
Progressive Enhancement
Progressive EnhancementProgressive Enhancement
Progressive Enhancement
 

移动开发敏捷实践

Notes de l'éditeur

  1. 介绍我们正在做的iphone到Android的移植项目克服这些困难需要技术上,流程上,团队上各个方面的配合。由于对新技术掌握有一个过程,项目当中容易积累技术负债。互动:大家在移动平台的项目中遇到哪些挑战?
  2. 互动:有多少心动?有多少行动?没有包治百病的膏药,但有可借鉴的例子
  3. 正如前4点列出的挑战,团队在技术上和敏捷实践上和要求的还有一定差距,如何在短时间内缩短这些差距?结对编程对流程和技术都能起到培训作用正式代码评审在这样的团队当中并没有效率自组织减少了管理的需要,并能提高总体产出清晰定义的DoD使团队对要完成的东西有明确的概念
  4. 我每次被指派这样的角色与职责我都浑身不舒服,你只要尽力去做对项目对团队最有贡献的事不就完了。
  5. 如果你是一支新组建球队的教练,你怎么预先指定谁踢哪个位置?那会是最好的方式吗?
  6. 团队成员根据自己的能力,兴趣与性格等因素进行磨合
  7. Done Done级别的DoD
  8. 开发人员编写所有测试
  9. Dalvik VM运行非常慢和消耗CPU单元测试可以在1分钟内完成
  10. 录像
  11. 需要30分钟运行完所有测试
  12. 通过自底向上设计,提高代码的表达能力,减少了代码行数和复杂度
  13. Domain Object框架
  14. 项目初期开发能力“过剩”,设计能力不足DoD已经保证的代码覆盖率,降低了重构的风险从而打破先设计还是先交付的困境开发人员的到参考实现后可以提高今后的代码质量
  15. 需要设置Maven项目的版本号
  16. 需要使用Emma,把Sonar内置的coverage库手工删掉
  17. 主要找到的重复是超过1个方法的接口实现
  18. 问题更快的到修复对自己的代码更有责任感
  19. 初期:由于对新技术不熟悉,代码质量不高,但开发效率也不高,并不能产生太多负债中期:对技术开始熟悉,但认识还不到位,代码质量也不高,一味强调开发效率会产生大量负债持续高产出:高质量,高产出,低缺陷率,低复杂度。我们做的一切都是为了尽快到达并保持在右上角的sweet spot。
  20. 代码产出并没有明显提高,但由于自底向上的设计,完成相同的功能所需要的代码减少了。Complexity/method = 1.7
  21. 开发效率在Sprint 5开始提高客户很开心