这是正常的发展程序吗?

时间:2009-10-26 17:51:58

标签: wcf silverlight entity-framework

首先关于我自己。我不是经验丰富的软件工程师,架构师或开发人员。在过去的5年里,我在C#中完成了大部分小型ASP和ASP.NET项目。我非常擅长HTML和JavaScript。这些项目是在我有空闲时间从事与软件开发无关的其他职责时完成的。我现在已经进入软件开发人员职位。我工作的公司不是软件开发公司。

我现在正在使用WCF和Entity Framework处理Silverlight LOB应用程序。我给了这个项目很少的规格,只是'制作像X这样的应用程序,只是简单,所以我们不需要付钱',我的老板不像我认为的那样经常检查我的进度,项目经理(同事)将不时停下来,但我们从不讨论规范,架构,UI或业务规则。当我认为我会完成时,我大多只被问到。我不得不学习Silverlight,WCF和实体框架来处理这个项目,这不是一个问题,因为我非常喜欢使用这些技术。问题是我是公司中唯一知道这些问题的人,没有导师/老板来讨论问题以及如何解决问题。我已经能够在公司找到一个至少给我一些要求清单的有兴趣的人。

我无法相信这应该是软件开发的方式。我认为项目经理应该提供指导,并密切关注正在采取哪些措施以防止走向错误的方向(但是由于不了解技术,他们在我的情况下怎么做!)。

我应该有这种感觉还是离开基地?

感谢收听。

5 个答案:

答案 0 :(得分:8)

你所描述的确定性不是最佳,但它非常普遍,特别是在较小的商店。有些人发现在这种环境中工作是有益的。这不是软件工程书籍所教授的内容,但这就是有这么多软件工程书籍的原因。

如果你想继续在这种环境中工作,你将不得不提供你认为自己错过的所有纪律。写一个规范。制定计划。与您的管理层分享这些。坚持自己的最后期限。

与您的管理层分享您的疑虑;不要害羞。机会是,他们认识到这种情况。你的老板不检查你的进度?将进度发布给他。向他展示你需要去的地方,你走了多远,以及阻碍你的是什么。

毫无疑问,这将是混乱的,但你会学到很多东西。

答案 1 :(得分:2)

每个组织都不同。如果他们以这种身份运作,那么你应该适应并充分利用这种情况。它要么正在发生,要么就是事情已经完成并且他们意识到这一点,或者他们不知道更聪明或者不想投资来改进战略/战术项目的交付过程。

在一个完美的世界中,每个人都将拥有强大的质量方法,为项目交付和系统实施提供框架。这不是现实。

以下提示可帮助您更有效地运作:

  • 确定您的赞助商(拥有该产品的人)并确定他们寻求解决的业务问题的高层次利益和推动目标
  • 确定您的利益相关者(有影响力和有兴趣的人)并让他们尽可能地传达他们的需求
  • 尽可能或尽可能多地让赞助商和利益相关者参与进程
  • 通过书面形式(电子邮件)从他们那里获取您的要求
  • 为他们提供机会,让他们了解交付情况并提供反馈

答案 2 :(得分:0)

从您的老板角度来看,您的项目可能会失败。因为我确定你开发的程序不适合他。但你不会感到内疚。这是你老板的痛苦。('因为你是优秀的程序员)。对不起这么黑暗的帖子: - )。

答案 3 :(得分:0)

项目经理的角色不是要了解技术,但他们肯定应该关注项目的脉搏,可以这么说。真正的项目管理工作不是控制项目,而是启用它。无论哪种方式,从你的描述来看,你的表现看起来并不是很好。

另一个极端是一个过程繁重的组织,会议和委员会决定一切,所有真正的沟通(如果存在的话)都是通过辅助渠道进行的。

理想的世界介于两者之间。

您的项目经理不应该关心您的工作方式。因为他们没有资格,所以他们能做的最好的事情就是把你和一个人联系起来。当他们无法验证你正在构建正确的东西时,他们至少应该确保你正在构建正确的东西。即使是供内部使用,您仍然有客户,与客户的沟通不会给我带来坏消息。 :)

如果您的PM不关心这个问题,您可以尝试自己做一些事情。例如,要求PM将您与应用程序的潜在最终用户联系起来。提取应用程序的各个部分并将其提供给用户进行操作 - 只需确保您提供的部分看起来或感觉不完整。

如果你无法改变事物,那就把它作为一种学习经历。确保下次你参与一个项目,你知道上次出错的地方,并尝试从一开始就减轻它们。

最后,如果你的老板告诉你这是一种“更灵活的工作方式”,那么就把它们砸在脸上。敏捷是,或应该是纪律的同义词,而不是完全缺乏纪律。

祝你好运!

答案 4 :(得分:0)

这是一个艰难的情况。只有你才能真正确定最佳的进行方式。但是,我确实认为对计划和并发缺乏文档(要求,期望,用例场景文档等)的关注是等待发生的火车事故。即使是最敏锐,最有经验的开发团队也会遇到同样的问题。

“什么时候会这样?”通过定期提供可用于从客户的移动目标中获取有用信息的小型部分功能构建,可以最好地缓解问题。令人惊讶的是,当某人(您的老板/客户/最终用户)能够在他们面前“玩”某些东西并重新考虑他们真正想要的东西时,会发生多少通信。