以一定概率做某种事情编程_开始编程之前要做的事情

以一定概率做某种事情编程

我是电脑程序编制员。 我解决来自不同领域的问题。 我的客户来自金融,病毒学研究所,员工管理,劳动信息管理系统,能源部门,或者只是一些想用软件自动完成一项特定任务的家伙。

自从获得学士学位以来,我还没有解决任何计算机科学问题。 我在客户领域帮助自动化和优化流程,节省资金和时间。 理解客户问题是一项挑战,这就是为什么在开始编程之前,我必须

  • 了解问题
  • 向客户解释问题
  • 建议口头解决
  • 在白板上可视化解决方案
  • 将解决方案分成小任务
  • 估计任务
  • 开始编程

沟通技巧与技术技巧同样重要。

真正了解问题

与客户的直接沟通是良好沟通的关键。 我会尽量与客户保持联系。 通过项目经理进行视频通话或交流永远都无法理解客户的需求。 在客户经营业务时与他在一起,向他提问,并做笔记。 把自己放在他的位置,并尝试真正地了解他遇到的问题和挑战。 我总是很惊讶,当我与客户共度一天时,我学到了多少东西。 提出问题,直到您真正了解如何提供帮助。

向客户解释问题

用自己的话向客户描述问题。 我使用诸如“如果我理解正确,...”或“让我总结一下,...”或“换句话说,...”之类的句子。 释义表明我在听并且理解了需要什么。 它还有助于我记住客户的业务流程。

提出您的解决方案

有时客户提供详细的解决方案,而我“只是”必须实施它。 其他时候,客户不知道自己需要什么。 两种情况都提供您的解决方案或指出可能的改进和困难。 准备好以后更新或更改解决方案。

可视化解决方案

可视化是一个很好的交流工具。 我更喜欢“白板”,但您可以使用最适合自己的东西:UI模拟,图表,思维导图或UML图表。 UI Mocks最适合我。 用户界面是客户想要的,最终将获得。 使用可视化来描述解决方案。

创建任务

将您学到的内容转换为用户故事或小任务。 记下来。 试用不同的工具:纸卡,Emacs组织模式,Excel表格,Jira。 吉拉最适合我。 没有书面任务或用户故事,切勿开始工作。 他们记录了将要做什么以及什么。 这有助于避免以后与客户讨论协议。

估计任务

估计每个任务的复杂性,而不是执行时间。 我使用斐波那契数来估算任务的复杂度:1、2、3、5、8。如果任务的复杂度为“ 8”,则它太大,将其分解为较小的任务。 进行诸如“作为用户,我要登录”这样的中等任务,并为其分配复杂性2或3。将其用作进一步估计的参考点。

复杂性并不能说明任务可能要花费的时间。 有时,诸如从“表A”到“表B”的复制/粘贴数据之类的简单任务会花费超过2天的时间,而一项复杂的任务(如仅用几个小时就可以使用Terraform创建基础架构)。 您应该始终跟踪任务花费的时间。 并计算出“速度”。 速度描述您每天可以完成多少个复杂点。 要计算速度,请将所有复杂度估算点和完成它们所需的时间加起来。 现在,将所有估计点的总和除以完成它们所需的时间。 结果就是你的速度。 现在,您可以估计一周内可以完成多少任务。

开始编程

最后,您被允许开始编写出色的软件并解决客户问题。

结论

编程不仅与编程有关。 除了编程技巧外,您还需要良好的沟通技巧。 您必须真正了解客户的需求,并交付能够解决客户问题的产品。

翻译自: https://hackernoon.com/things-i-do-before-i-start-programming-rq173yg2

以一定概率做某种事情编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值