软工-团队项目个人总结

持续一个学期+半个暑假的软工团队项目开发,终于要落下帷幕,回想过去数月的开发历程,实在是令我感慨万千。以下我将从技术层面和理论层面两方面总结我在项目中的所得和体会。

一、技术层面

①学到了前端html+css的布局方式和技术。

在开发初期,我对前端技术基本一无所知,前端组员们也基本都是萌新,于是作为组长的我只好不断push大家先做前期学习和准备工作,逼着自己啃完菜鸟教程、w3c的html、css初级入门教学,逐步对前端知识有了一定的理解。开始项目开发后,我们发现对于经验不足、技术不熟的新手来说,凭空写出一版还算不错的页面布局框架有些困难,于是参照了各种其他网站和模板的源码,包括北大未名、百度贴吧、多玩论坛等主流平台,以及网上的诸多免费模板,学习其中的组件运用和布局,然后实践应用到我们的项目中。在这些略微笨拙的模仿和试错中,我们渐渐熟悉了html和css的设计和使用套路,逐渐告别黑暗行走时期、能做到自拟布局、自选组件、自编样式,诞生了基于html5+css3自行构建页面组件布局的α版本十余个页面的静态形式。这之后,我们在自我批评和用户建议之下,又进行了组件的改选和css样式的设计与重构,最终诞生的便是如今β版本的风格与页面。可以说,在技术的原始积累、边做边学到自发设计,我从一张前端白纸逐渐蜕变成勾勒了些微线条的前端草图,学到了较先进的html、css等前端技术。

②学到了jQuery、AJAX等js相关库的用法。

在α版本的开发中,js是个非常令我们困扰的问题,前端组全体成员虽然在google和csdn博客的帮助下,一起协作做出了基本的跳转效果,但bug重重、功能捉急,比如主页面生成iframe只能根据预设的侧边栏文本,比如生成iframe时的元素不含text则生成标题为空等,这些问题让初学js的我们抓耳挠腮。在β版本的开发中,js成了重中之重,而且随着开发的推进、功能的特化,网上能找到作为参考的示例凤毛麟角,所有功能从最基本到最顶层,都需要我们自己一个字母一个字母地实现出来。于是,我和组员们一同恶补了jQuery和AJAX的使用方法,在各种动态效果的实现上费尽心力、开遍脑洞再疯狂试错。经过半个月的挣扎,我感觉我的一只脚指甲盖终于越过了js的门槛,对上述两大类库有了基本的认识和了解,并与组员一同努力实现了各种动态效果和bug修补。

③学到了与人合作、共同开发的技术。

这一条其实可以分为两点。第一点,我学到了组内协作开发的技术:我们组主要采用github进行协作开发,而在此之前我基本没有与人协作开发的经验,开发初期经常出现长期不push、不pull、一不小心就覆盖原有版本等问题。在与组员们多次交流协作之后,我学会了github的基本使用技术,pull和push也渐渐变得熟练,也能经常提醒组员们在做修改前先pull最新版本以免造成不必要的覆盖重写。除此之外,任务分派也是协作开发的关键技术,我作为前端组长,在本次项目开发中尽量做好任务分派的工作,试图让每位组员理解项目要求、所做工作量相近、进度统一、效率最大化,但事实上我做得并不好,很多任务因为我个人没有充分传达清楚意思的缘故,都需要我对组员的工作成品进行大幅度的再加工。从中,我学到了沟通和表达交流的技术,在分派任务时结合组员的个人实际进行分配,并尽量清楚地传达组内所期望的任务效果,时刻保持与组员的沟通。

第二点,我学到了不同分组间合作开发的技术。我们组内分为前端组和后端组,前端组负责“画页面”“做特效”等,后端组负责“数据库”“搭载页面”等,两个组之间技术分野非常明显。我作为前端组长,对后端组采用的技术只能说是一知半解,而后端组对我们html与css、js的互动方式一开始也知之甚少。因而在α版本后期两个组协作开发时,我们遇到了不小的问题:如何让不甚了解对方的两组顺利对接工作。好在经过组长章豪的不懈努力,我和其他前端组员积极作为“顾问”协助后端组进行代码改写和开发,在各自负责的前端模块做到与后端的充分交流和对接,出现不理解的代码或bug时及时说明和解决,最终克服困难、完成工作。经过这段经历,我学到了概况代码功能、抽象代码特点、凸显API等对接技术,在分工明显的企业开发中,我认为这些技术至关重要。

二、理论层面

①学到了敏捷开发、做中学的理论。

数月而来的开发历程,给我的感觉像是“逼上梁山”,一波又一波的push让我不得不晃悠着肚子里的半桶水,硬着头皮往项目里冲,边冲边往自己的桶里拼命加水。在这样紧张的过程里,我体会到了敏捷开发、“做中学 ”理念的高效、实用,若是我们组先让每个人把各种技术学个爽,再把用户需求摸个爽,最后把对接方法看个遍,那么到了明年的今天我们都无法开工。只有快节奏的push、积极实践和学习,才能实现野蛮生长,在敲击键盘的过程中把各方面繁杂、碎片化或成体系的知识融会贯通,才能实现产品的时效性。

②以人为本的开发理论。

其实初读人月神话,我对其中关于“人的重要性”的描写并不认同,认为人在代码开发中的作用被作者夸大了。但经历了实际的软件开发作业,我深切体会到“人”在项目中起到的决定性作用。举例而言,给一段数百行的代码附上精干准确的注释,远不及给看代码的后端兄弟从头讲一遍功能来得方便快捷一发入魂,这体现了对人交流的重要性;给一个项目写上数千字的需求分析和优势展现,远不及拉来用户实际体验后获得反馈来得立竿见影,这体现了对人关怀、以人为本的重要性;靠着自己稍强的码力和自认不错的设计方案埋头蛮干,远不及调动组员群策群力来得省时省心有的放矢,这体现了与人合作的重要性。总而言之,人是一切项目的根本,只有组里成员思想都不出问题,全力投入到项目中,重视用户体验、以人为本,才能做出合格的产品。

 

以上便是我在这数月开发中学到的,希望在下一次项目开发中能活用这些宝贵经验、有所成长。

 

posted @ 2018-08-05 01:54  CGYR  阅读(309)  评论(1编辑  收藏  举报