Interview Questions

What are the software development best practices suggested by Rational Suite?

Rational Robot FAQ


(Continued from previous question...)

What are the software development best practices suggested by Rational Suite?

  • Develop software iteratively. Iterative development means analyzing, designing, and implementing incremental subsets of the system over the project lifecycle. The project team plans, develops, and tests an identified subset of system functionality for each iteration. The team develops the next increment, integrates it with the first iteration, and so on. Each iteration results in either an internal or external release and moves you closer to the goal of delivering a product that meets its requirements.
  • Manage requirements. A requirement is one criterion for a project's success. Your project requirements answer questions like "What do customers want?" and "What new features must we absolutely ship in the next version?" Most software development teams work with requirements. On smaller, less formal projects, requirements might be kept in text files or e-mail messages. Other projects can use more formal ways of recording and maintaining requirements.
  • Use component-based architectures. Software architecture is the fundamental framework on which you construct a software project. When you define an architecture, you design a system's structural elements and their behavior, and you decide how these elements fit into progressively larger subsystems.
  • Model software visually. Visual modeling helps you manage software design complexity. At its simplest level, visual modeling means creating a graphical blueprint of your system's architecture. Visual models can also help you detect inconsistencies between requirements, designs, and implementations. They help you evaluate your system's architecture, ensuring sound design.
  • Continuously verify quality. Verifying software quality means testing what has been built against defined requirements. Testing includes verifying that the system delivers required functionality and verifying reliability and its ability to perform under load.
  • Manage change. It is important to manage change in a trackable, repeatable, and predictable way. Change management includes facilitating parallel development, tracking and handling enhancement and change requests, defining repeatable development processes, and reliably reproducing software builds.

(Continued on next question...)

Other Interview Questions