Chapter 2&3: Development Life Cycle (SDLC) and Process Groups

Dr. Kawther Saeedi I. Heba Gamal [email protected] [email protected] Agenda

Life Cycle (SDLC) ▫ Software Development stages ▫ SDLC models ▫ Agile project Management • Project Management (PM) Process Groups • PM knowledge Areas • PM Process Groups and Knowledge areas • Chapter Summary

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Software Development Life Cycle (SDLC)

• (SDLC) is a framework for describing the phases involved in developing and maintaining information systems. • The common SDLC phases: ▫ Analysis ▫ Design ▫ Implementation ▫ Testing ▫ Support

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Software Development Life Cycle (SDLC)

Examples of different IT project Phases: ▫ Purchasing New Software:  Requirement analysis, Researching, Analyzing, Purchasing, Installing new hardware and software, support (no development). ▫ Modifications existing software:  Requirement analysis, Design solution , Implementation, testing and support. ▫ Integrate two applications:  Requirement analysis, analysis existing systems, Design solution , Implementation, testing and support. ▫ Outsourcing  Requirement analysis, Outsourcing contract, Outsourced Implementation, Outsourced testing and Outsourced support. Communication at all project phases.

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Software Development projects

▫ Predictive life cycle: the scope of the project can be clearly articulated and the schedule and cost can be predicted ▫ Adaptive Software Development (ASD) life cycle: requirements cannot be clearly expressed early in the life cycle, projects are mission driven and component based, using time-based cycles to meet target dates

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Example of SDLC models

• Incremental build model • Prototyping model • RAD model • Agile software development

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas waterfall life cycle model

Well-defined, linear stages of systems development and support

Built

FIGURE 2-5 Waterfall life cycle models

SDLC PM Process Groups PM Process Groups and Knowledge areas Spiral Model

Shows that software is developed using an iterative or spiral approach rather than a linear approach

FIGURE 2-5 Spiral life cycle models SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Incremental build model

Provides for progressive development of operational software

Design Implementation Testing Built v. 01

Analysis Design Implementation Testing Built v.02 Support

Design Implementation Testing Built v.03

FIGURE 1 Incremental life cycle models

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Prototyping Model

Used for developing software prototypes to clarify user requirements for operational software

prototype Implementation

Customer Customer satisfied Design evaluation

Review & updates

Analysis Implementation Testing Support

FIGURE 2 Prototyping life cycle models

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Rapid Application Development Model

Software is evolve through working prototype. It requires heavy user involvement and helps produce systems quickly without sacrificing quality.

Team 1 Team 2 Team 3 Analysis Analysis Analysis

Design Design Design

Implementation Implementation Implementation

Testing Testing Testing

Function 1 Function 4 Function 3

FIGURE 3 RAD life cycle models

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Agile software development model

• Agile techniques have an iterative, short-cycle focus on delivery of working software. • Requirements and solutions evolve through collaboration.

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Agile Project Management features

• Requirements are unknown or change quickly. • Agile approach sets time and cost goals but leaves scope goals flexible. • Project sponsors can prioritize and reprioritize the work need to be done

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Scrum framework Scrum is the leading agile development method for completing projects with a complex, innovative scope of work.

FIGURE 2-6 Scrum framework SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Process Groups

• A process is series of actions directed towards a particular results.

• Project management can be viewed as a number of interlinked processes .

Monitoring and controlling

Initiating planning executing closing

Figure PM process group

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas PM Process Groups

• Initiating Process includes actions to define and authorize new projects and project phases. ▫ A phase is a distinct stage in project development. • Planning Process include devising and maintaining a workable scheme to ensure the project meet its scope, time, and cost goal as well as organization needs. • Executing Process include coordinating people and other resources to carry out the project plans and produce deliverables of the project or phases. ▫ A deliverable is a product or service produced or provided as part of a project.

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas PM Process Groups (cont.2)

• Monitoring and Controlling Process measure progress towards achieving project goals, monitor from deviation from plans, and take corrective action to match the progress with plans and customer expectations. • Closing Process include formalizing acceptance of the project or phase and bring it to an orderly end .

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Time spent on process group

FIGURE 3-1 Percentage of time spent on each process group

Closing 3

Monitoring & controlling 5

Executing 69

Planing 21

Initiating 2

0 10 20 30 40 50 60 70 80

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Making a hot cup of tea!

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Knowledge Areas

Knowledge Areas describe the key common competencies that project managers must develop at any project. • Project integration management is an overarching function that coordinates the work of all other knowledge areas. It affects and is affected by all of the other knowledge areas • Project scope management involves working with all appropriate stakeholders to define, gain written agreement for, and manage all the work required to complete the project successfully. • Project time management includes estimating how long it will take to complete the work, developing an acceptable project schedule given cost-effective use of available resources, and ensuring timely completion of the project

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Knowledge Areas (cont.2)

• Project cost management consists of preparing and managing the budget for the project. • Project quality management ensures that the project will satisfy the stated or implied needs for which it was undertaken. • Project human resource management is concerned with making effective use of the people involved with the project. • Project communications management involves generating, collecting, disseminating, and storing project information .

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Knowledge Areas (cont.3)

• Project includes identifying, analyzing, and responding to uncertain hazards or damages (risks) related to the project. • Project procurement management involves acquiring or procuring goods and services for a project from outside the performing organization. • Project stakeholder management focuses on identifying project stakeholders, understanding their needs and expectations, and engaging them appropriately throughout the project.

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Knowledge Areas are simply

• Integration (The overall ‘How’) • Scope (What is to be produced?) • Time (By when?) • Cost (What is the price?) • Quality (Does it meet stakeholder expectations?) • Human Resources (People) • Communication (Who should know what?) • Risk (What may go wrong?) • Procurement (Who else can do what my team cannot?) • Stakeholder (Who are involved?)

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Process Groups and Knowledge Area Mapping

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Process Groups and Knowledge Area Mapping

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Process Groups and Knowledge Area Mapping

SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas Summary • SDLC phases include analysis, design, implementation testing and support • Examples of SDLC models include Waterfall model, Spiral model, Incremental build model, Prototyping model, RAD model, Agile software development • Brief on Agile project management • Project managers need to take a systems approach when working on projects • The five project management process groups are initiating, planning, executing, monitoring and controlling, and closing • You can map the main activities of each process group to the 9 knowledge areas. SDLC PM Process Groups Knowledge areas PM Process Groups and Knowledge areas