This article addresses issues in developing cognitive architectures--generic computational models of cognition. Cognitive architectures are believed to be essential in advancing understanding of the mind, and therefore, developing cognitive architectures is an extremely important enterprise in cognitive science. The article proposes a set of essential desiderata for developing cognitive architectures. It then moves on to discuss in detail some of these desiderata and their associated concepts and ideas relevant to developing better cognitive architectures. It argues for the importance of taking into full consideration these desiderata in developing future architectures that are more cognitively and ecologically realistic. A brief and preliminary evaluation of existing cognitive architectures is attempted on the basis of these ideas.