【BUG】新加任务,没有指派人员,则此任务写好后,没有在任务列表中显示。
2010-05-06 15:32:14
听话的排球 |
我想,编写一堆任务,然后让团队成员自己认领任务,这应该是一个很不错的做法。
问题是,现在无法创那家没有指派的任务。 |
听话的排球 最后编辑, 2010-05-07 15:41:47
春哥 |
对于任务来讲,应当都有一个负责的人。其实这个可以作为团队自我管理的流程来约定。比如默认的把任务都指派给一个人,然后大家自己去认领就好了。
按照scrum的流程来讲,任务的分解,应当是团队人员坐在一起,功能分解的。 |
听话的排球 |
分解是坐在一起,不代表着坐在一起目的是分配任务。
每日立会的目的,除了总结和调整昨天的任务状态以后,还有一个重要的事情就是领今天的任务。 |
春哥 |
呵呵,你这个管理方式不敏捷。建议你看看scrum方面的资料。
|
听话的排球 |
资料看过了。一般来说,一个团队5个人,一个周期1个月的话,一个周期可以有100人天的工作量。
任务分解后,大多数的任务在2-5人天左右,可能会有20-30个左右的任务,那么,在spring开始的时候,就把每个人做哪些任务都分配清楚,既不合理,也不具可操作性。 你看呢? |
听话的排球 |
另外,我认为是一个bug,原因是,提交时,并没有提示 指派人是 必填 的,而是直接回到任务列表。
但是在任务列表中,我并没有看到刚提交的内容,我不知道是无法显示出来,还是直接丢弃掉我刚写的内容。我也无法确定为什么不显示在任务列表中,到底是哪个地方我填的不对。我是试了好几次,才发现是因为指派人没写。 如此一来,估计也有不少人会遇到同样的问题,那么大家有可能会以为,新建任务的功能是根本不能用的。可能也会不敢用,因为写到任务的内容,总是消失。 -- 如果一定要填指派人员,不填将不通过,那么,就应该提示,而不是不声不响直接把刚填的内容丢掉了。 |
听话的排球 最后编辑, 2010-05-07 12:07:05
春哥 |
你还是传统的项目经理的管理方式。你是在讲分配,这是一个关键的区别。scrum里面的scrummaster主要的任务是协调,而非指派任务。
传统的项目管理是这样一个方式,一个项目经理,对开发很熟悉,对产品很熟悉,知道做什么,然后呼呼按照自己的理解指派了很多任务,然后这个任务你做,那个任务他做。然后项目经理踌躇满志,项目肯定可以按期完成。但往往事与愿违。 而scrum里面会召开两个计划会议,第一个会议会确定这一期要做的需求。然后第二个会议,是团队成员坐在一起对需求进行任务分解。注意,这个地方的分解是大家一起分解的。分解之后,然后大家自己认领。后来项目进行过程中,每个团队成员都可以随时往里面添加任务。 这里面非常重要的区别是什么,项目经理的放权,团队的自我管理。不再是项目经理一个人在唱独角戏。任务是大家自己分解的,又是自己认领的,会有很强的归属感。原来被动的等待别人来指派任务,改成了自己主动认领,这一变化带来的是团队效率的提升,和项目的结果。 你如果真得想用好scrum,自己的观念要转变。把自己之前的东西倒空了,然后再放进新的东西。 |
听话的排球 |
我的意思是,无法创建一个未指派的任务。所以认领也就做不到了。用你的软件,要创建任务,如果不指派,就创建不成功。:(
这样子,连创建都不行,没有任务,又如何主动认领呢。 |
春哥 |
打开:modue/task/model.php
105 /* 获得某一个项目的任务列表。*/ 106 public function getProjectTasks($projectID, $status = 'all', $orderBy = 'status_asc, id_desc', $pager = null) 107 { 108 $orderBy = str_replace('status', 'statusCustom', $orderBy); 109 $tasks = $this->dao->select('t1.*, t2.id AS storyID, t2.title AS storyTitle, t2.version AS latestStoryVersion, t2.status AS storyStatus, t3.realn 110 ->from(TABLE_TASK)->alias('t1') 111 ->leftJoin(TABLE_STORY)->alias('t2') 112 ->on('t1.story = t2.id') 113 ->leftJoin(TABLE_USER)->alias('t3') 114 ->on('t1.owner = t3.account') 115 ->where('t1.project')->eq((int)$projectID) 116 ->andWhere('t1.deleted')->eq(0) 117 ->onCaseOf($status == 'needConfirm')->andWhere('t2.version > t1.storyVersion')->andWhere("t2.status = 'active'")->endCase() 118 ->onCaseOf($status != 'all' and $status != 'needConfirm')->andWhere('t1.status')->in($status)->endCase() 119 ->andWhere('t3.company')->eq($this->app->company->id) 120 ->orderBy($orderBy) 121 ->page($pager) 122 ->fetchAll(); 将其中的第119行删掉。应该就可以了。 |
1/1
1