首页 > 代码库 > 敏捷开发

敏捷开发

目前软件公司有两种吧:

1.大部分互联网公司都是敏捷开发

2.大部分项目型(就是卖软件的)、外包公司都是瀑布型开发。当然也可以现在也演变了、可以敏捷开发、按迭代版本收费了。

 

敏捷开发

  1. 人员构成:需由产品经理 + 开发团队构成(建议人数控制在5~10人之间,太大的项目难以实施、沟通顺畅)
  2. 简单,少文档、多沟通,多画原型图
  3. 文档可以少、但代码注释-解释不要少,可以在注释中写写大致什么需求(要实现成什么样)、大致用什么技术-技术逻辑实现,不然后期就不知道需求是什么了
  4. 每个人每天都应有自己的、或者产品经理交代的事情。每人每天都有目的、都得提交一个小里程碑(合并到主分支),做不完主动加班或寻求帮助或坦诚交代、要求延期。
  5. 每天有定时程序自动化构建分支(可以中午晚上各一次),有自动化测试的话也跑一遍,无论编译-测试结果如何都通知PM、TM。
  6. 已尽快上线产生利益为主,特别是公司要求的贴合用户的快项目,抢占市场就是钱!
  7. 开发团队构成:5~10人,1-2个资深开发,1-2个初级开发,1个QA,其余3-6人是中级开发。

产品经理收集项目需求=》从中选取最重要的几个需求,形成一个版本=》找相关组员评估时间,一般一个版本2周~2个月做完。=》可并行:开发人员进行开发-自测。QA依据需求可以准备测试用例(代码级别或流程操作)。PM跟踪本个版本+计划下个版本=》开发完毕——PM验收——QA测试——上线——反馈=》继续下一版本。

 

有人说,敏捷开发就像无底洞,不断开发=》改进完善代码,或迭代新功能,或推翻旧功能新做。长期来看很无趣、看不到大方向。不如做外包之类的项目:一个项目做几个版本后就基本结束、继续下一个项目。这样有成就感、新鲜感,敏捷开发时间长了人变慵懒、对项目熟悉而无动力。

这个问题牵涉到工作、人生的意义了。

  1. 自己认为好的工作、好的人生是什么?
  2. 任何项目都有生命周期,到后期衰退时(一般是业务不再使用、市场变化、或者老问题太多不得不重来),就可以想办法新做了。
  3. 在工作中,不断学习,可以学习本职工作,把程序的所有模块(登录、权限、界面、DB、复杂逻辑编写、业务需求理解-实现、阅读自己-别人代码、重构自己-别人代码、新技术)搞懂,以后往技术大牛奋进;也可以学学项目分析、工程计划、人事关系,以后向项目经理发展;也可以学市场业务、周边人的沟通-识人看相技术。都是有用的
  4. 工作做得好,不光拿钱多、在公司威望高、在周边业界也能有点名气,多做做演讲、分享,认识更多有用的人。甚至可以出书,讲技术、项目管理。

 

敏捷开发