我有自己的软件服务公司,DIGICORP,我领导着一个由10名开发人员组成的团队。公司总规模约为50人。我们是从2004年开始创业的四位朋友。
去年,我们阅读了37信号创始人的“获得真实”和“返工”的书籍。我们密切关注捷步所做的事情,我们已经开始更加专注于提供高质量的服务,并为公司营造良好的环境。这大大改变了我们做生意的方式。
我们建立了友好的文化。我们还确保团队不会面临任何基础设施问题。我们不断地进行创新活动,以确保团队有越来越多的理由在公司工作。
我们开始对我们的业务决策进行如下更改
我们主要面临以下两个问题。
所以我要找的答案是:
发布于 2011-06-14 07:36:44
以下是一些问题和建议:
说‘我们过去做了更多的事情’总是很容易的,但是如果没有某种度量(包括长期成本,比如质量和扩展性因素),你就不知道了。有些软件开发方法(例如看板)提供了测量速度和输出的技术(尽管这从来不是一门精确的科学)。简而言之,您需要开始记录在质量级别y构建x类型功能所花费的时间,然后在进行过程更改时根据它进行度量。
针对下面的注释部分--在这种情况下,您希望开始直接测量输出,即使您正在处理不同的应用程序,yo仍然可以开始测量常见的工作单位。因此,我们需要大约3天的时间来构建,我们通常会在其上报告2个关键缺陷“或”一个连续工作的CRUD屏幕需要我们大约4天的时间来构建,我们得到了0个缺陷的报告(我们的单元和集成测试岩石!)
听起来你的基础设施很好。但是如果客户想要的话,你能在接下来的一个小时内部署到珠三角吗?
针对下面的评论部分--从良好的CI实践开始(Jenkins是一个流行的x平台x语言工具),然后转移到对开发环境的持续部署(在Java中,JRebel对此很好),并对您的测试和珠三角系统进行持续的交付。这样做需要时间,但它会以增加的产量回报你。
我从来不喜欢随心所欲地遵循一种特定的方法,但我现在非常喜欢使用看板,因为它显示了我正在工作的团队的速度和输出。最关键的是,它很快地向您展示了阻塞的地方:“哦,我们正在非常快地开发代码,但是我们是压倒QA的--所以我们可以添加更多的QA,或者编写更多的BDD/ATDD风格的测试来减轻QA的负担”。
针对下面的评论部分--任何最适合您的团队的内容,但是您可以度量个人和团队的输出。单位是什么?没有科学单位可以使用:)。您需要建立一些历史数据,说明构建某项工作所需的时间,并关注该工作的质量(所报告的真正bug的#以及扩展过程中的困难)。我使用JIRA和Greenhopper来跟踪这一点,因为开发人员可以输入他们的估计值,然后他们需要实时完成任务。随着时间的推移,我们学会了如何将任务分成1天,然后我们就可以合理地准确地测量输出。请记住,这不是一门精确的科学,开发者也不是生产线工人。
我见过的最好的团队总是有同行的压力,通过静态代码分析(Sonar在这里很好)和同行代码/设计评审来保持高质量的条形。
作为对下面评论部分的回应--从CI构建可以提供的报告开始。在Java中,它的PMD、FindBugs、JDepend、测试中的代码覆盖率等等。很快,个人希望拥有最高的覆盖率,从不破坏构建,最少数量的FindBugs警告等等。还鼓励开发人员就如何提高质量和与同行合作的感觉提出意见。午餐时间或下午晚些时候,关于一种技术之类的东西的演示会有所帮助。
此外,你也可以鼓励以集体的方式解决问题。假设你已经有了正确的文化,每个人都知道他们什么时候搞砸了,他们也知道团队会努力帮助他们的同事走出困境。我们都是人,毕竟会犯很多错误!事实上,我敢说,错误不应该受到惩罚--有时你需要做出勇敢的技术决定,而这些决定后来都没有结果,这是软件开发的本质(有时)。
有些人根本不适合成为这样一种文化的一部分(“聪明,把事情做好”)。你可能得给他们找个合适的位置,或者干脆放他们走(这是商业的严酷现实)。
哈哈!
发布于 2011-06-14 10:21:12
“不断改进”。听起来你应该去做回顾了。
回顾是项目团队在项目或过程结束时(通常是在迭代之后)举行的一次会议,讨论项目或回顾所涵盖的时间段的成功之处,可以改进的内容,以及如何将成功和改进纳入未来的迭代或项目中。
正确执行回顾应该通过消除障碍来提高团队绩效。
通过让整个团队参与进来,你会得到更好的建议和团队承诺。
发布于 2011-06-14 13:53:35
我们不断地进行创新活动,以确保团队有越来越多的理由在公司工作。
根据我的经验,一个强大的团队是你可以提供一个人留在公司的最好理由。如果一个人觉得与他们的团队有联系,并且觉得他们对团队的产出负有一定的责任,那么当团队成功的时候,他们就会得到更大的喜悦,并且不太可能离开。
我从个人经验中了解到这一点,因为我在一个充满敌意的环境中工作了太久,我喜欢我的团队,如果我离开,我会让他们失望的。这一事实在我参加的一门名为“建设团队工作”的软技能课程中也被详细讨论过。
你说过你喜欢让你的队伍保持小规模。我猜每个团队都在做一个不同的项目。也许在每年的年底,你可以给那些超越和超越的球队颁奖。我目前的工作每年都会在公司聚会上给予他们反馈,并从我们的客户和其他员工那里得到反馈。队里的每个人都会得到一个漂亮的奖品和一张礼券。这是一种很好的方式来识别那些为公司做出巨大贡献的强大团队。
至于8小时的目标,是每天8小时,还是平均每天8小时?我个人不介意每天工作10个小时,如果时间允许的话,我可以休息一两天。在嘎吱嘎吱声中呢?我知道你在你的问题中说过你在努力避免它们,但你永远不知道什么时候会出现意想不到的工作。你有什么Flex时间的政策吗?如果你在这里多工作几个小时,你可以在那里休息一下吗?
规定每天8小时是对思维过程进行时间测量。有些时候,开发人员会在小树林里呆上几个小时。其他日子,果汁不流,下午5点就来不及了。也许每周给你的开发人员提供一些空闲时间,让他们研究一些与学习新事物无关的工作?
我希望这能给你一些想法。
https://softwareengineering.stackexchange.com/questions/83722
复制相似问题