software architect roles and responsibilities pdf