中等规模软件开发组织策略0407

再小的软件都会有三个阶段

  1. 源代码,比如说 hello.java
  2. 二进制,比如说 hello.class
  3. 运行时,比如说 java hello.class

如果是个人写点代码玩玩,那么无所谓了,最好的方法是用一个IDE,将三者统一起来,既省心也省力。但如果是一家公司,十多人的开发团队,并且同时开发多个功能相近的产品,那么管理源码和产品形态就很重要了。

比如说某某校园软件公司,准备开发三个产品,都是B/S架构

  1. 大学学生选课系统
  2. 校园教师办公系统(分为大学版本,高中版本,中学版本,小学版本,幼儿园版本)
  3. 校园学生考勤系统(分为大学版本,高中版本,中学版本,小学版本,幼儿园版本)
  4. 校园考试系统(分为大学版本,高中版本,中学版本)

最傻的办法是,把人拆开,复杂的产品多派几个人,简单的产品少派几个人,各自为营。如果用户一口气要买多个产品,就安装多套软件。但是聪明的办法是将人力按照技能分成几组,同时参与到不同的产品的开发当中,另外整个公司有统一的源码管理系统,每日构造系统,支持全产品安装和测试,对外销售时,可以对安装盘做裁剪,也支持按功能选择性安装。

为了支持上面的特性,这里不讨论技术细节,只是分析一下,要做到什么程度才能满足要求。

  1. 不同产品的源代码存在于不同的目录
  2. 不同产品的二进制文件存在于不同的目录
  3. 全产品安装,运行时,大部分进程都是为单个产品工作
  4. 多个产品之间可以有公用的二进制文件和公用的进程,但是这种公用应该是设计上面的有意的行为且有实际好处的,而不是迫于无奈或者说逼不得已。

上面四点中,最难的是第四点,很多软件开发到了一定阶段,随着人力更迭和各种应急行为,慢慢的越来越多的迫于无奈或者说逼不得已。好的项目,应该不断的梳理,每个开发阶段,既要根据市场需求新增功能和产品,也要不断将各种历史包袱清理掉。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,067评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,064评论 19 139
  • 《鸟哥的Linux私房菜》笔记 提到Linux,就不得不提GNU和GPL授权所产生的自由软件(free softw...
    Zhang21阅读 14,469评论 0 15
  • 96一代功成名就,你是否脑中刻想他? 一代老将,戎马生涯,从来没有刻意的去回避离开这个退役的话题,背后的千军万马,...
    紫茵同学阅读 3,008评论 0 0
  • 你的心里有一幢迷宫, 大家不会随便进去, 勇敢的人,迷离, 善良的人,可欺, 美好忠诚的,是你爱的意义, 伤心和委...
    关馨仁阅读 4,503评论 17 4

友情链接更多精彩内容