It consist of distinct phases (or stages) containing activities with the intent of better planning and management. It is often considered a subset of the systems development life cycle and include the pre-definition of specific deliverables. It may involve compromising or going beyond what is required by the client, a software development project may stray into less technical concerns such as human resources, risk management, intellectual property, budgeting, crisis management.