graph TD A(新建WorkItem)--> CT{类型选择} subgraph 评估环节 CT -->|测出来确认是个缺陷| BUG[类型设为 Bug] CT -->|测试后不确认是否是问题| ISSUE[类型设为 Issue] CT -->|识别出是个可以直接执行的任务| TASK[类型设为 Task] CT -->|是个新需求| REQUIREMENT[类型设为 Requirement] CT -->|判断出是个比较大的模块功能| FEATURE[类型设为 feature] CT -->|识别出是个风险点| RISK[类型设为 risk] CT -->|识别出是个用户级比较大的需求变更| CHANGEREQUEST[类型设为 ChangeRequest] BUG -->CP{是否能够判断具体到开发责任人} FEATURE --> |创建需求子任务| REQUIREMENT ISSUE --> BA>需求分析人员] end CP --> |不能判定开发责任人|DEV_LEADER CP --> |能判定开发责任人|DEVELOP subgraph 分析环节 TASK -->|指派给| DEV_LEADER>开发经理] BA -->|分析为需要修复的bug| CP REQUIREMENT --> DEV_LEADER CHANGEREQUEST --> DEV_LEADER DEV_LEADER --> CAN_DEV{判断是否可以开发} CAN_DEV -->|可以开发实现|DL_ACTIVE((状态改为Active)) DL_ACTIVE --> NEED_DIVIDE{判断是否需要拆分任务} NEED_DIVIDE -->|需要拆分任务|CREATE_CHILD[创建子任务] CREATE_CHILD -->|父任务|CLOSE_SPLIT((状态改为Closed,Split)) end subgraph 开发环节 CREATE_CHILD -->|子任务|DEVELOP NEED_DIVIDE -->|不需要拆分任务,指派给|DEVELOP>开发人员] DEVELOP -->|开始开发|DEV_ACTIVE((状态改为Active)) DEVELOP -->|非自己能够处理的任务|CP DEV_ACTIVE -->|开发完成|DEV_COMPLETE((状态改为Resolved)) DEV_COMPLETE -->|指派给|TESTER>测试人员] TESTER -->|测试通过|CLOSED_PASS((状态改为Closed,Passed)) TESTER -->|测试不通过,状态改为Active|DEVELOP end subgraph 拒绝 BA -->|分析不是一个问题| CLOSED_REJECT CAN_DEV -->|无法开发实现|CLOSED_REJECT((状态改为Closed,Reject)) CLOSED_REJECT -->|指派给|CREATER>创建人] DEVELOP -->|无法开发|CLOSED_REJECT end