ERtel 项目总结

项目简介: ERtel 项目是TUHH Telematics学院的一个项目,主要目的制作一个控制系统,自动分配能源。(太阳能、风能、和化石能源)项目从2012年9月到2013年1月底。

一. 团队组建
     这一部分是这次项目最糟糕的了。首先,遇到一个坑爹国人Gavin,主要因素:不会编程,人太笨了。而且擅做主张,自说自话。期中还闹过演讲抢话筒的经历。其次是印度哥小S,人比较聪明,但是比较懒,必须催,才干活。

二. 团队管理
        这个项目给我最大的启发就是团队管理这一块。以前不知道怎么做一个项目,这次从头到尾做项目,对项目流程有了一定的了解。对团队管理有了形象的认识。
        团队管理必须注重执行力。我们的项目这方面做得很差。从ActionItemlist上面分析,关键时间节点的事件都会延后一周完成,有的甚至延后三周左右。这是很可怕的因素。除了人员本身问题之外,要强调的是管理的问题。沟通不到位,邮件写得还不是很具体明确,每个人应该做什么。在圣诞假期,也没有做到很好的提醒。导致2周的圣诞假期,项目没有进展。
        值得一提的是,通过邮件联络,以及具体的会议效果显著。但是要尽量减少不必要的会议,也就是说要利用好每次会议,争取把想到的问题都解决。(Agenda,Moderator和ActionItemlist很重要)

三. 技术层面
      这部分主要讲技术的学习和一些教训,包括构架,前端的界面,后台的数据处理。 前端主要用到Java Servlet, 中间层则是Java,后台则是学校的simulator。前端与中间层的通讯用的是RMI(database被中途取代),中间层到后台用的是JSON/REST。
      3-1. 构架层面
      这个项目的构架是我做的,所有对这一块有很大的认识。这个项目期间,其实我是一个自我学习的过程。本科期间,没有做过任何Java项目,连SWE的课程也是由当时的大神凯子一手完成。但是这次学到许多。
      这里就不说Java的具体技术,主要谈谈不足。
      首先,是构架设想不完善,就是说设计文档中,对构架这一块的设计不好。没有想到具体用什么技术实现,可不可以实现,如何实现,这几个问题。导致中途系统进行了一次大变动。(当然在做项目期间,设计文档是可以修改的。没有必要死扣住最初的设计文档)从中,团队必须要有风险意识。对技术的了解很必要。构架师必须很了解技术,要有统筹安排,风险意识,以确保构架在产品开发期间不会有太大变动。
      其次,就是构架修改下,团队协同工作的问题。这次的项目,构架变动之后,没有做到信息的互享,导致小S使用老构架开发算法。而我这用新构架做界面。更大的问题是,在交付项目时系统的整合出现了很大问题,必要的话,需要使用SVN之类的服务。
      3-2. 前端层面
      前端,这次用到的是Java Servlet + Tomcat的构架。可以说页面的技术很多,我们用到过JavaSrcipt, Jquery, Ajax, DWR(最后放弃了)。在考虑前端的时候,也是没有想好怎么做,比如是否用Database,是否用框架。
      通过前端的设计,网页的加载时间,数据的持久化这些问题都出现了。因此,在设计文档中也要具体阐述。
      3-3. 后台层面
      其实后台没有什么技术,主要用到的是java servlet 类,读取JSON数据结构。然后解析,分析。这个也是问题最少的部分。

四. 总结:
团队篇

1. 找队员必须擅长编程,比如Java。所以还要根据团队擅长什么编程语言,进行设计和开发。如果不会编,就糟糕了。所有组队之前需要问清楚。
2. 队员必须善于学习,特别是自学能力。国人坑爹之处在于自学能力不强,理解不行。导致我们项目开会的时候,基本上是给他讲项目的大概内容,或者我们的方案解释。而不是讨论方案如何改进。效率大大下降
3. 队员要有干劲,这方面小S很懒,或者说对我们的项目没有太大抱负。就项目而言,还不是可怕的,因为从管理上可以解决。但是如果是从创业上讲,那是很糟糕的, 一个创业团队成员,大家必须有相同或者相似的价值观和对项目、产品的热爱与追求。(这个后面管理会讲到)
管理篇
4. 必须要用强大的执行力,而执行力建立的在有效的沟通上面。必要的会议和邮件联系很重要。
5. 但是也要减少不必要的会议,充分给团队权利来执行他们的想法。要做的就是把住时间节点这一关。这里不得不说文档:ActionItemList就很重要。
技术篇
6. 需求文档:详细的进行需求描述和认识。必须要仔细做,这其实就是创业中的business plan. 你plan都做不好,对客户的需求都没有好的认识,怎么让人家投钱给你!!!!
7. 设计文档:对技术的需求要有相当的了解,设计文档可以改,但是必须遵循需求文档的Usecases。我们项目这点做的很不好,最后的成品与需求文档相差太远了。

不管怎么样,最后取得第二名的成绩,实属不易。鼓励自己一下,也感谢团队成员的努力(虽然他们看不到这篇文章,哈哈!!!) 新学期好好努力,方向data Mining,以及新项目!!!

你可能感兴趣的:(java,数据结构,编程,框架,servlet)