a) Describe refactoring in XP practices. Why refactoring is important for making high quality software systems using agile approach?
b) Can agile approach being used in developing conventional (non-software) engineering systems and products? Explain your answer.