谈任务分解与评估

| Comments

平时工作,做需求的时候,总有有时间限制,俗称工作量评估,通常用x天或者x个单位点数来表示。在现实中,评估都是很随意的,实际结果经常有很大出入。 在这里不评论,这种做法有多科学。只是单个任务工作量越大,越需要细分,直到有足够的清晰度,这样才能评估得比较靠谱。这里我们用一个例子来解释一下。

我最近想做一个andriod上的死活题app,至少第一期的目标是这样的。我们先来做一下分解,看看需要那些工具,需要做什么工作。

总体来说,用android,优先考虑使用java开发。这需要java的编程经验和一些android的经验。我认为,这个不是难点,还是比较有信心的。

既然是围棋的死活题,需要了解死活题的存储格式,这是一种基于文本的格式,用树型分支的形式。 这个程序需要能够识别这种格式,这要求我们需要实现一个解释器,不过我考虑使用现成的词法分析器来实现,例如javacc,当然如果不懂这个,还得去学习一下。

另外,这是一个围棋游戏,肯定需要实现游戏规则,最重要的就是落子,吃子的判断。这个是最重要的算法部分。

还有就是,由于涉及棋盘显示,可能需要实现自定义控件或者绘图功能。如果不熟悉,也是要多花些时间的。

还有一些不那么明显的细节部分,举例如下:

死活题通常只用了棋盘的一小部分,手机屏幕又小,如何只是集中显示部分?
另外,在显示所有死活题列表的时候,能不能显示预览图?

举例子,是想说明,一些看似简单的任务,其实并没有那么简单。除了仔细分解任务,还有个常用的手法就是原型,把认为最难的部分先做一下,看看心里有没有底。

当然,所有的任务都跟你的熟悉程度有关,经常做一件事情就是这样(日常的工作就是这样)。但这些工作经验,在切换到非舒适区的时候,并不能减少心里的担忧。对于做技术的人来说,需要做的事,往往是要敢于打破技术舒适区。

Comments