我们是一家中型工程车间 (10-20)。我们擅长对面向用户的故事进行优先排序和结构化工作,并使客户满意。但是鞋匠的孩子没有鞋子。如果不是关于客户,我们有 0 流程。
我正在寻找系统来确保我们正确地确定优先级并完成非面向用户的工作以保持开发车间的运行:QA 环境(在我们的例子中相当繁重)、持续集成系统、打包等等。
现在,资源总是有限的。我们不想给鞋匠的孩子 10 双最高档的鞋子,以及专门的自行车鞋来引导。我们想要做正确的、必要的工作,采用与我们其他开发相同的低劣纪律。
告诉我哪种系统适合您:您如何确定和组织非面向用户的工作?我想要简单且与 scrum 顺利集成的系统。
(我知道本文顶部有一个红色框,表示 Stack Overflow 的自动问题解析器认为这是一个无法回答的主观问题——我认为可能有 2 或 3 个优秀的答案可以或已被证明是可行的 - 过程是编程不可或缺的一部分。所以这里有一些代表我们的过程的伪代码。修复这个算法)。
IBacklog GetBacklogForWork(IWork requestedWork)
{
if(requestedWork.IsUserFacing) return new PrioritizedBacklogRepository();
// Everything else. Priority largely based on spare time and who thinks its a neat idea
return new RandomizedPriorityRepository();
}
void HandleIncomingSuggestionsForWork(IEnumerable(IWork) ideas)
{
foreach(work in ideas) GetBacklogForWork(work).Insert(work);
}