我是这样工作的。三年的项目管理总结

售前扔过来一单后,一个项目就算开始了,开始的主要工作就是和他们做需求调研。做一些PPT,带上笔,本子还有各种参考,客户的各种文档,各种表格接踵而至,这是比较耗精力的段时间,当然也是最有激情的一段时间,常常在这时会激发我无限的想象,天马行空的跟客户探讨他们的需求,这个时候最能表现出我过往无数项目阅历的时刻了,我觉得我的表现欲就是在这个时候养成的。不管再怎么天马行空,也要看着钱,人,时间确定需求,最后定下一份双方可以接受的《需求概要说明书》。

拿到一份需求概要后,我会大致阅读里面的大的需求点,大致阅读完后,接着我会创建几个用例图,然后详细阅读每一个需求点,完善每份用例图,在这个过程中一般需要多次与客户进行需求沟通和确认,有时也需要状态图的辅助。一般的需求基本上两三天左右就可以将所有用例图都画完,有些需求比较复杂的话,就需要跑到客户那里,每一点进行沟通来完成用例图,我的经验中最长的在一周左右。定完后就要花两三天时间写一份《详细需求说明书》。

在画用例图跟客户进行沟通时,有时客户并不理解我所表达的内容时,我会使用Axure做一些原型帮助沟通,在整个用例的沟通过程中,会发现很多需求不明确,逻辑冲突,实现与客户期望不符的情况,这些都是非常常见的,用例和原型可以帮助我在项目的初期就发现这些风险,有些可以立刻想到解决方案,有些则会跟团队进行头脑风暴,有些需要跟客户沟通做出妥协,遇到每种情况时,我都有一套自己的办法,这行干久了,这方面的经验还是要牢靠的,这个时期能搞定的事情往往对于未来开发过程会有着实的帮助。

大部分情况下是先完成用例图,用例完成后我会跟测试人员过一遍,然后测试人员就根据这份用例去写测试用例了,一般我会留三天到一周的时间给测试写测试用例,具体要看系统的复杂度。

趁这段时间,我会补齐所有的原型设计,画原型就象是画漫画(我20岁前就一直画漫画),要考虑每页布局,每格画面和每个场景。用Axure画完整个系统后,我就会直接发布到Axure在线上,然后把网址发给客户,跑过去跟他再进行每个操作,每个界面的确认。一般这个时间比较短(做的原型也比较粗糙,最初做原型时非常细致,客户误以为系统已经做好了,还引起了一些小误会,囧)。

跟客户沟通完后就完成了最初的系统需求阶段,我会招集团队将它们分为1+1+1或2+1+1的小组,即1个开发人员或2个开发人员+1个测试+1个前端,我将原型设计和用例给团队成员进行讲解和演示,在这个过程中我会用Axure原型与前端人员进行界面方面的交流,在这个过程中我有时会使用状态图来与我的团队理解每个业务流程的状态变化,使用序列图来确定各类之间的交互方式和时机,在讲解完毕后,基本都可以确定下来前端和后端交换数据的DataService接口协议和VO数据结构等细节。

前端我们一般使用Jquery,Extjs或Angular,主要是看项目是互联网应用还是传统企业应用,互联网应用一直都是使用JQUERY和众多插件,而EXTJS是企业应用的首选,最近几个项目在尝试使用Angular,但是困难重重,主要是还是前端设计思想上不容易转变。做前端的,软件工程学的确实不怎么地…

在确定下所有细节后,我开始创建工作项,由于我们一直以为都使用TFS,所以往往就是加入积压工作项,将项目切为好区域和迭代后将相应的功能归进去,划好优先级指派给相应的人员去完成。

项目初级时需要使用到组件图进行系统组件规划,在这个过程中我发现了有些组件是可以重用的,如SSO,用户中心,权限控制,授权,日志还有一些界面,在几年的项目经历中,我将这些系统设计为组件,将系统设计成为松耦合的系统,各系统间使用API进行交互,统一登陆,统一用户已经成为最普通最必须的场景,每个系统之间耦合时往往会保存冗余数据在应用系统中,这也使得每个组件可以独立进行升级或技术更迭。

初期时我使用的是瀑布开发,全部都投入进去开发,对于一些我们比较熟悉的业务交付还是非常快的,客户也比较满意。但是自从使用工作流做复杂的业务系统后,恶梦就开始了,由于我们对业务系统不熟悉,摸着石头过河,发现开发完后很多地方数据库结构和程序设计的非常有问题,但是调整已晚,程序在流程执行中,处理某些环节的逻辑和退回,退回任意步骤执行一些业务逻辑来说,悲剧了,时常出现莫名其妙的错误。统计报表的数据也是比较混乱,因为各种取值计算公式取值经历了N次需求变更,导致基本找不到哪里的数据取错了。有的是测试环境没问题但是生产环境中有问题。

后来我们开始实践敏捷开发,我将整个系统分成若干组件,再将功能点的先后顺序进行排列,由于每次我都在前期每大量的设计,所以这个环节的切换是比较顺畅的,每个功能组被我切分成一周最多两周就可以完成的功能,为了控制大家的进度和质量,也像模像样的要求开发人员每天早上半小时写小纸条,写好一天的计划,下班前进行回顾,在代码方面强制必须写单元测试。开始有些人极不适应,有些人扬言要离职,我给他们说承诺给我一个月,一个月后看结果再批他们的离职申请,一个月后项目的质量奇迹般的上来了,大家也很有激情,由于定期跟客户进行版本确认,问题往往很快得到发现和纠正,后来的项目中我们都不约而同的选择了敏捷。现在大家的领域设计的能力也得到了提升。

客户验收的成功率有时还是要靠嘴来说,也要看客户的心情,有时心情一好签个字就过了,有时心情不好就麻烦了,所以找客户验收前看看黄历还是有必要滴

开发过程中锁定主线,创建分支是每个迭代必不可少的部分,分支的数量根据小组个数不同而定,其本上是N+1即N个小组就创建N个分支,让每个小组做自己的事情,那加的1是什么?就是上一个版本的Hotfix,如果客户发现故障需要紧急处理时,就需要在hotfix这个版本上进行处理,紧急投产(被客户报故障12小时不处理是要扣很多很多钱滴  !),最后合并时也要先合并hotfix,然后再合并其它小组的版本,这个过程通常跟大家一起来参与,一般两小时内就可以搞定,合完后打个标签即得到一份新的待发布版本的代码。

我们没有使用自动化布署到生产环境,但是有自动化布署到测试环境,因为生产环境可不是让我们随便布署的,在每个版本发布前一周,我都会发布一个全量的程序,同时与上一个版本的全量用Beyond Compare进行比较,拿到一份增量,然后将数据库的变更也生成一份增量的脚本,由于数据库我一直使用RedGate Sql Source Control结合TFS进行管理,所以生成增量非常的容易,直接使用SQL Compare从Head版本到上一次发布的版本进行比较即可生成优质的SQL变更脚本,还有Marger进来的SQL。最后将增量+全量+脚本打个包,写一份投产文档和影响范围后放到客户指定的位置,数据中心运营部会有人自动来取滴。

一周后的星期六,去到客户现场,指导运营人员将包投到准生产上,验证系统,没问题后就可以投到生产上了。这一天基本上是最漫长的一天,各种投产时的异常情况处理,熬夜通宵那是常有的事儿。终于顺利回家睡觉后下周一还必须要找人在现场支持,每一次上线都是一颗石子丢到水里,有时只是泛起一些涟漪,有时就是扑通溅起水花,那几万人的操作压力,在10台前端,10台缓存,2台DB也挺累的,他们手动操作的覆盖率经常可以达到我们单元测试覆盖率和集成测试覆盖率之上,今天大家都在等待着,成功就聚餐,故障就加班。哈哈!

转眼三年过去了,有开心也有烦恼,有快乐也有失意,但是学到了很多东西,也积累很多实践,这些体验非常有趣。接下来准备和几个小伙伴一起做公司,体验更多的东西,售前,财务、市场,推广,服务这些都想体验一下,

学海无崖苦做舟,路漫漫而修远,我还要继续求索。

时间: 2024-08-08 22:08:49

我是这样工作的。三年的项目管理总结的相关文章

写在工作满三年的时候

1.生活 三年前我怀揣着梦想来到了北京,后来又为了家庭来了上海.在北京的一年,没有家庭负担,和女朋友过着甜蜜的日子,工作虽然忙但是没什么压力,整天玩玩游戏,玩玩摄影,非常自在.工资其实挺低的,但是两个人在北京,一个小单间,已经觉得很开心了. 来了上海之后,组建了家庭,随后有了宝宝,过上了有责任的生活.生活上基本都围着小家伙转了,失去了一些乐趣,也得到了一些乐趣.或许这就是人生吧.以后需要投更多的时间在生活上. 2.工作 论工作状态,其实没有发生什么变化,因为技术总归是喜欢的事情,无论做什么都能找

测试工作近三年有感

不知不觉快三年了,三年只是相当于读了一次研,不过我读研的时候是实现了从不会写代码到会写一点代码的0-1式飞跃,而这工作这三年,虽然收获了一些,但也没有好好进行梳理,年后工作稍闲,整理了下思路 第一年 熟悉业务,熟悉流程,熟悉工具,什么都是新的,充满了新鲜感,感觉各种高大上,干活充满激情,双休日也喜欢去公司加班,边加班边调环境,对服务和部署理解飙升,感觉基本已是无敌状态.当然我也知道部门很穷,但是日子过得很开心.只不过我认认真真测彩票,没啥漏测也基本不延期,为什么没人表扬我,后来想了想,要跟对项目

工作已三年

2011年7月离开大学校园,去了大连华信参加java的实训,到现在已经有三年多的时间,三年多的时间不算短,应该好好的做个总结了.2011年7月-2011年10月去了大连华信参加java的实训,这三个月里,对我以后进入it行业打下了非常坚实的基础.在这短短的3个月里,熟练地掌握了java语言并且初步的理解了面向对象的思想,对我以后学习设计模式打下了良好的基础.更重要的是,在这3个月的实训考核中,我的考试成绩都稳居班里的第一名,让我对进入it行业有了充足的自信,让我觉着,我还行.之前在学校,对开发可

工作三年,我没给家里一分钱,还把家里掏空了

我不知道我算不算败家子,但从毕业到现在我整整工作三年了,从没给过家里一分钱,却把父母十数年的积蓄搬空了. 我老家是山东农村,一个不是很富裕却也不算贫穷的地方,我是家里的独子,今年二十六岁,大学毕业,工作三年了,年薪十万吧:父母今年都五十多岁了,上推四五代我们家都是农民,用我爸的话说,我们家底子"红"的很. 毕业第二年,我开始看房子了,毕竟这东西是免不了的,早晚得面对,所以在我毕业的第二来了夏初我定了房子,首付二十万,家里出的,我出了点零头跟手续费,不到两万,不过还好,我买在市里房价上涨

我是怎么在工作之余挣点小钱的

我技术之外的资本是零,如果你也是这样,那这篇文章适合你! 这是我的故事之一,希望对你有启发. 如果你每天下班后就是躺在床上刷刷斗音,看看微博.但是又总想摆脱黑暗迷乱找不到出口,只能一天天的随波逐流看着自己慢慢沉沦.又或者临时兴起,想去健身,想去学习,三天之后回到原状.如果看到这里没感觉,那这一条如何,今年996,你说自己年轻可以接受,后年997你说我有老婆孩子咬咬牙也能忍了.大后年不好意思你连996的福报也没有了,你因年龄太大被公司扫地出门.是不是想去奋斗了~这不是焦虑,这是事实.我不知道从什么

为什么有些人能用一年获得你三年的工作经验?

有人说:一晃眼毕业已经三五年有余,回首再看一路走来的磕磕绊绊,如果在当时有人告诉过他一些职场建议,也许自己可以少走许多弯路. 无论你是工作N年的职场大咖,还是刚出校园的职场菜鸟,都该看看这篇文章:工作三年后,悟出了哪些职场道理? 本文作者为LinkedIn领英专栏作家小川叔:只聊职场.不写故事的萌叔,骂过无数职场迷茫之人依旧被大家爱着,最近出版<努力,才配有未来>. 工作前三年有多重要呢? 1996年,Google创始人拉里·佩奇遇到了谢尔盖·布林,两人开始合作研究一名为“BackRub”的搜

一个工作了两三年程序员的学习计划

本人已经工作两年多了,尴尬的是待过的两家公司都是外包,大部分外包公司技术性都很一般,这也是很多人看不起外包公司的一点.可是已经在外包 公司了怎么办,我也很绝望啊.....而且我做过的项目都是很老的项目,后期做些需求.现在带的甲方公司项目很多,我接触的项目框架就是SSH,中 间件是Redis.ActiveMQ,当然会包含企业内部开发的一些构件等.这里不是说甲方公司技术性不高,只是我接触到的项目技术性不高. 进入公司的时候,自己基本知道情况了,几乎不加班,这点事挺好的(因为我们组就三个人,负责项目需

为什么说程序员的前三年不要太看重工资水平

为什么说程序员的前三年不要太看重工资水平? 这是很多程序界的”过来人“给新人提出的忠告.1.得出这样结论的依据是什么?为什么?2.对于程序员职业发展的影响是怎样的?修改 举报 14 条评论 分享 • 邀请回答 按投票排序按时间排序 179 个回答 4432赞同反对,不会显示你的姓名 captain,互联网广告研发\RTB\CTR预估 李杨.angleboo.罗凌 等人赞同 本来以为基本会停止增长了,没想到前几天赞的数量一下又增长了一倍多.好像赞数突然增加的原因是另外一个关于应届生放弃某家企业of

几年工作经验的我,到底应该具备哪些能力

1.外包公司 每一次刷一次简历,最早接到的公司的电话,都几乎是毫无疑问是来自外包公司.据我了解,很多从公司出去的人,也都去了外包公司,这让我有一种错觉,是不是我的下一份工作也是外包公司.每一次接到这种电话,我都觉得是一种诱惑,但莫名其妙也一直坚持到现在.这让我总结一个经验:想去哪家公司,直接投简历,有一定工作经验的人,不需要再海投了. 2.非IT类公司 有一次,有一家公司也找我,他们是一家服务类的公司,可能找外包公司做了一个系统,现在需要人员来维护,就想招聘一个人来维护,这样的公司也是够牛的,就