所以...
我教授软件工程中的正式方法.我还教授"敏捷方法论".大多数人似乎认为这是矛盾的.我认为这很有意义......我也在一家公司工作,我们需要在那里完成任务:)虽然我可以在日常的基础上应用我所获得的技能点"我的规格",同事们通常会逃避"正式"这个词.
我曾经认为这是由于我们学习如何编程的内在方式:我们通常会找到一个有效的解决方案而不是理解问题.然后我认为这是因为正式社区中的大多数人不是工程师,而是数学家或计算机科学家.如今,我想知道是否只是因为正式方法社区隐藏在某种"混淆"法律背后,使用所有可用的UNICODE符号,积极开发粗鲁,不实用的工具,并在标准面前笑.
是的,我一直在从"责备他们"转变为"责备我们"的观点;-)
所以,我的问题是:你在公司使用任何形式的方法吗?你介绍过它们,还是它们的先决条件?你用什么技巧来消除人们的恐惧中的数学迷雾,并煽动他们使用正式的方法?您认为目前的工具缺乏更普遍的用途?
让人们购买任何方法或方法的关键是向他们展示如何解决他们遇到的问题.如果他们能够看到它会让他们的生活更美好,那么他们有更大的机会让他们采用这些技术.
如果你不能向他们展示,也许你想采用基于哲学而非实用性的方法.除非其他人分享你的哲学,否则你不会去任何地方.也许你不应该.
几十年来,有许多方法.较新的那些总能解决旧的缺点,但项目仍然陷入困境并失败.为什么?因为提出新方法的摇滚明星是摇滚明星,并且已经制定了一种新的方法,因为他们了解潜在的问题以及如何应用它们.那些追求的人倾向于盲目地遵循食谱,而且效果不是很好.
因此,我认为最好的方法是教授潜在的问题,然后展示各种方法如何尝试处理这些问题.公司,项目和团队的差异如此之大,以至于没有一种方法可以成功应用于所有组合.学习选择合适的工具并将其应用得很好是至关重要的.