作为.net程序员(单独)在客户端(非IT)工作,并要求开发Windows应用程序。没有项目经理,没有SRS,没有技术人员领导......等等。
直接从客户那里获得需求。它保持变化,并有很多的ambguity。由于客户并不需要冻结需求,因此处理起来非常头疼。必须做自己的需求,编码,测试,错误修复和交付构建的自我文档,仅供自己教育用户使用。归咎于老板,他是非技术人员,总是不理解这些问题。
现在,它成为了所有SDLC活动的开发人员。我该如何处理这个工作环境?
答案 0 :(得分:3)
算上你的祝福,我会说。通常,站在开发人员和用户之间的所有人都会妨碍制作成功的软件。
我认为采用一些敏捷工具来组织自己,比如scrum白板,以及定义sprint周期/迭代是个好主意。这将允许管理您的老板和用户的期望,并仍然让他们控制应该优先考虑什么。不要忘记安排SDLC任务,这样你就可以让老板看到它们。您可以随意将敏捷工具视为超市:采取您认为有用的方法,并记住其余部分以供日后考虑。
就需求文档而言,我会保持非常高的水平。我不介意完全跳过它,但我可以想象它感觉草率,它也许也是记录你的成就的一种方式。
答案 1 :(得分:3)
首先对您的环境提出要求,以及对您的要求:
需求在编写单行代码之前,需求和截止日期是固定的,并以书面形式达成一致。
需求您有足够的时间在开发周期中进行测试和修正错误
需求您有时间设置源代码控制,自动构建等(无论您认为自己需要什么样的开发环境来促进有效工作)。
需求您有时间编写文档,这样您就可以花更多的时间编写代码,花更少的时间进行应用程序演示。
继续备份:
记录并向您的老板展示一些关于如何使用时间的统计数据。如果事实证明你在实际编写代码时使用的少得多,那么他可能会考虑向部门的其他成员提供与编程相关的一些较少的任务。
最后,请记住,这不是世界上唯一的公司:
Robert L. Lead在他的How to be a Programmer: A Short, Comprehensive and Personal Summary中有一个非常好的观点:在Recognizing when to go home之下,他只是声明:
如果必须,请退出。
这可能不是一个非常引人注目的选择,但是如果它来到它,让公司在另一边留下更绿的草。如果你的工作条件没有改善,甚至告诉你的老板你已经准备好退出可能会帮助你真正得到你想要的东西。我怀疑你的公司想要留下一个突然无法支持或更新的软件产品,因为他们唯一的开发人员会退出。
答案 2 :(得分:2)
教育客户和老板的组合;而敏捷方法在这里可能会有所帮助。这取决于该项目如何向客户收费。
如果客户获得固定价格交易 ,但允许更改规格,则教育您的老板(或任何对财务结果负责的人)项目)关于这个项目的影响。这意味着客户可以随意询问他们想要的东西,而无需支付更多费用。如果项目没有时间限制,那么老板会以固定价格免费提供开发时间。说清楚。如果项目是时间框,请说明更改意味着重做,并且在用完之前只有很多重做。如果他没有看到这是一个问题,记录您的时间使用。
这相当于去汽车维修店,同意价格,然后推动机械师不仅修理你的空调(原始范围),而且还更换你的油,提升你的悬架并进行全面的发动机大修。从长远来看,期望客户要求汽车飞行,解决世界饥饿问题并带来世界和平。
如果您正在进行可计费小时项目 ,那么您会遇到更多麻烦。您的老板可能没有任何激励客户提出合理的要求,他可能只关心您是否有效地与客户签约并带来收入。在这种情况下, 通过与客户商定敏捷方法来负责项目,因此您至少可以提供满足客户需求的内容 。随意掌控,看来你是事实上的经理 - 只要确保你理解这个项目的合同条款,并在这些边界内工作。如果合同很糟糕,请提醒您的老板,但您的公司需要将其解决或重新协商。
在两周的冲刺中工作,向您的老板和客户展示所提供的功能/功能与开销(返工)与其他工作(培训......)的比率。它可能很快就会明白你的项目资源不足,或者价格高的要求达成一致。跟踪电子表格,或使用轻量级敏捷项目管理工具,如TargetProcess
如果客户不可行,而且你的老板只是看到某人偷看,重新考虑你是否想在这样的地方工作如果有任何特殊原因你为什么要花费你的你现在公司对另一家公司的专业时间。
请记住,您可以处于合理的强势地位,推动一些改变以改善这种状况。如果你是非IT商店的唯一开发商,并且你退出了,那么你的公司将很难履行其对客户的义务 - 你的老板,以免他是一个半智能者,会注意到这一点。当然,威胁退出,是核选择,不要轻易打那张牌。
答案 3 :(得分:0)
在这种情况下我通常做的事情 - 我遇到的情况比我想要的要多得多 - 是要求一定的最低限度。如果你有什么可以用来压迫你的“老板”,你只能要求一些东西。在单一开发人员做所有可以做到的所有情况下,你的压力手段就是你自己。
世界上有些国家的员工受到严重保护,您必须小心谨慎。对于任何其他国家来说,这几乎变得毫无疑问:只需要最低限度的工作条件。
这意味着:您列出了您需要的东西。把事情简单化。保持 - 几乎 - 免费。不要带各种程序。使用简单的错误跟踪系统,您还可以使用它来进行规划,报告,功能跟踪和新开发(Jira浮现在脑海中)。应该教你的老板和你的客户使用它。对于你自己,你可能想要添加源控件,如果你还没有它。
现在是棘手的部分:一会儿,变得非常严格。使用跟踪系统的注释线程进行通信。您的客户将继续给您打电话或发电子邮件给您。让他。但是将所有内容复制到评论主题并在那里写下你的答案。向该家伙发送一个指向该帖子的链接作为答案。
你老板可能不喜欢这样,因为他会减慢事情。告诉他,能够和将要做的事情会变得更加清晰。在他的钱(即:你的时间)去的地方也会变得清晰。告诉他你想自己保持一个概述,但这对他也有好处。如果他不相信,请告诉他给我打个电话,然后建议他100%按你的方式做两个月。他会做一个月,然后你就达成协议。
这是一场艰难的比赛。但这是可行的。提出一些简单的步骤来改善您的环境,沟通和跟踪。如果他拒绝,你拒绝再做任何事情,他将陷入更糟糕的境地。