当你的经理希望你以快速而肮脏的方式实施某些事情并且你知道它会适得其反时,你会怎么做?
我的经理要我为客户开发一个Web应用程序,并尽快完成.这是我们为这个客户建立的第一个网络应用程序,我认为我们这样做是非常重要的,这样我们就可以在它们不可避免地要求我们增强它或创建一个新网站时进行构建.
我想花一些时间来设置一个框架(即使它只是像Stripes一样简单),并配置tomcat来使用DBCP.我也认为我们应该使用css模板,并至少给予应用程序的演示和设计最少的思考,因为在我看来,没有什么看起来像设计糟糕的网页那样不专业(除非它是一封电子邮件,真的很糟糕的语法).
问题不在于我们在压力下完成这项工作,但更多的是我的经理认为他没有理由为他自己认为不必要的事情计算额外的时间.他的"只是尽快完成它"的方法已经适应了几次 - 例如,他告诉我不要设计代码来处理某种错误情况,因为它不太可能发生,然后当它确实发生时是一个大混乱(我必须清理).
那我该怎么办?我真的这么做"快而又脏"吗?我是否认为最快的方法是做正确的事情,如果它花费的时间超过他的预期,那就应对后果?这里的部分问题是,虽然我过去做过Web开发,但它总是在现有框架内,因此从头开始构建框架对我来说是一个学习曲线.
请记住,在他看来,计算大量的时间会使销售对客户的吸引力降低.这可能是一个很好的营销方法(即使这是一个可怕的设计决定)现在快速和脏,所以客户喜欢它,当他们想要改变时,他可以在未来花更多时间,因为现在他有客户"他的网".
但我的建议是:环顾四周,他是负责人,所以按照自己的方式行事,否则你只是为自己制造问题.如果你想做正确的事情,成为老板或找到另一家相信以正确的方式做事的公司.但是,只是反对谷物只会让你被解雇或与这个家伙在狗窝里,这就是生活的方式.
做得快而又脏.这就是他们想要的,这就是他们愿意付出的代价.拿走钱并交付.
后来,当系统无法管理时,因为它完全且完全混乱,并且客户能够想要并支付一个强大的,精心设计的解决方案,就拿钱并交付.
看,你得到两次报酬!
此外,垃圾解决方案最终会有一些持续的手动过程.这些都是收费的.你再次获得报酬!
难怪你的经理喜欢这种方法!
尽管存在风险,但我会提供管理层的观点.:-)
我与一些团队成员面临的一个挑战是他们有时很难看到全局.这显然是一个开发人员也可以对他们的经理做出的声明 - 当然,管理人员(尤其是非技术经理人)可能无法理解现在仓促的决策如何导致以后出现问题.但我要重申,不仅仅是管理者能够错过全局.开发人员也可以.
有一次我的团队应该开发一个简单的演示,我有两个人在做它.这很可能是一次性演示.我们是否有可能最终保留并详细阐述它?当然.机会甚至是不错的 - 也许(只是在这里编号)25%只是为了争论的缘故.在将近一个月之后,没有可交付成果,最后我打电话给BS.事实证明,开发人员正在"设计"这件事.将它设置为模块化,可插拔,可测试等.我告诉他们停下来,我在一个下午自己编写了演示."大局"是快速向客户提供概念验证,如果出于任何原因我们决定将演示演变为实际的生产软件 - 很好 - 在最坏的情况下我们扔掉一个下午' 值得"努力工作".那是最糟糕的情况.这不像我能够制作几百行代码那很复杂.
毫无疑问,管理人员有时会以权宜之计的名义打电话,但仅仅因为我要求我的团队做一些快速而肮脏的事情并不意味着我是短视的.大多数情况下,这意味着在获得工程设计权利的情况下,快速交付价值更为重要.不幸的是,对于一些开发人员(少数人,可以肯定),这个建议是亵渎神明的.