sdlc

The **Systems Development Life Cycle (SDLC)**, or //Software Development Life Cycle// in [|systems engineering], [|information systems] and [|software engineering], is the process of creating or altering systems, and the models and [|methodologies] that people use to develop these systems. The concept generally refers to [|computer] or [|information systems]. In software engineering the SDLC concept underpins many kinds of [|software development methodologies]. These methodologies form the framework for planning and controlling the creation of an information system[|[][|1][|]]: the [|software development process]

Project management has been practiced since early civilization. Until 1900 civil engineering projects were generally managed by creative [|architects] and [|engineers] themselves, among those for example [|Vitruvius] (1st century BC), [|Christopher Wren] (1632–1723), [|Thomas Telford] (1757–1834) and [|Isambard Kingdom Brunel] (1806–1859).[|[][|6][|]] It was in the 1950s that organizations started to systematically apply project management tools and techniques to complex engineering projects.[|[][|7][|]] [|Henry Gantt] (1861-1919), the father of planning and control techniques. As a discipline, Project Management developed from several fields of application including civil [|construction], [|engineering], and heavy [|defense] activity.[|[][|8][|]] Two forefathers of project management are [|Henry Gantt], called the father of planning and control techniques,[|[][|9][|]] who is famous for his use of the [|Gantt chart] as a project management tool; and [|Henri Fayol] for his creation of the 5 management functions which form the foundation of the body of knowledge associated with project and program management.[|[][|10][|]] Both Gantt and Fayol were students of [|Frederick Winslow Taylor]'s theories of [|scientific management]. His work is the forerunner to modern project management tools including [|work breakdown structure] (WBS) and [|resource allocation]. The 1950s marked the beginning of the modern Project Management era where core engineering fields come together working as one. Project management became recognized as a distinct discipline arising from the management discipline with engineering model.[|[][|11][|]] In the United States, prior to the 1950s, projects were managed on an //ad hoc// basis using mostly [|Gantt Charts], and informal techniques and tools. At that time, two mathematical project-scheduling models were developed. The "[|Critical Path Method]" (CPM) was developed as a joint venture between [|DuPont Corporation] and [|Remington Rand Corporation] for managing plant maintenance projects. And the "[|Program Evaluation and Review Technique]" or PERT, was developed by [|Booz Allen Hamilton] as part of the [|United States Navy]'s (in conjunction with the [|Lockheed Corporation]) [|Polaris missile] submarine program;[|[][|12][|]] These mathematical techniques quickly spread into many private enterprises. [|PERT network chart] for a seven-month project with five milestones At the same time, as project-scheduling models were being developed, technology for project cost estimating, cost management, and engineering economics was evolving, with pioneering work by Hans Lang and others. In 1956, the American Association of Cost Engineers (now [|AACE International]; the Association for the Advancement of [|Cost Engineering]) was formed by early practitioners of project management and the associated specialties of planning and scheduling, cost estimating, and cost/schedule control (project control). AACE continued its pioneering work and in 2006 released the first integrated process for portfolio, program and project management ([|Total Cost Management] Framework). The [|International Project Management Association] (IPMA) was founded in Europe in 1967,[|[][|13][|]] as a federation of several national project management associations. IPMA maintains its federal structure today and now includes member associations on every continent except Antarctica. IPMA offers a Four Level Certification program based on the IPMA Competence Baseline (ICB).[|[][|14][|]] The ICB covers technical competences, contextual competences, and behavioral competences. In 1969, the [|Project Management Institute] (PMI) was formed in the USA.[|[][|15][|]] PMI publishes //[|A Guide to the Project Management Body of Knowledge]// (PMBOK Guide), which describes project management practices that are common to "most projects, most of the time." PMI also offers multiple certifications. The [|American Academy of Project Management] (AAPM) International Board of Standards 1996 was the first to institute post-graduate certifications such as the MPM Master Project Manager, PME Project Management E-Business, CEC Certified-Ecommerce Consultant, and CIPM Certified International Project Manager. The AAPM also issues the post-graduate standards body of knowledge for executives.

There are a number of approaches to managing project activities including [|agile], interactive, incremental, and phased approaches.
==Regardless of the methodology employed, careful consideration must be given to the overall project objectives, timeline, and cost, as well as the roles and responsibilities of all participants and stakeholders.==

[[|edit]] The traditional approach
==A traditional phased approach identifies a sequence of steps to be completed. In the "traditional approach", we can distinguish 5 components of a project (4 stages plus control) in the development of a project:== == Typical development phases of an engineering project == ==Not all the projects will visit every stage as projects can be terminated before they reach completion. Some projects do not follow a structured planning and/or monitoring stages. Some projects will go through steps 2, 3 and 4 multiple times.== ==Many industries use variations on these project stages. For example, when working on a brick and mortar design and construction, projects will typically progress through stages like Pre-Planning, Conceptual Design, Schematic Design, Design Development, Construction Drawings (or Contract Documents), and Construction Administration. In [|software development], this approach is often known as the [|waterfall model],[|[][|16][|]] i.e., one series of tasks after another in linear sequence. In software development many organizations have adapted the [|Rational Unified Process] (RUP) to fit this methodology, although RUP does not require or explicitly recommend this practice. Waterfall development works well for small, well defined projects, but often fails in larger projects of undefined and ambiguous nature. The [|Cone of Uncertainty] explains some of this as the planning made on the initial phase of the project suffers from a high degree of uncertainty. This becomes especially true as software development is often the realization of a new or novel product. In projects where [|requirements] have not been finalized and can change, [|requirements management] is used to develop an accurate and complete definition of the behavior of software that can serve as the basis for software development.[|[][|17][|]] While the terms may differ from industry to industry, the actual stages typically follow common steps to [|problem solving] — "defining the problem, weighing options, choosing a path, implementation and evaluation."==
 * Project initiation stage;
 * [|Project planning] and design stage;
 * Project execution and construction stage;
 * Project monitoring and controlling systems;
 * Project completion.

[[|edit]] Critical Chain Project Management
==[|Critical Chain Project Management] (CCPM) is a method of planning and managing projects that puts more emphasis on the resources (physical and human) needed in order to execute project tasks. The most complex part involves engineering professionals of different fields (Civil, Electrical, Mechanical etc) working together. It is an application of the [|Theory of Constraints] (TOC) to projects. The goal is to increase the rate of throughput (or completion rates) of projects in an organization. Applying the first three of the five focusing steps of TOC, the system constraint for all projects is identified as are the resources. To exploit the constraint, tasks on the critical chain are given priority over all other activities. Finally, projects are planned and managed to ensure that the resources are ready when the critical chain tasks must start, subordinating all other resources to the critical chain.== ==Regardless of project type, the project plan should undergo [|Resource Leveling], and the longest sequence of resource-constrained tasks should be identified as the critical chain. In multi-project environments, resource leveling should be performed across projects. However, it is often enough to identify (or simply select) a single "drum" resource—a resource that acts as a constraint across projects—and stagger projects based on the availability of that single resource.== == Planning and [|feedback] loops in [|Extreme Programming] (XP) with the time frames of the multiple loops. ==

[[|edit]] Extreme Project Management
==In critical studies of Project Management, it has been noted that several of these fundamentally [|PERT]-based models are not well suited for the multi-project company environment of today. [//[|citation needed]//] Most of them are aimed at very large-scale, one-time, non-routine projects, and nowadays all kinds of management are expressed in terms of projects.== ==Using complex models for "projects" (or rather "tasks") spanning a few weeks has been proven to cause unnecessary costs and low maneuverability in several cases [//[|citation needed]//]. Instead, project management experts try to identify different "lightweight" models, such as [|Agile Project Management] methods including [|Extreme Programming] for software development and [|Scrum] techniques.== ==The generalization of Extreme Programming to other kinds of projects is [|extreme project management], which may be used in combination with the [|process modeling] and management principles of [|human interaction management].==

[[|edit]] Event chain methodology
==[|Event chain methodology] is another method that complements [|critical path method] and [|critical chain] project management methodologies.== ==Event chain methodology is an uncertainty modeling and schedule network analysis technique that is focused on identifying and managing events and event chains that affect project schedules. Event chain methodology helps to mitigate the negative impact of psychological heuristics and biases, as well as to allow for easy modeling of uncertainties in the project schedules. Event chain methodology is based on the following principles.==
 * **Probabilistic moment of risk:** An activity (task) in most real life processes is not a continuous uniform process. Tasks are affected by external events, which can occur at some point in the middle of the task.
 * **Event chains:** Events can cause other events, which will create event chains. These event chains can significantly affect the course of the project. Quantitative analysis is used to determine a cumulative effect of these event chains on the project schedule.
 * **Critical events or event chains:** The single events or the event chains that have the most potential to affect the projects are the “critical events” or “critical chains of events.” They can be determined by the analysis.
 * **Project tracking with events:** Even if a project is partially completed and data about the project duration, cost, and events occurred is available, it is still possible to refine information about future potential events and helps to forecast future project performance.
 * **Event chain visualization:** Events and event chains can be visualized using [|event chain diagrams] on a [|Gantt chart].

[[|edit]] PRINCE2
== The [|PRINCE2] process model == ==[|PRINCE2] is a structured approach to project management, released in 1996 as a generic project management method.[|[][|18][|]] It combined the original PROMPT methodology (which evolved into the PRINCE methodology) with IBM's MITP (managing the implementation of the total project) methodology. PRINCE2 provides a method for managing projects within a clearly defined framework. PRINCE2 describes procedures to coordinate people and activities in a project, how to design and supervise the project, and what to do if the project has to be adjusted if it does not develop as planned.== ==In the method, each process is specified with its key inputs and outputs and with specific goals and activities to be carried out. This allows for automatic control of any deviations from the plan. Divided into manageable stages, the method enables an efficient control of resources. On the basis of close monitoring, the project can be carried out in a controlled and organized way.== ==PRINCE2 provides a common language for all participants in the project. The various management roles and responsibilities involved in a project are fully described and are adaptable to suit the complexity of the project and skills of the organization.==

[[|edit]] Process-based management
== [|Capability Maturity Model], predecessor of the [|CMMI] Model == ==Also furthering the concept of project control is the incorporation of [|process-based management]. This area has been driven by the use of Maturity models such as the [|CMMI] (Capability Maturity Model Integration) and [|ISO/IEC15504] (SPICE - Software Process Improvement and Capability Estimation).== ==[|Agile Project Management] approaches based on the principles of [|human interaction management] are founded on a process view of human collaboration. This contrasts sharply with the traditional approach. In the [|agile software development] or [|flexible product development] approach, the project is seen as a series of relatively small tasks conceived and executed as the situation demands in an adaptive manner, rather than as a completely pre-planned process.==

Traditionally, project management includes a number of elements: four to five process groups, and a control system. Regardless of the methodology or terminology used, the same basic project management processes will be used. The project development stages[|[][|19][|]] Major process groups generally include: In project environments with a significant exploratory element (e.g., [|Research and development]), these stages may be supplemented with decision points (go/no go decisions) at which the project's continuation is debated and decided. An example is the [|Stage-Gate model].
 * Initiation
 * Planning or development
 * Production or execution
 * Monitoring and controlling
 * Closing

[[|edit]] Initiation
Initiating Process Group Processes[|[][|19][|]] The initiation processes determine the nature and scope of the project. If this stage is not performed well, it is unlikely that the project will be successful in meeting the business’ needs. The key project controls needed here are an understanding of the business environment and making sure that all necessary controls are incorporated into the project. Any deficiencies should be reported and a recommendation should be made to fix them. The initiation stage should include a plan that encompasses the following areas:
 * Analyzing the [|business] [|needs/requirements] in measurable goals
 * Reviewing of the current [|operations]
 * [|Financial analysis] of the costs and benefits including a [|budget]
 * [|Stakeholder analysis], including users, and support personnel for the project
 * [|Project charter] including costs, tasks, [|deliverables], and schedule

[[|edit]] Planning and design
Planning Process Group Activities[|[][|19][|]] After the initiation stage, the project is planned to an appropriate level of detail. The main purpose is to plan time, cost and resources adequately to estimate the work needed and to effectively manage risk during project execution. As with the Initiation process group, a failure to adequately plan greatly reduces the project's chances of successfully accomplishing its goals. Project planning generally consists of Additional processes, such as planning for communications and for scope management, identifying roles and responsibilities, determining what to purchase for the project and holding a kick-off meeting are also generally advisable. For [|new product development] projects, conceptual design of the operation of the final product may be performed concurrent with the project planning activities, and may help to inform the planning team when identifying deliverables and planning activities.
 * determining how to plan (e.g. by level of detail or rolling wave);
 * developing the scope statement;
 * selecting the planning team;
 * identifying deliverables and creating the work breakdown structure;
 * identifying the activities needed to complete those deliverables and networking the activities in their logical sequence;
 * estimating the resource requirements for the activities;
 * estimating time and cost for activities;
 * developing the schedule;
 * developing the budget;
 * risk planning;
 * gaining formal approval to begin work.

[[|edit]] Executing
Executing Process Group Processes[|[][|19][|]] Executing consists of the processes used to complete the work defined in the project management plan to accomplish the project's requirements. Execution process involves coordinating people and resources, as well as integrating and performing the activities of the project in accordance with the project management plan. The deliverables are produced as outputs from the processes performed as defined in the project management plan.

[[|edit]] Monitoring and controlling
Monitoring and controlling consists of those processes performed to observe project execution so that potential problems can be identified in a timely manner and corrective action can be taken, when necessary, to control the execution of the project. The key benefit is that project performance is observed and measured regularly to identify variances from the project management plan. Monitoring and Controlling Process Group Processes[|[][|19][|]] Monitoring and Controlling includes: In multi-phase projects, the monitoring and controlling process also provides feedback between project phases, in order to implement corrective or preventive actions to bring the project into compliance with the project management plan. Project Maintenance is an ongoing process, and it includes: Monitoring and Controlling cycle In this stage, [|auditors] should pay attention to how effectively and quickly user problems are resolved. Over the course of any construction project, the work scope may change. Change is a normal and expected part of the construction process. Changes can be the result of necessary design modifications, differing site conditions, material availability, contractor-requested changes, value engineering and impacts from third parties, to name a few. Beyond executing the change in the field, the change normally needs to be documented to show what was actually constructed. This is referred to as Change Management. Hence, the owner usually requires a final record to show all changes or, more specifically, any change that modifies the tangible portions of the finished work. The record is made on the contract documents – usually, but not necessarily limited to, the design drawings. The end product of this effort is what the industry terms as-built drawings, or more simply, “as built.” The requirement for providing them is a norm in construction contracts. When changes are introduced to the project, the viability of the project has to be re-assessed. It is important not to lose sight of the initial goals and targets of the projects. When the changes accumulate, the forecasted result may not justify the original proposed investment in the project.
 * Measuring the ongoing project activities ('where we are');
 * Monitoring the project variables (cost, effort, scope, etc.) against the project management plan and the project performance baseline (//where we should be//);
 * Identify corrective actions to address issues and risks properly (//How can we get on track again//);
 * Influencing the factors that could circumvent integrated change control so only approved changes are implemented
 * Continuing support of end users
 * Correction of errors
 * Updates of the [|software] over time

[[|edit]] Closing
Closing Process Group Processes.[|[][|19][|]] Closing includes the formal acceptance of the project and the ending thereof. Administrative activities include the archiving of the files and documenting lessons learned. This phase consists of:
 * **Project close**: Finalize all activities across all of the process groups to formally close the project or a project phase
 * **Contract closure**: Complete and settle each contract (including the resolution of any open items) and close each contract applicable to the project or project phase.

[[|edit]] Project control systems
Project control is that element of a project that keeps it on-track, on-time and within budget. Project control begins early in the project with planning and ends late in the project with post-implementation review, having a thorough involvement of each step in the process. Each project should be assessed for the appropriate level of control needed: too much control is too time consuming, too little control is very risky. If project control is not implemented correctly, the cost to the business should be clarified in terms of errors, fixes, and additional [|audit] fees. Control systems are needed for cost, [|risk], quality, communication, time, change, procurement, and human resources. In addition, auditors should consider how important the projects are to the [|financial statements], how reliant the stakeholders are on controls, and how many controls exist. Auditors should review the development process and procedures for how they are implemented. The process of development and the quality of the final product may also be assessed if needed or requested. A business may want the auditing firm to be involved throughout the process to catch problems earlier on so that they can be fixed more easily. An auditor can serve as a controls [|consultant] as part of the development team or as an independent auditor as part of an audit. Businesses sometimes use formal systems development processes. These help assure that systems are developed successfully. A formal process is more effective in creating strong controls, and auditors should review this process to confirm that it is well designed and is followed in practice. A good formal systems development plan outlines:
 * A [|strategy] to align development with the organization’s broader objectives
 * Standards for new systems
 * Project management policies for timing and [|budgeting]
 * Procedures describing the process
 * Evaluation of quality of change

[[|edit]] Project managers
A [|project manager] is a professional in the field of project management. Project managers can have the responsibility of the planning, execution, and closing of any [|project], typically relating to [|construction industry], [|engineering], [|architecture], [|computing], or [|telecommunications]. Many other fields in the production engineering and design engineering and heavy industrial also have project managers. A project manager is the person accountable for accomplishing the stated project objectives. Key project management responsibilities include creating clear and attainable project objectives, building the project requirements, and managing the [|triple constraint] for projects, which is cost, time, and scope. A project manager is often a client representative and has to determine and implement the exact needs of the client, based on knowledge of the firm they are representing. The ability to adapt to the various internal procedures of the contracting party, and to form close links with the nominated representatives, is essential in ensuring that the key issues of cost, time, quality and above all, client satisfaction, can be realized.

[[|edit]] Project Management Triangle
The [|Project Management Triangle]. Like any human undertaking, projects need to be performed and delivered under certain constraints. Traditionally, these constraints have been listed as "scope," "time," and "cost".[|[][|1][|]] These are also referred to as the "[|Project Management Triangle]", where each side represents a constraint. One side of the triangle cannot be changed without affecting the others. A further refinement of the constraints separates product "quality" or "performance" from scope, and turns quality into a fourth constraint. The time constraint refers to the amount of time available to complete a project. The cost constraint refers to the budgeted amount available for the project. The scope constraint refers to what must be done to produce the project's end result. These three constraints are often competing constraints: increased scope typically means increased time and increased cost, a tight time constraint could mean increased costs and reduced scope, and a tight budget could mean increased time and reduced scope. The discipline of Project Management is about providing the tools and techniques that enable the project team (not just the project manager) to organize their work to meet these constraints.

[[|edit]] Work Breakdown Structure
Example of a [|Work breakdown structure] applied in a NASA reporting structure.[|[][|20][|]] The [|Work Breakdown Structure] (WBS) is a [|tree structure], which shows a subdivision of effort required to achieve an objective; for example a program, [|project], and [|contract]. The WBS may be [|hardware], [|product], [|service], or [|process] oriented. A WBS can be developed by starting with the end objective and successively subdividing it into manageable components in terms of size, duration, and responsibility (e.g., systems, subsystems, components, tasks, subtasks, and work packages), which include all steps necessary to achieve the objective.[|[][|17][|]] The Work Breakdown Structure provides a common framework for the natural development of the overall planning and control of a contract and is the basis for dividing work into definable increments from which the statement of work can be developed and technical, schedule, cost, and labor hour reporting can be established.[|[][|20][|]]

[[|edit]] Project Management Framework
Example of an IT Project Management Framework.[|[][|19][|]] The Program (Investment) Life Cycle integrates the project management and [|system development life cycles] with the activities directly associated with system deployment and operation. By design, system operation management and related activities occur after the project is complete and are not documented within this guide.[|[][|19][|]] For example, see figure, in the US [|United States Department of Veterans Affairs] (VA) the program management life cycle is depicted and describe in the overall VA IT Project Management Framework to address the integration of OMB Exhibit 300 project (investment) management activities and the overall project budgeting process. The VA IT Project Management Framework diagram illustrates Milestone 4 which occurs following the deployment of a system and the closing of the project. The project closing phase activities at the VA continues through system deployment and into system operation for the purpose of illustrating and describing the system activities the VA considers part of the project. The figure illustrates the actions and associated artifacts of the VA IT Project and Program Management process.[|[][|19][|]]

International standards There have been several attempts to develop Project Management [|standards], such as:
 * [|Capability Maturity Model] from the [|Software Engineering Institute].
 * GAPPS, Global Alliance for Project Performance Standards- an open source standard describing COMPETENCIES for project and program managers.
 * [|A Guide to the Project Management Body of Knowledge]
 * [|HERMES method], Swiss general project management method, selected for use in Luxembourg and international organizations.
 * The ISO standards [|ISO 9000], a family of standards for quality management systems, and the [|ISO 10006]:2003, for Quality management systems and guidelines for quality management in projects.
 * [|PRINCE2], PRojects IN Controlled Environments.
 * [|Team Software Process] (TSP) from the [|Software Engineering Institute].
 * [|Total Cost Management] Framework, AACE International's Methodology for Integrated Portfolio, Program and Project Management)
 * [|V-Model], an original systems development method.
 * The [|Logical framework approach], which is popular in international development organizations.
 * [|IAPPM], The International Association of Project & Program Management, guide to Project Auditing and Rescuing Troubled Projects.

[[|edit]] Project portfolio management
An increasing number of organizations are using, what is referred to as, [|project portfolio management] (PPM) as a means of selecting the right projects and then using project management techniques[|[][|21][|]] as the means for delivering the outcomes in the form of benefits to the performing private or not-for-profit organization. Project management methods are used 'to do projects right' and the methods used in PPM are used 'to do the right projects'. In effect PPM is becoming the method of choice for selection and prioritising among resource inter-related projects in many industries and sectors. [//[|citation needed]//]

--::** with best wishis khalidzuhd**::-- http://khalidzuhd-mis.wikispaces.com