首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何克服结构糟糕的软件开发模型?

如何克服结构糟糕的软件开发模型?
EN

Software Engineering用户
提问于 2011-04-30 04:05:01
回答 5查看 1.1K关注 0票数 11

我加入了这家公司,目前我正在从事一项新的工作。由于GIS软件开发的熟练人员数量有限,而且由于我是其中之一,我被直接招聘为项目经理。

我对Java和GIS相当熟悉,我对基于位置的服务进行了自我激励的研究,但没有进行项目管理和结构化软件开发。那是我毕业后一年的地质学专业,在前一年我是一所大学的学者。

由于我在工作中的兴趣,一个机会出现了,最终我也被任命为公司的商业情报部门。公司相信我。我自己研究了数据仓库和BI概念,并成功地将GIS和BI结合在一起。

此外,我目前正在C# WPF中与两个开发人员一起开发BI工具,有时我也会扮演开发人员的角色(我喜欢这样)。

我非常努力地在敏捷项目管理中采用良好的软件开发方法,但这并不是很成功。此外,虽然我相信设计良好的代码对于一个产品来说,由于缺乏技术知识,我的首席执行官有(谁是直接在我之上),我通常没有足够的时间去做它。由于缺乏整个特定编码语言方面的专门知识(例如,WPF与Java相反),所花费的时间也大大增加了。此外,没有版本控制系统,以及到位。

我对事情的发展方式感到非常厌烦,因为它不是结构化的,我发现我的大部分时间都在思考如何让事情变得有条理。我希望你们有良好的专业经验,将能够帮助我克服这种情况。

EN

回答 5

Software Engineering用户

回答已采纳

发布于 2011-04-30 05:46:51

在我两年前工作的公司里,我们也遇到了类似的问题(当然没有技术细节)。

你只需要一步一步地做。不要急于采用敏捷软件开发。有很多东西需要学习和应用。也不要让缺乏专业知识让你失望。

慢慢地(但尽可能快地),稳步地,肯定地。

我建议接下来的步骤(要做到这一点,您可以从管理转向开发一段时间,但这应该可以)。

  1. 学习一个好的版本控制系统,并把它学好。就我个人而言,我会推荐git或mercurial。这两方面都有很多文档。
  2. 在实践和模式上建立坚实的核心。阅读书籍,阅读博客,与团队成员一起观看屏幕。这将为这一发展提供新的空气。
  3. 了解TDD/BDD,并尝试将其应用于新代码中,以及在执行新功能时可能触及的旧代码中。
  4. 做对编程。两个脑袋想得比一个好,还有4只眼睛比2 :)好。
  5. 了解您目前正在开发的语言社区中最新和最常用的工具。了解它们并尝试将它们中的一些纳入项目中。看看这些是如何建造和学习的。
  6. 用scrum。迭代,故事,故事点,障碍都是你应该熟悉的概念。对我来说,scrum已经被证明是软件开发和管理的最佳工作流。运用它,并从每天的经验中吸取教训。
  7. 以身作则。大多数初学者开发人员都渴望学习新东西,但也有一些人非常懒惰。无论如何,给他们看你一直在学习和应用的新东西,希望这能让他们的大脑发痒。

此外,如果可能的话,请一名顾问,以便他可以检查过程,并提供更好的建议。

不要懒惰或气馁。只要从你的错误中吸取教训,尝试不同的方法。这只是个开端而已!

编辑:

以下是我最近读过/用过的一些链接和书籍.

学习git:亲Git

以下是我推荐的一些博客(其中大多数是面向.NET的):

  • Java博客
  • 卡尔·塞金的博客和他的编程系列的基础。
  • CodeBetter.com
  • 代码思考
  • 洛杉矶技术人员
  • 清洁编码器
  • 以及堆栈溢出问题的此链接

关于书籍,你可以在亚马逊上看到构建一个坚实的编程核心列表。我还建议采取以下措施:

  • 清洁代码
  • 敏捷软件开发、原则、模式和实践
  • 几乎所有来自语用书架的书
票数 14
EN

Software Engineering用户

发布于 2011-04-30 05:48:10

作为经理,你的工作是获得完成一个项目所需的时间。在接近首席执行官的时候,要确保所有的数据都支持你,并说明为什么估算的时间和时间一样长。作为一名经理,你有责任让首席执行官理解为什么完成一项任务需要花费n小时/天/周的时间。这有时会很困难,但我还没有见过一位想让他的公司倒闭的CEO,我敢打赌,如果你用这种措辞(如果其他一切都失败了),他可能会改变他的语气。

如果首席执行官不愿意给你完成任务所需的时间,那么IMHO,要么准备转到另一份工作,要么为持续的死亡游行做好准备。作为最后的手段,向首席执行官解释一下毫无疑问来自不切实际的期望的精疲力竭。

尽管如此,您还需要确保您的开发人员为您提供准确的估计(如果没有适当的技术设计,这是非常困难的,几乎是不可能的,这也应该在某个地方)。

敏捷并不是所有开发领域都好的。为某些项目类型工作,在另一些项目类型中不幸失败。您可能需要尝试几种不同的方法,然后才能找到有效的方法。

设置版本控制。实际上,要建立Git需要5-10分钟,需要几分钟才能完成基本操作,需要一两天的阅读时间才能完成更高级的概念。

票数 6
EN

Software Engineering用户

发布于 2011-05-04 03:25:48

嗯,不知道我是否在多伦多的敏捷/XP活动中遇到过你--这听起来很熟悉。

听起来你需要休息一下。度过一个漫长的周末,如果你愿意的话,喝醉,然后忘记工作几天。

放松你自己。自我教学是好的,仅仅因为一种方法不适用于所涉及的个性,并不意味着你做错了,也不是个人的失败。

这里有一个(beta) pm.stackexchange.com站点,目标是项目管理,您很可能在那里得到一些有用的建议/支持--但无论如何,也要把问题保留在这里。

继续研究技术人员的问题:

没有版本控制系统。

把一个作为你的首要任务。比起git/mercurial,我更喜欢像SVN (Subversion)这样的集中式系统,因为被盗的笔记本在本地不会有那么多的历史。特别重要的是,如果有什么超级机密(如密码和ssh密钥)被错误地签入的话。但是,这是品味的问题。没有什么比“手动版本控制”中的bug浪费更多的时间了--例如,将代码放回原来的样子。

祝好运

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/72621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档