ICONIX
"ICONIX" is a software development methodology which predates both the Rational Unified Process (RUP), Extreme Programming (XP) and Agile software development. Like RUP, the ICONIX process is UML Use Case driven but more lightweight than RUP. ICONIX provides more requirement and design documentation than XP, and aims to avoid analysis paralysis. The ICONIX Process uses only four UML based diagrams in a four-step process that turns use case text into working code. A principal distinction of ICONIX is its use of robustness analysis, a method for bridging the gap between analysis and design. Robustness analysis reduces the ambiguity  in use case descriptions, by ensuring that they are written in the context of an accompanying domain model. This process makes the use cases much easier to design, test and estimate. The ICONIX Process is described in the book "Use Case Driven Object Modeling with UML: Theory and Practice". Essentially, the ICONIX Process describes the core "logical" analysis and design modeling process. However, the process can be used without much tailoring on projects that follow different project management. Overview of the ICONIX Process. The ICONIX process is split up into four milestones. At each stage the work for the previous  milestone is reviewed and updated. Milestone 1: Requirements review. Before beginning the ICONIX process there needs to have been some requirements analysis done. From this analysis use cases can be identified, a domain model produced and some prototype GUIs made. Milestone 2: Preliminary Design Review. Once use cases have been identified, text can be written describing how the user and system will interact. A robustness analysis is performed to find potential errors in the use case text, and the domain model is updated accordingly. The use case text is important for identifying how the users will interact with the intended  system. They also provide the developer with something to show the Customer and verify that the results of the requirements analysis were correct Milestone 3: Detailed Design Review. During this stage of the ICONIX process the domain model and use case text from milestone 2 are used to design the system being built. A class diagram is produced from the domain model and the use case text is used to make sequence diagrams. Milestone 4: Deployment. Unit tests are written to verify the system will match up to the use case text, and sequence diagrams. Finally code is written using  the class and sequence diagrams as a guide.