《软件开发践行录——ThoughtWorks中国区文集》一一2.3 识别业务价值

2.3 识别业务价值

业务分析的重要性在于首先做正确的事情。理解客户的业务,关注需求背后的价值可以帮助项目团队在软件的设计方面做出正确的选择。

而我们面临的困难是,客户提出的需求往往都是直接的软件功能,而不是需要解决的业务问题。如果BA只专注于针对客户需要的功能进行系统分析,就丧失了帮助客户优化解决方案以及改进业务流程的机会。

如何寻找业务价值?
以敏捷开发方法中的用户故事为例,找出客户要解决的业务问题的一个简单办法是,用以下方式概括每个用户故事的内容。

As…(角色),I want to…(完成什么样的功能),So that…(解决什么问题,带来什么价值)。

“So that…”说明了该故事的业务价值,即要解决的业务问题。准确地寻找业务价值将有利于我们设计出最适合的“I want to”,这很可能优于客户直接提出的功能要求。

需要注意的是,不要把解决方案或功能当成该用户故事的价值。以ABC公司业务系统中的一个用户故事为例,BA对该需求业务价值的了解程度将直接影响到解决方案的优劣。

在该用户故事的两种不同表述中,由于第一种表述只说明了需要的功能,没有说明业务价值,在功能设计时,我们可能会将“行程统计数据”的内容设计得过于详细而造成浪费,使用户不明白此功能的意图;而第二种表述的业务目标就非常明确,可以帮助我们更加容易地设计出适合的解决方案。

此外,BA在了解客户的业务问题时,最好请客户提供一些真实案例/场景来证实其观点并加深自己的理解。

避免分析错误
在实际工作中,我们发现BA容易忽略以下两个方面的分析工作,从而做出错误的 决定。

1.客户要求实现某些现有业务流程或遗留系统的功能
例如,客户需求的功能,是当前遗留系统中已经使用多年并且未收到过任何抱怨的功能。因此客户和BA往往认为这个功能是合理的,忽略了深入的分析和思考。但是这种思考不全面而做出的决定可能会与可以预见的新功能产生冲突。

在ABC公司的遗留系统中,用来收集报税数据的问卷内容是通过Excel表来维护的,而Mary在前台也是通过下载Excel问卷,填写完毕后再上传。

在新开发的系统中,问卷被改为在线方式,同时辅助以其他必要功能提升Mary的用户体验和满意度。因为客户方的员工都是财务背景出身,非常喜欢使用Excel表,而之前用Excel表维护问卷内容也被证明是非常有效的,所以客户坚持在新系统中延用这种方式。经过仔细地分析,我们发现在针对提高Mary用户体验的新功能上线后,使用Excel表维护问卷内容将大大增加维护的工作量并且提高错误率,而这与项目的相关目标背道而驰。ThoughtWorks在列举了问题的细节后,说服客户采用了新的解决方案。

2.客户要求利用新的IT系统改变当前的业务流程
客户发现目前的业务流程有不合理的地方,希望在新的IT系统里直接改变这些流程。如果不经过仔细的分析,这种做法可能会很危险,业务流程的盲目改变可能会给一部分用户造成麻烦,为客户实施该软件形成强大阻力。那么了解清楚目前这些流程存在的价值和原因事关重要,从而可以帮助我们为客户提供科学的、逐步优化其流程的IT解决方案。

在ABC公司的业务流程中,Kim和Mary之间的一些交流是通过邮件来完成的。这里存在两个业务风险:第一,Kim和Mary交流的重要信息被散落在各自的邮件里,系统无法记录,在遇到法律问题时,难以划分责任;第二,Kim和Mary可能会使用邮件发送一些保密性较强的内容,如果发错,后果不堪设想。

在开发新系统时,客户要求我们增加了一个消息功能,使Kim和Mary之间的交流可以方便地在系统内部完成。该功能上线后,很好地化解了这两个业务风险,同时收到了Mary这类用户的良好反馈。然而这却给该会计师事务所在某些国家分支机构里的Kim这类用户的工作带来了不小的影响。由于之前使用邮件系统,Kim可以将Mary的邮件转发给相关的同事并利用邮件丰富的功能进行结果的跟踪;而新上线的消息功能达不到邮件的所有要求,所以增加了他们的工作难度。此外,由于Mary对这个功能的青睐,发送消息的数量远远超过了在使用遗留系统时发送邮件的数量,超出了客户想提高Mary的满意度而在短期内所能承受的代价。

在遇到以上问题时,我们与客户一同分析,提出了折中的解决方案,付出了较少的代价将消息系统和客户的邮件进行集成,同时帮助客户制定了对此项业务流程改进和配套IT解决方案的蓝图。

时间: 2024-09-18 14:20:35

《软件开发践行录——ThoughtWorks中国区文集》一一2.3 识别业务价值的相关文章

《软件开发践行录——ThoughtWorks中国区文集》一一第一章看板任务管理(黄亮)

第一章看板任务管理(黄亮) 软件开发践行录--ThoughtWorks中国区文集作为一个开发团队的管理者,例如当你是一个团队的项目经理的时候,任务的完成情况通常是你最关心的内容之一,比如说分配的任务是否能够按时间完成,整个项目的进度是否尚在计划之中,团队内的人是不是都在高效地工作,大家有没有什么困难,等等.在软件开发团队中,任务的分配.跟踪和管理通常是这个团队管理者的一个重要的工作内容.

《软件开发践行录——ThoughtWorks中国区文集》一一第二章 实战:持续交付中的业务分析 夏洁

第二章 实战:持续交付中的业务分析 夏洁 软件开发践行录--ThoughtWorks中国区文集在需要频繁交付.不断收集用户反馈.拥抱变化.追求业务敏捷的项目中,软件的开发和交付是迭代式进行的.在这样的项目团队中,业务分析师(BA)通常需要在一个开发迭代开始之前完成该迭代开发任务的分析.但在特殊情况下,从收集客户需求到将功能细节传达给开发团队的周期会缩短到一至两天.BA可以用于思考和分析的时间远远少于可以预先做出所有设计的瀑布式项目. 那么在这样的敏捷项目中,BA如何能够适应这种交付模式.完成高质

《软件开发践行录——ThoughtWorks中国区文集》导读

前言 软件开发践行录--ThoughtWorks中国区文集关于本文集三年前因缘际会,我加入了ThoughtWorks中国公司.在这之前,参与线上和线下社区的我,已经认识了不少早期的TWer,而加入之后更是近水楼台,我跟他们在一个项目工作,听他们的分享,得以从更近距离学习和体会他们身上似乎与生俱来的价值观和对软件构建本身的独到认识.也是一直以"程序员中的编辑,编辑中的程序员"自诩的我,从一开头就认定,传播这群人的意识和经验对于我来说责无旁贷,而这样的贡献也权当是允许自己滥竽充数混迹其中的

《软件开发践行录——ThoughtWorks中国区文集》一一2.6 结语

2.6 结语 业务分析是困难的,特别是当我们面对未知领域的时候.如果只是简单地按照客户的具体需求进行软件开发,那么我们交付给客户的产品价值将非常有限.然而识别业务价值.帮助客户分析需求优先级.保障团队协作,将有效提升团队的软件设计能力,解决客户真正的业务问题,实现更大价值. 作为一名业务分析人员,当您在尝试以上实践时,可能会发现自己对客户业务的理解变得更加深刻.在与客户的沟通中,也能够更加容易地提出有价值的问题以及建议,从而提升客户对项目团队的信任,为成功交付项目打下良好基础.

《软件开发践行录——ThoughtWorks中国区文集》一一2.5 发挥团队其他成员在业务分析中的作用

2.5 发挥团队其他成员在业务分析中的作用 在频繁交付的项目中,如果BA独自承担业务分析工作,难免会出现疏漏.ThoughtWorks曾与ABC公司的IT部门合作完成其业务系统的一些集成工作.在合作过程中发现,ABC公司IT部门的开发人员在业务分析中参与度很低,由此造成了如下问题. (1)BA需要写大量需求文档,所以从需求分析到软件交付的周期较长. (2)设计缺陷的发现滞后. (3)在需要频繁交付的情况下,解决方案质量较差,方案优化能力较弱. 而ThoughtWorks的开发人员在业务分析中的参

《软件开发践行录——ThoughtWorks中国区文集》一一1.2可视化看板任务管理

1.2可视化看板任务管理 看板源于精益生产实践,敏捷将其背后的可视化管理理念借鉴过来,经过一番改造,形成了有自己独特风格的可视化管理工具.曾有人总结过scrum和kanban的使用[1],而很多时候,我们也将它叫作迭代状态墙. 我们先来看看怎样用这个状态墙来管理迭代任务.说起来其实是一个很简单的东西. 通常一个迭代的状态墙反映了某一个迭代的计划和任务进展情况.状态墙按照一个迭代内团队的典型开发活动分成几栏,例如"待开发"."开发中"."待测试".

《软件开发践行录——ThoughtWorks中国区文集》一一2.2 BA在该项目中面临的主要挑战

2.2 BA在该项目中面临的主要挑战 该项目为分布式开发,ABC公司的决策方在美国,而ThoughtWorks的开发团队在中国,沟通反馈周期有时较长. 由于ABC公司对用户体验的重视,开发团队需要频繁交付软件,以便收集用户反馈并及时调整解决方案和后续开发计划.这大大缩短了从收集需求.开始分析到进入开发的周期,增加了分析中出现缺陷的风险. 当开发过程中发现问题时,开发团队无法马上与客户取得沟通,开发进度可能会受到影响.

《软件开发践行录——ThoughtWorks中国区文集》一一2.1 项目背景

2.1 项目背景 ABC公司是一家知名的国际性会计师事务所,业务规模庞大,分支机构遍布全球170多个国家. ThoughtWorks受邀对公司"全球派遣服务(International Assignment Service)"业务部门提供IT解决方案以及软件系统的开发服务.该系统包括收集公司客户的全球派遣雇员的报税数据,同时管理ABC公司税务咨询师对这些数据进行审核.汇算和出具报告的业务流程:逐步替换它目前远远不能满足业务和性能需求的遗留系统. 该系统主要有两类用户,一类是ABC公司客

《软件开发践行录——ThoughtWorks中国区文集》一一1.11.从问题谈起

1.11.从问题谈起 我曾经碰到过一个项目经理,她管理一个团队开发一个Web应用,团队里开发人员大概10个,测试人员3个,业务分析师1个人.对于任务的管理她是这样做的.通常,她会将需求分析人员分析得到的需求给每个人分一些.然后每个人在领到任务之后会给她承诺一个大致的时间点.整个项目大致的交付计划用一个Excel表管理,根据客户要求的交付时间点,同时考虑到一些需求之间的集成测试关系,她定出了每个需求的大致交付时间点.只要每个开发人员承诺的时间点和期望的相差不大,她都可以接受,这样每个开发人员就知道