Software engineering process and practices paramount the crisis of cost, quality, and schedule constraints in developing software products. This chapter surveys the quality improvement techniques for the two fundamental artifacts of software product development, namely the architecture design and the source code. The information from top level research databases are compiled and an overall picture of quality enhancement in current software trends during the design, development, and maintenance phases are presented. This helps both the software developers and the quality analysts to gain understanding of the current state of the art for quality improvement of design and source code and the usage of various practices. The results indicate the need for more realistic, precise, automated technique for architectural quality analysis. The complex nature of the current software products requires the system developed to be beyond robust and resilient and building intelligent software that is anti-fragile and self-adaptive is favored. Innovative proposals that reduce the cost and time are invited.