首页> 外文会议>Annual Pacific Northwest Software Quality Conference; 20041012-13; Portland,OR(US) >Tools May Come, and Tools May Go...But Some Things Never Change
【24h】

Tools May Come, and Tools May Go...But Some Things Never Change

机译:工具可能会出现,而工具可能会出现...但是某些事情永远不会改变

获取原文
获取原文并翻译 | 示例

摘要

Tools change nearly as fast as requirements in our business. Rather than focus on a set of tools, we are better served by learning software engineering techniques and principles that never change. Tools then become secondary concerns, with each new tool being easier to learn than the last. This paper presents 11 lessons learned over the years, both from developing software and from other disciplines. Starting with people over tools, the lessons include the critical nature of design, the need to analyze designs before code exists, the wisdom of learning from your mistakes, the need for performance and experience, the efficacy of peer reviews and inspections, the notion that complexity can't be designed but must evolve from simplicity, and the need to engineer everything associated with the product and project. In today's environment, tools change nearly as fast as requirements. If you stick with one set of tools over the course of a large project, you find yourself one or even two generations behind when it ends. If you use a tool long enough to develop some expertise with it, you are so far behind, you can't catch up, or so it seems. If you haven't worked on a variety of projects, or worked in a variety of problem domains, or used a variety of tools and techniques, you may not have noticed there are a number of constants in software development. There are core principles and practices of software engineering that do not change as we move from tool to tool. If we learn these, we can excel at developing software and tools will become secondary concerns. Learning a new programming language is easier when you realize that all languages provide the same basic structures, but wrap them in different syntax. Rather than worry about being made obsolete, we should learn to excel at developing software no matter what kind of tools we use. We should master one or more problem domains, and learn ways to quickly master new problem domains. The ability to learn a new business is a highly marketable skill. The sections that follow describe many of the core principles I have learned over the last 24 years. While there are many others, I have found these 11 to be key to the success of many projects, and the causes of failure for many, many more. Further, these are not new; they come out of lessons learned a long time ago by some, and not learned at all by many. The principles are listed roughly in order of importance, but don't attach too much significance to the order; they are all important.
机译:工具的变化几乎与我们业务的需求一样快。通过学习永不改变的软件工程技术和原理,我们可以更好地为我们服务,而不是专注于一组工具。然后,工具成为次要问题,每个新工具都比上一个更易于学习。本文介绍了11年中从开发软件和其他学科中吸取的教训。从人员开始,而不是工具,课程包括设计的关键性质,在代码存在之前分析设计的需求,从错误中学习的智慧,对性能和经验的需求,同行评审和检查的有效性,复杂性无法设计,但必须从简单性以及对与产品和项目相关的所有事物进行工程设计的需求中发展而来。在当今的环境中,工具的更改几乎与需求一样快。如果您在一个大型项目的过程中坚持使用一组工具,那么结束时您会发现自己落后了一代甚至两代。如果您使用工具的时间足够长,可以利用它发展一些专业知识,那么您将远远落后,无法追赶,或者看起来如此。如果您没有从事过各种项目,也没有从事过各种问题领域,或者没有使用过各种工具和技术,那么您可能没有注意到软件开发中存在许多常数。随着我们从一个工具转移到另一个工具,软件工程的核心原理和实践不会改变。如果我们学习了这些,我们将擅长于开发软件和工具,这将成为次要问题。当您意识到所有语言都提供相同的基本结构,但将它们包装为不同的语法时,学习新的编程语言会变得更加容易。不用担心被淘汰,无论我们使用哪种工具,我们都应该学会精于开发软件。我们应该掌握一个或多个问题领域,并学习快速掌握新问题领域的方法。学习新业务的能力是一种高度可销售的技能。以下各节描述了我在过去24年中学到的许多核心原则。尽管还有许多其他项目,但我发现这11个项目是许多项目成功的关键,也是许多项目失败的原因。此外,这些都不是新鲜事物。他们从一些人很久以前学到的教训中汲取了教训,而从许多人那里根本没有学到过。原则按重要性顺序大致列出,但顺序并不太重要。它们都很重要。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号