热门话题
-
近期文章
我的围脖
我的豆列
标签归档:软件开发
做有市场思维的开发人员
文/潘加宇 现在很多开发人员还没有学会市场思维,仍像是象牙塔里的学生那样,保持着学生思维。事实上,软件工程更接近于经济学,而非计算机科学,需要开发人员具备市场思维。 世上无易事 要是我问你,跑百米容易还是跑马拉松容易?这还用问!当然是跑百米容易了,是吧?其实我想问的是:亚洲运动员要拿奥运冠军,是跑百米容易还是跑马拉松容易?答案似乎就颠倒过来了。近邻韩国和日本都已经出过奥运马拉松冠军,比起拿百米冠军,概率要大多了。 有了上面这个问题垫底,你应该可以猜到下面这个问题的意图:现在开发软件容易还是二十年前开发软件容易?现在的软件开发是可视化编程,就着框架搭积木,看起来容易多了。可惜,当我们的问题变成:通过开发软件来赚钱,比起二十年前是不是变得更容易了?答案也颠倒过来了。门槛的降低使得竞争者大量涌入,拉低了软件公司的利润和程序员的入职薪水,更要命的是,客户的胃口变得越来越大。二十年前,史玉柱在《计算机世界》登一个广告“M6401,历史性的突破”,然后就可以等到订单,这样的成功现在还能复制吗? 相关日志 软件开发中的代码质量审查 (0) 研发部门KPI考察点 (0) 【通讯协议】文档编写注意事项/模拟程序开发计划 (0) 【软件工程】提高软件开发效率的几点措施 (0) 【产品研发】业务架构、用户模型和迭代开发 (0)
【产品研发】业务架构、用户模型和迭代开发
本周虽然只工作三天,但却是超级忙碌的三天。开会、讨论文档耗尽了我的时间和精力。回想起来,印象最深的就只能说工作上的事儿了。
和小戚阿飞一块整理业务架构是很愉快的事情,看着一大陀业务逻辑经过整理、讨论、再修改,慢慢形成条理清晰的业务对象搭建的架构,也小有一些成就感。
最大的感触就是发现使用UML进行业务架构分析是很舒服的一件事情:
首先用部署图描述了以后运营系统的逻辑划分和物理上的性能扩展性;
然后用用例图描述了系统功能上现有的和要实现各个功能的关系,include和extend用在构建系统功能关系上,可以让OO的程序员们有共同的语言。画完之后,至少从宏观上看,系统下一步的演进意义所在,已经很清晰了;
接下来关键Case里面就可以出活动图了,这种能够替代流程图的描述方法,每一个应用程序员其实都应该掌握的;
宏观的告一段落后,下一步的对象模型已经是细致活。类图可以把我们需要的关键对象都描述出来;
再后来,我们发现为了实现某些需要C/S共同配合的逻辑时,序列图也必须加进来
希望下周能把所有悬而未决的业务逻辑都确定下来,这样业务架构才真的算功德圆满。
连着两个上午的用户模型讨论,搞清楚了两件事:
1. 在现有业务处理单元UID之上,引入新的账号单元是无法避免的;
2. 已知的帐户、服务关系、订购关系等等,都要在原有处理逻辑的基础上,考虑对账号的处理;
开始真的让人觉得很难接受,可以遇见的系统实现开销将会成多倍增长。但后来从大家抛出来的Story上看,UID也真的不适应了。真是变化快啊!
用户模型是很让人惆怅的事情,不再提了。拉回来再说说运营系统优化。设计业务架构就是为了下一步系统优化。感觉干了也有一多半了,昨天下午就和小戚阿飞简单头脑风暴了一下后续的开发。
先做原型,然后再一个产品一个产品的集成,这是阿飞上个项目的工作模式,全体通过。
对这个原型的开发,我建议先搭架子,主要是API、DTO和DAO,形成闭环,然后一段一段的搞。好象有个专有名词说这个模式,拍脑袋想了半天,终于想起来了,好像叫迭代。
研发部门KPI考察点
KPI(Key Performance Indication)即关键业绩指标。对本部门的指标量化和考评,我们将做如下尝试。
1. 分岗位制订考评系数(总分系数)
架构师、组长、DBA(1.2)、开发人员(1.0)
对组长和核心开发人员(架构师、DBA)倾斜,提高他们的系数,鼓励他们的工作
2. 任务完成率(基础分)
部门内部,项目和短期任务统一考评。
本季度内投入的工时数,单位为人天。
举例:假设某季度正常…
软件开发中的代码质量审查
落实
审查者
研发组长对本组提交的代码质量进行检查
检查关键点
检查代码符合编码规范;
是否有足够清晰的注释;
检查数据库、文件等资源完全关闭。(测试层面解决:rnd减少连接池数量;本机性能测试;)
代码检查不必花很长时间的,编码和评审大致5… 继续阅读
