Abstract-Traditionally, software design and development has been following the engineering approach as exemplified by the waterfall model, where specifications have to be fully detailed and agreed upon prior to starting the software construction process. Agile software development is a relatively new approach in which specifications are allowed to evolve even after the beginning of the development process, among other characteristics. Thus, agile methods provide more flexibility than the waterfall model, which is a very useful feature in many projects. To benefit from the advantages provided by agile methods, the adoption rate of these methods in software development projects can be further encouraged if certain practices and techniques in agile methods are improved. In this paper, an analysis is provided of several practices and techniques that are part of agile methods that may hinder their broader acceptance. Further, solutions are proposed to improve such practices and consequently facilitate a wider adoption rate of agile methods in software development.