Embracing Change with Extreme Programming