惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

博客园 - karoc

《重构-改善既有代码的设计》读书笔记 扩展GridView,增加单选按钮列 任务开始时间和完成时间 最大长度验证控件:MaxLengthValidator 又是关于AjaxControlToolkit的ModalPopup的问题 使用svn的小插曲 开发小经验总结(不断更新) 今天发现一个VS2008中文版和英文版的差别 解决DocType引起AjaxTookit的ModulPopup显示异常问题的方法 Reporting Services 2005 常见问题解决方法(不断更新) 用VSTO开发Project插件心得 自定义MemberShipProvider和PersonalizationProvider使用WebParts实现个性化页面 在线修改KeyValue配置节 瞎搞八搞,另类PageBase 改造Duwamish中的Configuration 直接用Response输出可以加批注的Excel C#控制Windows Messenger和Windows Live Messenger窗口发送消息 一个读取扩展名为xml的资源文件的方法 用C#+WMI实现获取w3wp进程对应的应用程序池
有个总结
karoc · 2009-05-16 · via 博客园 - karoc

所有的博文基本都是技术性的,今天来个特别的,标题借用一下“有家客栈”

新近参与了一个项目,客户是一家跨过公司,全球500强,系统功能块不多,但是业务逻辑比较复杂。

我在其中的角色主要是报表的开发,原因是之前用Reporting Service 2000开发过数量不少的报表的经历,事实上现在使用Reporting Service 2005开发,不少新东西还是需要了解的。另一项职责就是顺便帮忙其他团队成员熟悉使用公司的新开发框架。而我来公司也不到一年,从进门到现在,也没做过多少常规的开发,所以对公司的新老框架其实了解不多,所以主要还是靠着对技术的掌握发挥了一些作用。

客户还是很急的,开发一个月左右的时间就要求前期功能上线试用,我加入的时候,项目经理和其他成员刚刚了解完需求,原始需求资料基本是英文写的,幸亏之前也做过外包的项目,了解国外公司的一些惯用手法,所以需求的了解没有想象的那么困难。

开始开发了,项目经理和另外一个成员都是新来公司不久,素质都还不错,但是显然LINQ、公司框架的学习成本还是产生了一些阻碍,项目开始时进展缓慢,幸亏没有使用SVN来做源代码管理,否则学习成本增大,风险就更大了,我是从其他部门借调来的,所以沟通不足也是一个负面的因素。

20个左右的报表,原定2天1个的速度,现在几天就开发完了,前期由于对需求不熟,慢了一些,后期可以借用前期的中间成果,所以速度上也加快了。但是不幸的事还是发生了,由于项目组需求理解的问题,报表的数据逻辑发生了变化,幸亏做的时候有一些封装,所以修改的工作量减少了很多。不过修改还是引起了不少的问题,加上之前没有和用户充分沟通报表的每个细节,而开发时缺少数据,又没有充分验证,所以测试过程中,bug还是不少。 

 目前,我已基本退出该项目组,总体感觉,项目状况虽然可以,但是不足的地方还是很多,关键的几条体会总结如下:

1、需求一定要和最终用户确认过,最好用原型沟通过,否则后期修改影响会很大

2、需求规格说明要尽可能详细,列表要说明每一列的来源、格式

3、编码完的一定要进行验证,能够单元测试就单元测试,再熟练、再自信的程序员也是一样

4、使用新技术和新框架,要考虑项目成员的学习成本,注意控制风险

5、条件允许,尽量使用更好的源码管理系统,提高生产率

6、沟通至上,一定要尽快打破沟通的障碍

7、建立统一的成品质量标准, 并事先公开给项目成员