Little is reported in the literature on the methodology used to develop Intelligent Environments. These are inherently complex systems as they are the product of a multidisciplinary approach. Their main purpose is to help people directly, which leads to these environments to take on enormous responsibilities of safety and well being of the users of the environment. We illustrate in this paper how techniques and tools developed in other areas of Computer Science to increase the reliability of software can be applied at design and modelling stages to guide the engineering and developing team to reduce the potential for future malfunctioning.