软件开发过程中5个常见的问题是什么?_ide

What are 5 common solutions to software development problems?

  • solid requirements - clear, complete, detailed, cohesive, attainable, testable requirements that are agreed to by all players. Use prototypes to help nail down requirements. In 'agile'-type environments, continuous close coordination with customers/end-users is necessary.
  • realistic schedules - allow adequate time for planning, design, testing, bug fixing, re-testing, changes, and documentation; personnel should be able to complete the project without burning out.
  • adequate testing - start testing early on, re-test after fixes or changes, plan for adequate time for testing and bug-fixing. 'Early' testing ideally includes unit testing by developers and built-in testing and diagnostic capabilities.
  • stick to initial requirements as much as possible - be prepared to defend against excessive changes and additions once development has begun, and be prepared to explain consequences. If changes are necessary, they should be adequately reflected in related schedule changes. If possible, work closely with customers/end-users to manage expectations. This will provide them a higher comfort level with their requirements decisions and minimize excessive changes later on.
  • communication - require walkthroughs and inspections when appropriate; make extensive use of group communication tools - groupware, wiki's, bug-tracking tools and change management tools, intranet capabilities, etc.; insure that information/documentation is available and up-to-date - preferably electronic, not paper; promote teamwork and cooperation; use protoypes and/or continuous communication with end-users if possible to clarify expectations.
  • 1、详细需求-清晰、完整、详尽、紧密、可实现、可测试性的需求是所有相关人员都要的。用原型来表示用户的需求。在敏捷开发方式中,有必要不断的与客户/用户进行密切的协调;
    2、明确时间表-有充足的时间去做计划、设计、测试、bug修复、复测、变更和文档;员工能够按时完成项目;
    3、充分测试-尽早测试、修复问题后或变更后都需要复测、给测试和bug修复留出充分的时间。早期的测试包括开发人员进行的单元测试、内部测试和诊断;
    4、尽可能坚持原来的需求-编码开始后防止过多的改变和添加功能,准备给出合理解释。假如改变是必要的,它们将影响制定的进度表。如果可能,尽可能与客户/用户一起编制预期结果,这将最大可能满足他们的需求、减少后期的修改。
    5、交流-需要进行相应的走查和审查;使用系统的团队沟通的工具-组件、wiki's、bug跟踪工具和需求变更工具,内部企业网等;确定信息/文档是可用的、最新的-尤其是非纸面的电子文档。促进团队合作;如果有可能,使用原型和/或不断的与最终用户进行交流来明确用户的需要。