业务就是行业的运转逻辑、流程与现状,是结果表象,是能够被看见和感受的;业务也是内在本质,是能够被洞察和感知的。业务就是这个行业怎么发展起来的、现状如何、未来趋势如何、运用什么技术、有哪些企业、商业模式如何、盈利能力如何、目前主要面临什么问题、消费者有什么特点,等等。
IT行业来说开发人员是服务于客户的,技术是服务于业务的,没有业务的话技术也就没有生存的价值了,所以开发人员也需要了解业务。
1整体介绍
业务与我们息息相关,开发人员通过业务了解需求、了解功能,才能把功能做好,在讲述如何了解业务前先讲述一下IT行业的发展,业务理解、了解业务的场景。
1.1行业发展
IT行业的发展已经走了很远,纵观世界经济的发展,经济全球化进程明显加快,信息化已成为全球化的迫切需要和必要保证。世界范围的产业结构调整和信息技术进步必将对中国信息产业的发展产生深刻影响,所以IT行业的前景还是不错的。但由于IT行业发展得很快,单单靠技术就能生存的环境已经成为过去,如今开发人员需要了解业务,只有了解业务才能了解客户的需求,所以不懂得业务的开发人员不是一个合格技术人员或开发人员。
1.2业务理解
一个技术人员想要走得更远,不能仅局限于技术,需要对自己所从事行业的业务领域有不断深入和全面的理解,只有了解业务才能更好地与客户沟通,才能让客户知道你懂他们,才能让客户有信心把公司信息化建设交给你去做,而且开发人员不懂业务也无法进行需求调研,无法把客户的真正需求理解清楚,所以业务理解是非常重要的一件事。
1.3场景描述
很多开发者一定不屑于“开发者也需要了解业务”这种说法,觉得熟悉业务是需求项目人员或者商务做的事,与开发人员没有关系。但这是错误的思想,如果你只会写代码,那么你并不是不可替代的,而是可有可无的。在当下,会JAVA、C、Python的程序员大街上比比皆是,因此,只有开发人员在需求分析、功能设计、功能开发等阶段都了解业务才能更好地完成产品开发,这样的开发人员才能有核心竞争力。
2需求分析
无论对于技术人员还是开发人员来说,开展工作的第一步都是需求分析,它也是了解客户真实需求的重要步骤,只了解需求工作才能进行下去。接下来将从问题描述、业务理解、如何提升三个方面讲述需求分析与业务理解的关系。
2.1问题描述
开发人员不懂业务在需求分析的时候会带来如下不便:
1.讨论需求的时候如果不懂业务,那么就无法发现产品的业务需求不合理、实现代价很高等问题。
2.如果开发人员没有理解好业务需求,就不能真正理解客户的需求,后续工作内容很容易与客户需求不符。
3.如果开发人员不懂业务,会在与客户沟通时下意识地讲技术,但客户对技术是不够清楚的,容易导致双方的理解出现分歧。
2.2业务理解
综上所述需求分析时了解业务是十分重要的一件事,那么需求分析时我们该怎么做呢?
1.在需求分析时我们需要了解客户的实际业务情况,通过与客户沟通,可以知道客户的业务情况如何与我们产品功能相结合。
2.通过了解客户业务情况,结合业务实际情况与客户讨论企业信息如何建设,从而让客户知道你有能力为企业做好信息化建设。
3.调用需求后将客户需求记录下来,将所记录的内容转换成技术点,然后结合我们的产品一一实现。
2.3如何提升
上文介绍了开发人员了解业务的重要性,那么在需求分析的时候该如何提升自我呢?
1.讨论需求的时候,起初有不懂的情况要多听多记,然后去理解去分析它们,当有想法时要积极地说出来。
2.换位思考了解客户的业务场景,要记住客户的需求虽然不断变化,但客户最终目的是不变的。
3.讨论需求时对于不懂的业务场景一定要问出来,要学会不耻下问,要知道客户肯定比你要懂他们的业务,不要觉得丢脸。
3功能设计
功能设计是在需求分析后要进行的重要步骤,需求分析结合产品使用会有一些不满足的功能,这时候就需要进行扩展开发,每次出现不满足的功能时都要进行一次扩展。
3.1问题描述
在功能设计的时候也需要了解业务,不了解业务的话会产生如下后果:
1.如果不熟悉业务,就无法写设计中的整体需求分析和业务场景这部分,设计出的功能就容易偏离需求。
2.很多时候我们还没了解需求就闷头开发,开发完的产品却不是客户想要的,这样会造成巨大浪费。
3.不懂得业务的话,你就无法与项目人员沟通需求,项目成员沟通业务场景时你如听天书,那么你将无法进行功能设计。
3.2业务理解
设计就需要了解的是客户使用场景,了解客户使用习惯,让功能场景形成闭环。
1.在设计的时候需要经常与项目人员沟通,了解实际的业务场景,通过业务场景倒逼设计功能是否合理。
2.在设计中前部分的需求分析和业务场景框图都是需要开发人员了解业务才设计出来的。
3.功能约束、业务联动功能也需要设计人员了解业务,只有了解业务才能知道功能需要哪些功能约束,有哪些功能需要业务联动。
3.3如何提升
综上所述了解业务才能更好地进行功能设计,那么如果在功能设计阶段提升自己业务理解能力呢。
1.设计阶段需要换位思考,了解客户的心理,了解客户的业务逻辑,只有这样才能慢慢了解业务。
2.多跟项目人员沟通,项目人员肯定比开发人员更懂业务,因为他们经常和客户沟通是业务,多跟他们学习才能有所提升。
4功能开发
设计完成后就要进行功能开发,开发阶段程序员也需要懂得业务,如果不懂业务是无法把功能做精的,客户也不会满意。
4.1问题描述
开发人员到底要不要懂业务?之所以要写这个话题,是因为这是在程序员和产品之间横亘已久的一块障碍石。
1.如果程序员不懂业务,开发的产品很容易完全不符合预期。
2.如果程序员不懂业务,每次需求都要反复修改,纠结到底是产品业务要符合系统技术底层逻辑,还是系统技术逻辑得符合产品业务逻辑这个问题。
3.因为程序员不熟悉业务,在处理问题的时候,就只能被动接受别人的分析和推断。
4.2业务理解
开发人员需要通过了解业务把功能开发完全,从而让功能使用起来具有易用性、完备性。
1.开发阶段要换位思考通过了解客户的业务,来验证功能完备性。
2.开发人员要通过业务场景的测试,从用户的角度去测试系统的质量是否符合预期,验证功能是否形成闭环。
3.鉴定一个功能是否是好的功能,唯一的标准是看它能否支撑业务、改善业务、推动业务,即应用效果。
4.3如何提升
综上所述程序员也需要了解业务,只有了解业务成员才能不会被社会所淘汰。
1.开发阶段经常沟通,需要多与项目组技术人员沟通,他们是第一现场工作人员,是比你更多接触业务的人,所以不懂的地方一定要问。
2.开发时候要经常记笔记,把不懂的记录下来然后问明白,了解清楚后写一篇文档加深自己的理解。
5总结分析
以上是笔者对“开发人员如何了解业务”这一话题的一篇总结心得,希望给能够大家带来启发。笔者作为一名开发人员深知业务的重要性,所以本文的每一段都是肺腑之言,都是这些年工作总结的成果。
5.1行业发展
科学技术革命的频率逐渐增加,IT行业新兴领域的技术爆发情况时有发生,科学技术信息化的发展速度越来越快。软件开发行业与各行业都有关联,几乎绝大多数行业的发展都会促进软件行业的发展。因此,一般情况下只要国民经济保持增长,软件行业就会发展。
5.2业务理解
开发人员需要了解业务,因为现在已经开始提倡编程从娃娃抓起,10后都开始在IT行业中崭露头角,这是一件非常可怕的事情,除非你的技术能力很强,在国内或者某个行业内比较知名。但技术能力强的人,也不只是技术超群,还常常因为能够利用手中的技术解决某方面的业务问题,做出突出的贡献。我们在职场中发展,也是要靠结果证明自己,比如提及你做过什么项目、有什么价值的时候,这种价值往往就是针对业务而说的。
5.3如何提升
开发人员的“业务感”普遍比较弱,认为业务需求是业务方的事情,我只管去实现就好,这种想法使得技术人员失去了应有的价值。开发人员是一群具备系统性思维的聪明人,应该用系统性思维去解决业务上碰到的共性的问题,有效地提高业务各个环节的效率,最终实现技术驱动业务的发展,为企业创造更大的价值。
产品研发人员都要懂业务、研究业务模式、知道业务的痛点是什么。大部分用户往往不知道自己想要什么,所以很难提出准确真实的需求,开发人员学习业务知识,用软件工程的方法,将各种想法变成产品让用户使用,收集反馈并且快速改进,使产品越来越接近用户的真实需求。研发人员应该学习业务、成为业务专家,以最佳的状态投入到激烈的市场竞争当中去。