童话说说技术创业美文职业
快好知
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

谈软件项目快速开发方法敏捷开发

4月12日 不回头投稿
  以前,我写过一篇文章“追溯软件项目失败的根源”,里面讲述了我在做房地产信息平台建设中遇到的各种困难,有需求不明确、需求蔓延、多团队作战、项目时间紧、人员变动、需求变更频繁、沟通不顺畅、信息传递过程失真
  在项目开发过程中我们经常会遇到各种问题,为了可以使项目顺利推进,做为产品经理,必须十八般兵器样样精通,就算没有机缘学会乾坤大挪移,至少也能打上一趟擒拿手。
  今天我要说的就是产品经理的擒拿手敏捷软件开发
  在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、喷泉模型、RAD模型、敏捷软件开发模型、XP极端模型。这么多的模型各有各的应用场景、各有各的适用范围,但我认为最实用开发模型还是敏捷软件开发。
  中国式软件开发思路是什么样的呢?从我接触过的大多软件项目来看,基本都有一个共同特点就是必须快,客户都是急脾气,恨不得今天立项,明天就要你拿出产品来。
  面对公司和客户如此快节奏的要求,我们有办法吗?人们从生产、生活中总结出来一套即高效又优质的开发模式敏捷软件开发。
  什么是敏捷软件开发呢?
  敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系、而又可以独立运行的小项目,并分别完成,从而实现快速开发的目的。
  还是具体来说下敏捷开发是如何实现的?
  将大的系统拆分成子项目。
  以前我们接受过的思想是立项后先要需求调研、分析,调研后出各种调研报告及需求说明书,需求搞定后,再进行概要设计(UE设计、UI设计、交互设计、数据库设计、框架设计),概要设计完成后再进行详细设计这样一个周期下来,耗费太长,当进度进入下一阶段,当上一阶段有问题时,会影响到整个项目流程的各个阶段。
  而敏捷方法是会将大的系统拆分成一个个子项目,再把子系统拆分成子模块,尽量减少模块间的耦合性、增加其内聚性,这样我们可以把团队分成多个小组,各组可以同时作业。另外,当一个模块需求发生变化时,对其它模块的影响也不会太大,以实现降低开发难度的目的。
  在之前提到的房产信息网平台建设中,我们就将系统拆分成自行成交、经纪成交、用户权限管理、建委等外部接口、大宗资产、交易管理、平台后台管理、网站前端等模块分别进行需求讨论,需求讨论后再将各模块拆分成各个对象,对象与对象间只是通过公有变量传递信息,尽量减少与外部对象间产生关系。
  团队与客户呆在一起
  为了降低沟通成本,我们团队所有人员直接开到客户现场,随时与客户沟通,通过面对面的沟通,减少了理解偏差。在项目的各个阶段,我们一直与客户保持零距离接触,随时交流、沟通。通过这种办法,可以第一时间获取需求、第一时间解决问题,减少出错的可能性,提高开发效率,保证开发质量。而且,通过这种方式会更容易取得客户信任,客户能够随时了解到项目的工作状态、工作进度。当相互间具备了信任关系后,余下的工作也会变得轻松、愉快。
  在房产项目里,我们在客户现场办公,定期开会讨论需求和设计,当有一些小的不确定问题,团队成员会直接找到客户相关人确认。在整个项目周期中没有发生过大的需求变化。
  总结:与客户面对面的交流,降低交流成本,促进相互信任。
  用建模的方式沟通
  利用模型与客户沟通,通过模型来获取用户需求,而不是通过大量的文档,编写文档费时费力,而且效果不好。实际,对于我们大多数人来说并不喜欢花大量时间看各种文字和参数,而模型则会更直观和立体。这里我说的模型不是单指我们平时设计的原型,它包括用例图、类图、部署图、状态图、活动图、包图、对象图、原型图、效果图、ER图等,利用不同图形表达出产品的不同维度,使产品丰富而立体。
  在房产项目里,我们用原型来与客户讨论需求,用ER图来讨论数据库设计,用类图来表达产品的内部对象及交互,用部署图确定硬件部署环境及网络结构,用活动图来说明信息交互流程,用时序图来表达在时间轴下对象间如何交互。通过各种图表来表达产品,利用这种方法会比较直观,而且当发现错误修改起来也比较容易,不像利用文档方式,修改不方便、维护困难,也不利于阅读、理解。
  总结:利用模型来代替文档进行交流。
  迎接变化
  “放眼看那座座高楼如同那稻麦
  看眼前是人的海洋和交通的堵塞
  我左看右看前看后看还是看不过来
  这个这个那个那个越看越奇怪
  噢
  不是我不明白,这世界变化快”
  市场环境是产品的风向标,我们要随时关注市场。为了迎合市场,产品也要随时变化。需求变化、设计变化各种变化让我们焦头烂额,但做为产品人的我们同样也应该接受改变,只有产品的快速变化,才能很好的迎接未来。我们欢迎变化,只要是合理的,哪怕是开发阶段,需求也同样可能发生变化。敏捷开发允许变化,通过变化给客户带来更大的竞争力。敏捷开发利用图表来记录需求,所有代码都采用模块式设计,将不同功能尽量分割,减少关联。这就是它能够、也敢于迎接变化的原因。
  在任何项目在任何阶段都会有需求变化,哪怕是开发后期,也同样会产生,我们避免不了,就要想办法面对。
  总结:从项目初期就做好迎接变化的准备
  尽早、持续的交付可运行的阶段性成果
  之前我曾经说过,一个项目的失败,一般不是技术原因,多是因为客户对我们失去信任。我们需要持续的、不断的给客户以信任感,一种是我们在客户现场不断的交流、沟通,让客户感受到我们的热度。同样,还需要尽早的、持续的给客户提供相应的成果物(可运行的产品),让客户看到我们的能力。当然,这样还有另一个好处是,能够把问题提早的暴露出来,不要羞羞答答像个小女人,不敢见人,只有提前暴露,才能提早解决,问题越晚暴露越难解决。
  在房产项目中,当天完成的内容在编译没问题后,会把修改的功能部署到平台服务器上,以便于客户随时能够看到变化,了解项目进度。如有问题的话,也能够尽早暴露出来。
  总结:为了降低项目风险,尽早交付可运行程序
  面对面的沟通
  最快的交流方式就是面对面的沟通,在敏捷开发中,最提倡的方式是减少哪此冗余的、效率低下的沟通方式,用最快速的方法来直接沟通。让技术人员、设计人员、客户等所有团队成员都在一起办公,减少信息交流的断路,让沟通变得顺畅。
  在房产项目中,我们当时是对每一位成员以信任的,当有问题不理解,需要交流时,都是直接找我,我不清楚的直接找客户。当有时,我不在时,同事们也会直接与客户进行沟通,任何人都可以直接获取需求。
  总结:直接沟通,减少中间环节
  可工作的软件是最主要的衡量标准
  出再多的文档、再多的中间产物,都没有出结果来得真切。客户最观心的不是中间物,而是成果物。对于敏捷软件开发来说,可以工作的软件是评测开发进度的最主要衡量标准。唱的再好,也不如做的好,做事要落地,实实在在、踏踏实实是敏捷开发的核心,不玩花拳绣腿。
  总结:做出可交付的软件是项目的核心
  保持恒定的开发速度
  项目开发是一次长跑,短期内迅速的加速,并不是长跑的方式,我们应该持续的、匀速的跑步方式,这样才能保证团队成员能一直坚持到最后。敏捷开发提供可持续的开发速度,这样不仅团队成员不至于疲惫,也有利于制定项目开发进度,控制开发周期。
  总结:项目开发过程是长跑,不要一开始就冲刺
  定期团队优化
  我们会每隔一段时间进行一次团队建设,进行批评与自我批评,找出工作中的问题及影响个人与团队发展的瓶颈。我们通过交流、沟通方式找出团队及成员间的问题,然后进行自我调整,通过不断的优化、升级自有团队,打造出一个能战斗的队伍。
  总结:建一个能打硬仗的队伍
  敏捷开发的核心就是沟通,用各种办法来降低沟通成本、减少沟通环节、避免沟通失真。如果产品经理们能够很好的掌握敏捷开发思想,就相当于在游戏世界里拥有了法器,美食世界里掌握了烹饪之道。
投诉 评论 转载

努力和焦虑:美的首席用户体验官的八年设计之路从雅虎、ATT的交互设计师到腾讯设计主管,华为设计总监再到美的首席用户体验官,这八年EDC尤原庆一直有一点焦虑,而且越努力,越焦虑。至于原因,不妨先读一下这篇……情境调研:4个关键要素到调研的实战步骤今天这篇干货,从情境调研的准备,4个关键要素到调研的实战步骤,以及情境调研的常见误区都有细致详尽的教程。这一系列教程在Udemy的收费是6000RMB,现在有了青溪Joanna……盘点移动手机区别于PC端的10点特性众所周知,当今时代已经是移动互联网时代。相比以前大家热衷于在电脑上浏览网页、玩游戏的情形,现在大家都喜欢通过移动手机去满足个人方方面面的需求,无论是购物、吃饭、求职、阅读、聊天……为什么研发管理工具在我们团队很难推行?在初创公司,从团队组建几个人开始,到人员越来越多,我经历了从口头沟通开始,到使用研发管理工具(本文主要是指类似于日报系统这样的系统)却发现推行起来并不那么顺利的过程。我作为这类……以眼镜产品为例,如何建立用户画像和用户场景通常在产品设计过程中会遇到一个问题,你的产品适用于什么样的用户,什么样的场景。简而言之就是什么样的用户在什么场景下使用你的产品。这也是产品经理设计产品最基础的部分,有了这个基础……满嘴“撕逼”的产品经理肯定做不好产品经理但凡做过产品经理这项工作的人,都得承认“沟通”是产品经理的核心工作之一。产品经理需要和用户、运营、老板、销售、设计、研发、测试等等几乎公司所有的工作人员就不同的事情进行沟通。……节奏,产品经理需要记住的关键词作为产品经理不但要关注用户体验,我们还起到一个产品规划的作用。所以看一个硬件产品经理是否入门,除了判断基本的技能之外,关键是看有没有节奏的概念。从小看的电视剧或者电影里,……CEO的小跟班?创业公司产品经理与领导的沟通之道之前跟大家分享了产品经理和程序员如何沟通,今天说一说在创业型公司,产品经理该怎样与老板打交道。有一次和同行聊天,无意提到一句话“产品经理是CEO的学前班”,结果同行告诉我“学不……一道产品思考题:网易云音乐为什么不做评分网易云音乐为什么不做评分?这是个不错的思考题,作为它的产品负责人,我经常被问到这一题。于是抽空来做一下答。当然,产品的世界里不是每个问题都有对错,但都会有选择,产品经理为自己的……数据驱动产品,但我们应该好好思考一下很久之前就听别人说过“人缺什么就秀什么”,虽然小不本人并不完全认同,但最近也觉得,很多东西看起来十分富足,反而是真正稀缺的。仔细想想,这个时代,我们获取信息是如此便捷,反……如何做一个让程序猿讨厌的产品经理在知乎写的一个答案,以生动有趣地口吻来教你如何做一个让程序员讨厌的产品经理!恩,我要好好学习一下。今天,教你一些简单易学、通俗易懂,能让产品汪在程序猿,包括工程师设计师眼……谈软件项目快速开发方法敏捷开发以前,我写过一篇文章“追溯软件项目失败的根源”,里面讲述了我在做房地产信息平台建设中遇到的各种困难,有需求不明确、需求蔓延、多团队作战、项目时间紧、人员变动、需求变更频繁、沟通……
如何为网站编写诊断程序?“定制分析”与“优化分析”的优化SEO如何找用户行为?什么是域名?如何购买域名纯文本链对排名的作用做网站必须备案吗通过指令挖掘外部链资源如何提高外链收录如何优化移动搜索引擎?文章内容的权威性对SEO的作用?网站被K快速恢复方法正确的友链的方法
拜腾联合创始人毕福康加盟ICONIQ此前离职传言成真拥抱蓝天的白杨优美语段如果被拘留37天后是不是必须判刑热传聚热点网 难忘邓小平同志的两句经典名言我是垃圾哥开着宝马年赚百万电流跟电压电阻的关系教案地震救助现场的急救要点面膜能提高皮肤的保湿力吗?看成分异地恋接吻神器在哪里可以买到迈阿密蜜月旅行攻略仇人的父亲去世,他所谓的哥们都没来参加葬礼,我却带着家人去了他是李连杰唯一的徒弟,34岁身价上亿,半个娱乐圈都在为他打工

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界