 |  | Feature | Description | Benefit |
|---|
| Controlled iterative development | Smaller increments of change can be edited, built, tested and deployed | Reduces risk, improves time-to-market | | Object-oriented technology | Environment supports notion of encapsulating information, and restricting access and manipulation to only meaningful operations | Simplifies communication about real-world constructs
Improves reliability of accessing and changing data | | Architecture-based design | Includes facilities for creating software structures (subsystems) larger than that provided by the programming language itself | Fosters large-scale software reuse
Creates software that is adaptable in response to changing operational conditions | | Iterative testing throughout the development lifecycle | Testing tools provided directly within development environment allow for frequent developer-led testing | Bugs are found sooner, corrected more cost-efficiently | | Integrated development environment | All tools needed for the developer are organized as integral parts of the development environment | Less switching between multiple disparate tools | | Integrated configuration management | CM commands and facilities built into development environment | Manages parallel development simply and without high overhead
CM system more transparent to developers, less intrusive to work activities | | Architectural control | Manages dependencies between source files at a level higher than that provided by the programming language itself | Maintains architectural integrity of application amidst changes
New features are introduced with less side-effects |
  |  |
|