【经验感悟】软件项目管理_长期总结

1. 团队管理 2017年6月6日

如何建设团队?如何保持现有团队稳定?这些都是很高深的问题,但解决方案却很简单。

因为答案只有两个字。

吃饭!吃饭!吃饭!

聚餐!聚餐!聚餐!

 

大城市我不清楚,至少这种二三线城市,要保持团队人员的凝聚力的一个最简单办法就是聚餐吃饭。毕竟中国的事情都是在饭桌上达成的。我也不清楚为何聚餐/一起吃饭为何有如此的神奇作用,反正每次无论我作为组长还是作为组员去聚餐,就能深刻感受到团队/小组集体的凝聚力。或许我需要找本关于中国的饭桌文化的书来认识学习一下。

 

作为项目小组组长除了请大家吃饭之外,最好还要单独请部分骨干一起吃饭,这个用意大家都懂:我特别重视你,因为你承担着很重要的任务,并且很有能力,做的很好。反正被请的人都会自认为是被器重的人。人嘛,一图钱,二图个存在感和成就感。钱你没法多发,饭总还是能吃的起的。请部分骨干吃饭就是满足他们的存在感和成就感,这样他们会对集体更有归属感,就不会轻易的流失。

 

当然了,还要大家一起画个饼子,讲点好听的预期,这个倒是锦上添花的事情,不必苛求。吃饭是基础,饼子是尽量,这样的效果就足够了。

 

 

2. 软件模块规划  2017年6月6日

    

    1 .代码结构应该和业务组成保持一致。郑重声明:仅是个人观点,个人总结。

     

     2. 如果系统出现两个展示角度,就需要将业务分成基础层和高级层,比如做一个集成全省公安数据的公安厅应急救援系统(不是很熟悉,例子可能不恰当)。这样的话一方面要接入下级各个公安局系统的数据,另一方还要在救援系统上利用各个公安局系统的数据去做应急功能,做救援功能。所以,这里就需要将接入进来的各个公安局的数据笼统的命名为 com.project.basedata,或后面再按地级市分为 com.project.basedata.abc, com.project.basedata.def,然后厅级系统的各个顶层功能命名为  com.project.rescue , com.project.emergency 等。

     

    3. 切勿使用个人或者某个组织的不是很流行的 jar 包或者工具库!前提是你要保证该 jar 包或者工具库 的技术负责人不会半路离职。否则,后来接手的人对于这种 非流行的 、半封闭的 jar 包或者工具库的学习真的是拖累进度,对自己对项目都没有什么好处。因为任何 jar 包 或者 工具库,都是有利有弊的,软件项目不是为了一时的轻巧和爽快,而是有生命的组织,我认为软件项目的延续性更大于开发时的便利性(这里仅针对需要长期开发和运营的项目)。

 

3. 系统选型 2018年11月5日

      如果开发 Java Web 项目,TM的一定要使用 Linux,血泪教训。Windows 系统作为 应用服务器和 数据库服务器,都相当的烂,仅仅用作个人办公电脑还可以,蓝屏死机中毒都无所谓。但是作为 服务器,中毒(尤其是各种层出不穷的病毒,还记得一时间全世界都无解的勒索病毒么)那真是让人崩溃想死。还有,Java开源领域很多新技术,都是针对 Linux的,比如 Docker,比如你需要“玩”微服务,一翻资料,全都是 Linux + Docker,如果你用的Windows服务器,还搞屁啊。不能及时利用新技术,也是件很痛苦的事情。再者,CentOS 等Linux图形界面也都是做的很优秀。

 

总之,如果做 Java Web 项目,建议使用 Linux 发行版作为 操作系统,请勿使用 Windows Server (毫无预兆的全球性病毒和补丁会让你崩溃)。

 

posted @ 2017-06-01 22:33  HolyGrail  阅读(541)  评论(0编辑  收藏  举报
设计良好的程序将用户的注意力视为有限的宝贵资源,只有在必要时才要求使用。 ——《Unix编程艺术》