Eiffel's Single Product Software Development Model It is important to understand that developing software with Eiffel is fundamentally different from developing using any other method and toolset. This is because Eiffel supports a single product development model. This means that throughout all stages of development, there is only one product ... and there is one notation in which this product is expressed. This means you never have to switch notations or modeling mechanisms during the course of a project. And, of course, it also means that all your efforts go directly into what will eventually become your final product -- a running software system or a library of software components. Of course, as you work toward a finished software system or library, your role changes according to your current activity. If Eiffel only provided a one-dimensional view of your software product like most other methods and languages do, then this single product model really would not be workable. But the elegant design of Eiffel comes to the rescue. It allows you to express and record the products of all phases of development in a single product, plus it empowers EiffelStudio to provide you with many different views of your single product. You choose to see your software using a view that is appropriate to the lifecycle phase and your current role.