背景:自己是一名高校教师(自己也是学计算机的,c# sqlsever等基本入门),对教务管理业务很熟悉,自己也开发了一些小的教学管理软件。问题:假如我现在建立了个小团队(3人,只懂开发,基本不懂业务),现在想开发一套高校的教务管理软件(vs2010+sqlsever2008+asp.net+c#),但不知道这种团队的开发应该怎样来操作?想请前辈帮我解答一下以下问题:
1、我第一步应该做什么?(自已用搭建了一个TFS2010的环境)
2、应该怎么把需求描述出来供开发人员来开发? 是用word描述一个文字版本的还是用相应的软件来描述需求?
3、从开始到最后的软件完成,我作为一个项目的牵头人需要做哪些工作?
1、我第一步应该做什么?(自已用搭建了一个TFS2010的环境)
2、应该怎么把需求描述出来供开发人员来开发? 是用word描述一个文字版本的还是用相应的软件来描述需求?
3、从开始到最后的软件完成,我作为一个项目的牵头人需要做哪些工作?
1.需求文档 -- Word即可,尽量描述清楚业务,然后尽早先做出一套Demo,从而直观的发现问题和分析问题.
2.系统用例 -- 这个时候建议用visio画画UML图,基本能满足要求的.
3.数据库设计 -- 这个需要建立在前两个的基础上,尽量少的出现冗余和缺失.
4.开发,测试.
同时建议LZ为简单的话可以用个Excel跟踪任务,从而制定计划,如果要更专业一点,也可以用Project去画甘特图,从而跟踪每天的任务量.
Trust me
对于客户来说,软件界面就是所有,他们不关心业务,不关心后台,不关心性能和设计。
2.搭框架、开发,这个就不用说了,看你们的技术和能力了。
3.测试、实施,测试的话很多公司都是自己的东西自己测试,但是你们三个人便于交流,可以互相的找bug,这样效果会更好。
4.维护,这段比较辛苦,好的东西都是不断的完善出来的,一开始谁也不能想的那么周全。贵在坚持么!
祝你早日成功啊!!!!!
2个人结对
一个TDD 一个VIEW.按照此功能写代码(小范围迭代)测试->重构->需求理解->是否有问题->修改->测试->重构......(迭代)->功能完成(View)
-->next module(continue.)
1.首分析你的业务需求,明确你的系统功能与界面,使用UML图去设计你的系统,画出用例,类图等,做个大致就差不多了,招集你的组员,讨论系统的功能与设计,明确目标,确定大致的设计方案。
2.在上述基础上,再进不步细化你的设计与系统构想,如果有数据库,设计数据库模型,把类图设计再细化具体些,形成些简洁的文档做为设计方案给组员平时参考,并将工作拆解开,给各组员分派工作任务与职责。
3.搭建个小的开发环境,最主要是有个版本控制器,如SVN,CVS等,建立你的项目雏形,看能否先最快速开发一个最简单的可以运行的东东,有系统的原始相貌就好。
4。在这个最原始的胎胚上开始具体的详化的工作,首先实现出界面和主要功能体,简单的功能实现让一个人去做,复杂点的就让两个人同时去做,结对可使工作更有效,利于解决问题,将一个个功能实现出来。
5.当项目开始进入了开发后,你就需要控制各个功能实现是否满足要求,当项目完成了40%以上后,有了主要的界面主功能部分,你就要确认考虑原先的设计是否能达到你设想的系统目标,如果是继续,如果否,原来设计是否有问题。
6.最终把软件的每一个功能细节都实现出来,并做测试。
针对每个问题,我的看法是:
1、我第一步应该做什么?(自已用搭建了一个TFS2010的环境)
我的答案:做一个立项报告(哪怕只有自己看),并让团队明白项目的目标,预算和分工以及大概的计划等信息,否则大家都是无头的苍蝇,技术再好估计也做不出什么东西的。2、应该怎么把需求描述出来供开发人员来开发? 是用word描述一个文字版本的还是用相应的软件来描述需求?
我的答案:这个问题视团队成员而定,如果楼主和团队成员都很强悍,那用软件最好了,规范,而且信息量大,能最大程度的消除歧义。但是如果整个团队水平不够高,大量的时间花在软件使用上,出来的东西成员又看不懂就麻烦了。所以这个问题问自己,问团队成员。3、从开始到最后的软件完成,我作为一个项目的牵头人需要做哪些工作?
我的答案:简单的说,包括:立项,明确项目范围和需求,制定计划;需求分析与设计;编码;测试;审核;发布产品;项目收尾,写项目总结,以及其它的团队组织建设工作,比如经常请大家吃吃饭,鼓励士气等。可能我的答案不是楼主要的,我的建议是,既然是团队开发,那就按照项目管理去做,楼主的重点应该是管理也业务,而不是技术,否则你的小团队就不如你一个人效果好了
2.系统用例 -- 这个时候建议用visio画画UML图,基本能满足要求的.
3.数据库设计 -- 这个需要建立在前两个的基础上,尽量少的出现冗余和缺失.
4.开发,测试.
同时建议LZ为简单的话可以用个Excel跟踪任务,从而制定计划,如果要更专业一点,也可以用Project去画甘特图,从而跟踪每天的任务量.
http://blog.csdn.net/beijiguangyong/article/details/7276964
=========================================================================================
------------------------------------------------------------------------------平均算下来,60%的时间用于和客户的交流,10%的时间用于项目组的内部讨论,20%的时间用于编码和测试,还有10%的时间用于插科打诨。当然,统一编码规范和培训的时间并未计入内。