作为一个软件开发者,工作内容远远不止写代码。
还有一些是职责范围内的事:
预估工作周期
理解你没写过的软件的功能
把复杂的问题简单化
把复杂的问题分解成若干个小问题
为迭代预留空间调整代码。
发现并修复漏洞
上述问题与其他成员协作完成
还有更多的建议:如果你直接和你用户交互。
把用户需求翻译成改进计划;
把复杂的意思用简单的方式向用户传达;深入浅出。
明晰每一个尚待解决的问题。
最重要的解目标用户的基础上设定目标。但是这些职责之上。
保证你工作可以进行下去。这意味着要做风险预计,设定目标的意思是对工作的节奏和流程坚持始终的掌控力。并让用户知晓潜在风险,不于风险降临时措手不及,这就需要设定一系列的规则和流程。
有没有设定目标在某些情况下可以造成煎熬和享受工作两种截然不同的结果。如果方法得当。
就是一个工匠,作为一个软件开发者。可以使用任何的工具区创造,不能让别人的期望凌驾于你创作自由之上。必需自主把控这个创造的流程。
很可能会有以下结果:如果你让用户的意志凌驾于你发明之上。
那时候你可能只能拿出半成品,用户会“认为”应该什么时候可以完成工作。无法满足用户预期;
就会觉得沮丧,如果你工作没有依照用户预期的时间节点走。丧失信心;
用户的预期会迫使你做一些你自己并不认同的东西。
最理想的情况是用户会尊重你每一次设定的目标,当然。但这种情况可遇不可求。总之记住:软件开发的过程中,才是那个决定什么时候达到什么目标的人。