프로젝트 개발방식과 생애주기의 5가지 유형 알기

Understanding project development methods and life cycles

Let’s learn about project development methods and life cycles. Development methods and life cycle performance areas are important activities for establishing project development strategies before establishing a project plan.

Project Development Methodology and Life Cycle Overview

A project performance domain is a group of related activities that are important for effective project performance delivery. Project performance domains are integrated and interact with other performance domains to achieve the intended results. There are eight project performance domains. The eight project performance domains are stakeholders, team, development method and life cycle, planning, project work, delivery, measurement, and uncertainty.[프로젝트 성과 영역 8가지]

Category Content Area 1 Stakeholder People 2 Team People 3 Development Approach and Life Cycle Process 4 Planning Process 5 Project Work Process 6 Delivery Process 7 Measurement Process 8 Uncertainty Business Environment

In a project, it is important to effectively execute the performance area to achieve various results. It is important to apply a development method that matches the characteristics of the project deliverables, and the project life cycle consists of stages that connect the values ​​of the business and stakeholders from the start of the project to the end of the project. When applying a development method, you must consider the characteristics of the product, service, and system that you have. In other words, you can apply a development method that matches the characteristics depending on the characteristics of the deliverables. The project life cycle can be composed of stages that connect the values ​​of the business and stakeholders from the start to the end. The project life cycle refers to a set of stages that a project goes through from the start of the project to the end of the project. The project phase consists of logically related project activities and ends when one or more deliverables are completed. In a system construction project, it is largely carried out in cycles such as analysis and design, implementation, testing, and deployment. And regardless of the project, the project life cycle consists of initiation, configuration and preparation, work execution, and end.[일반적인 프로젝트의 생애주기 단계]

Classification Contents 1. Start 2. Composition and Preparation 3. Execution of Work 4. Completion

In the project life cycle, when a stage ends, a stage review is conducted to determine the project performance and progress, and to make decisions. Stakeholders are involved in the judgment of project performance and progress. At the end of each stage in the project life cycle, the performance and progress of that stage are always evaluated. It is necessary to determine the performance and progress of that stage and decide whether to supplement the insufficient parts, continue the process, or stop the project altogether based on the results of that stage. Various stakeholders are involved in the stage review (phase gate, stage gate). Cadence refers to the activity cycle performed throughout the project. Development Approach refers to the methodology for how to build a system when building a system in a project. It is the method used to produce and evolve products and services during the project life cycle. The development methodology is determined by the type of deliverable, and the type of deliverable and development approach affect the number of deliverables and the cadence.

Understanding the Indian Cadence

Cadence implies rhythm, routine, speed, and cycle. In Cadence, Rhythm is repeated like Routine. Rhythm makes work predictable. For example, when reflecting on the system after system development, you can distribute the updated program on the last Thursday of every month. Routines for these tasks can be created. In a project, Cadence means development speed and release speed. The shorter the cycle that can continuously provide a certain amount of deliverables with a certain level of quality, the more agile the company or organization becomes and the faster the work progresses. Release cycle and development cycle are similar but distinct. Release cycle refers to the cycle of releasing a product or service, and development cycle refers to the period of the iteration cycle. Release cycle is an area that cannot be determined by the project team, but the development cycle can be determined within the project team. Development follows a certain cycle and release follows demand. The smaller the difference between the release cycle and the development cycle, the better. Delivery Cadence refers to the cycle in which the project deliverables are provided to stakeholders. Delivery Cadence refers to the timing and frequency of delivery of project deliverables. Single Delivery is a method of delivering the final deliverable at the end of the project. A typical example is a waterfall project. Single Delivery is a single delivery method, and a single delivery project applies a predictive (waterfall) methodology. Multiple Deliveries is a method of delivering at multiple points throughout the project. Multiple Delivery is called multiple delivery, and the multiple delivery method divides the project work scope and releases it sequentially. In multiple deliveries, a development method that mixes predictive and adaptive is often appropriate. Periodic Deliveries are similar to multiple deliveries, but deliveries are made according to a set delivery schedule. The periodic delivery method has a fixed release cycle. In the periodic delivery method, Agile project methodAdaptive methodology is suitable. Continuous Delivery is a delivery method that uses automation technology to deliver added or improved features to customers immediately. If the regular delivery cycle is reduced to an extreme, it becomes Continuous Integration or Continuous Delivery. There are various advantages to maintaining a release method with the same cycle. The first release is often determined by the schedule and budget according to the development scale, but after the release, if the designated team members in charge of product and service improvements release according to the set cycle, the same cycle release can be maintained. Maintaining a release method with the same cycle increases predictability and allows you to identify sustainable speed and productivity. It also increases the quality level, secures a buffer for schedule compliance, and minimizes student syndrome. Here, student syndrome means working close to the deadline. And the shorter the release cycle, the more inefficient elements can be eliminated.

5 Types of Project Development Methods

Development Approach refers to the means used to produce and evolve the results of product, service, and system development during the project life cycle. In system construction or software development projects, the Development Approach is called a methodology or life cycle model. Development approaches can be divided into five types. Development approaches can be divided into predictive, iterative, incremental and incremental, adaptive, adaptive, and mixed.[개발 방식의 5가지 유형 구분]

Classification Content Example 1 Predictive Waterfall method 2 Iterative Prototype usage method 3 Incremental and Incremental Frequent Delivery method 4 Adaptive Agile method 5 Hybrid Hybrid method

1. Predictive Approach

The Predictive Approach is a useful development method when requirements can be defined, collected, and analyzed at the beginning of a project. The Predictive Approach is called the Waterfall Model. The Predictive Approach is a traditional project progress method in which detailed project requirements are planned and determined in advance at the beginning of a project, and then the project is continuously carried out according to the confirmed plan. In the Predictive Approach, since the plan is confirmed at the beginning, it is important to eliminate uncertainty as much as possible. It is a method of reducing the level of uncertainty at the beginning of a project and planning in advance. The Predictive Approach is a method that must be used in projects that require significant investment costs or projects with a very high level of risk. If there is a huge investment cost or high risk, the Waterfall project methodology must be used. In the Predictive Approach, the project scope, project schedule, project budget, and resources are all confirmed at the beginning of the project life cycle. It is a project methodology used in stable cases where there is little expected change during the project progress. The Predictive Approach is the most traditional project progress method. Most system construction projects all use the Waterfall project methodology. So there are many similar previous project cases. In the predictive method, the reliability of the prediction is very important. It is a desirable methodology to apply when there is a lot of accumulated experience and actual data from similar projects and when the external environment and the requirements of stakeholders are stable. Since the waterfall method has limitations in that the project results and the value provided can only be confirmed when the end point is near, scope changes should be minimized and carefully managed during the project through the change control process. If not, it will be difficult to manage the project schedule, cost, and risk. The predictive approach proceeds in the order of planning, analysis, design, construction, testing, deployment, and termination.[워터폴 방식의 단계]

Classification Contents Step 1: Establishing a plan Step 2: Analysis Step 3: Design Step 4: Construction Step 5: Testing Step 6: Distribution and termination

The waterfall method actually has many advantages. Since you finalize the plan in the beginning, you can reduce uncertainty in the process of establishing a project plan. If you establish a tight plan and take it with you, you can reduce risks that may occur later. The waterfall method is suitable for projects where the requirements are clear and unlikely to change. And it is possible to manage it by focusing on fixed deliverables. And later, you can use the deliverables to evaluate progress and determine whether it is complete. If you have a lot of experience with similar projects, the waterfall method is suitable for projects. If there are similar milestone cases, it becomes easier to proceed with the project. The waterfall method has the biggest limitation. The biggest limitation of the waterfall method project is that the results and value provided by the project can only be confirmed when the end point is near. At the start, design documents such as requirements analysis and screen design documents are derived, but no matter how much agreement is made at the start, when the actual results are visually viewed and tested during the development and testing stages, new requirements are often derived or requirements that require major changes are changed. Even if various interview sessions were conducted and documents from the design stage were used for requirements analysis during the initial analysis and design stage, it is difficult to completely confirm whether the content is implemented as desired with only the documents from the design stage, so new or changed requirements are derived during the testing stage. In order to solve this problem as much as possible, sufficient communication and sharing of requirements analysis, screen design documents, and design outputs with stakeholders and decision makers is necessary. If the waterfall methodology is used, if the project results and provided values ​​are confirmed at the end of the project and the results are satisfactory, there is no problem, but if the results are not satisfactory or development is done in the wrong direction, it can become an irreversible situation. Therefore, in a project with a predictive approach, it is important to limit changes, thoroughly plan and confirm the plan in advance, and receive and faithfully implement the requirements of important stakeholders and decision makers in advance. The reason why changes must be managed and limited during the project process is to complete the project within the schedule. Managing and controlling changes is a control process. Of course, it is also important to actively reflect changes that increase business value, so striking an appropriate balance is key. The predictive approach is a method of establishing a detailed plan at the start and proceeding with the project according to the plan. In the predictive approach, it is important to establish a detailed project plan at the start and to be as certain as possible of necessary information such as requirements and past productivity, and since the process proceeds like a waterfall flowing from top to bottom, the water that has flowed cannot be returned, and establishing a detailed plan with sufficient time to proceed is a factor that determines the success of the project.

2. Iterative Approach

The iterative approach is a method of developing a product through a series of iterative processes. Unlike the predictive approach, the iterative approach does not determine requirements and proceed. The iterative approach is a method of receiving and applying feedback on partially completed or incomplete work in order to improve and modify the work. The iterative approach is suitable when the complexity is high, frequent changes are expected, and the scope is dependent on the perspectives of different stakeholders. The iterative approach is a method of using a prototype. In the iterative approach, prototype is the most important keyword. When analyzing requirements, the requirements are first analyzed only at a high level and not analyzed down to the detailed requirements. Then, a prototype, which can be called a prototype, is created based on the high-level requirements. A prototype is a result that has a certain appearance, similar to a completed system, with a screen, functions, and simple data. It is created by receiving feedback on the requirements while actually looking at it with your own eyes. This is a method of continuously receiving feedback based on a prototype and making modifications. This method of proceeding with a project using a prototype is used to specify requirements, elaborate requirements, and investigate various ideas and options. Through the prototype, feedback is continuously received and modifications are continuously made. This is a method of continuously receiving feedback based on a prototype and making modifications.[반복형 접근 방식의 단계]

Classification Contents 1 High-level requirements analysis 2 Analysis design 3 Prototype production 4 Feedback collection and application (modification and repetition) 5 Development 6 Testing 7 Test-based improvement 8 Product delivery

The iterative approach is to continuously modify the prototype, and as the requirements are continuously specified based on the prototype, the requirements are detailed and various ideas and options are continuously reflected in the prototype. Then, when the requirements are completed based on the actual prototype, the actual development begins based on it, and after the development is completed, implementation testing is performed. Using this method, the changes that will occur during the implementation testing phase can be minimized. In the predictive approach, the progress and completion status were continuously judged based on documented deliverables, but in the iterative approach, since the requirements have been specified and detailed based on the prototype, there are no change requirements when the final results are delivered. The iterative approach is good to use in situations where there is a lot of complexity, frequent changes are expected, and the perspectives of various stakeholders with different scopes for the tasks must be accepted. However, the iterative approach based on the prototype is not used well in reality. This is because the work required to create a prototype is too much. In other words, the development cost also increases, and there is the problem that the schedule cannot be determined. Most projects are conducted under fixed-price contracts, but if an iterative approach is used, it is not possible to proceed under fixed-price contracts.

3. Incremental Approach

The Incremental Approach is a method of producing a final deliverable through a series of iterative processes that gradually add functions within a predefined period of time. The Incremental Approach is a methodology that aims for frequent delivery of small deliverables. In general, the implementation period of a specific deliverable can vary depending on the workload. It is a method that reduces rework and provides value to customers more frequently by applying continuous feedback and feedback. After going through the cycle of analysis, design, implementation, testing, and delivery, which is a development cycle, feedback is received and applied, and then the cycle of analysis, design, implementation, testing, and delivery is repeated again, and feedback on this is received and applied, and this is a method that creates a final deliverable. Since the incremental approach allows continuous feedback, it is a method that allows feedback to be received early and rework to be reduced if progress is made quickly. Also, from the customer’s perspective, it is a way to deliver value more frequently. The incremental approach is good to use when requirements are dynamic, and is applied once in one increment, and in the case of delivery, it is delivered through multiple increments and a split delivery method is applied. The incremental approach is characterized by delivering deliverables in pieces during the project. If the development scale of the project work is small, in case of failure, It can also reduce riskno see.

4. Adaptive Approach

The adaptive approach is useful when the uncertainty of requirements is high and requirements are likely to continue to change throughout the project. In other words, the adaptive approach is a useful methodology when the project volatility is high. The adaptive approach is a method that changes the project plan to adapt to the changing project situation, such as changes in requirements. The representative methodology of the adaptive approach is the Agile methodology. The Agile methodology represents the adaptive approach. The Agile methodology is a method that reflects changes as much as possible. The adaptive approach is a method that combines the characteristics of the iterative approach and the incremental approach because it reflects changes in requirements as much as possible and provides project value more frequently. In a project, in order to respond to unclear and changeable requirements, it is recommended to show the stakeholders a deliverable that is close to reality and verify the requirements. It is important in a project to prevent changes in requirements and minimize side effects caused by changes. In order to minimize various problems caused by changes such as redevelopment in a project, there is a method of dividing development into small scales instead of developing them all at once. Therefore, the adaptive approach uses a method of repeating development in short cycles. Scrum development with a two-week iteration cycle is a representative example of the adaptive approach. The repeatedly created results are related to the “incremental approach” in that they provide value to stakeholders, and are related to the “iterative approach” in that they reflect changes in requirements in the next iteration cycle as each iteration cycle progresses. The adaptive approach combines the strengths of the incremental approach and the iterative approach. The predictive approach is a method that considers the scope as a constant and the schedule and budget as variables. In contrast, the adaptive approach is a method that considers the schedule and budget as constants and the scope as variables. In the Agile methodology, a clear vision for the product is established and then the initial requirements are written in the backlog. Backlog is a document that describes functional requirements and tasks to be performed in Agile. And requirements can be continuously changed and specified and replaced according to user feedback and environmental changes with each iteration. In Agile methodology, it is usually conducted through iterations of 1 to 2 weeks. In Agile, a review is conducted at the end of each iteration and the performance is proven through the review. It is customary to set the iteration cycle to less than 2 weeks. Through the review, Agile team members can check whether the development is properly done according to the presented requirements. Agile means agile. The original meaning of Agile is to make the organization’s culture agile and to agilely proceed with the organization’s work process and method. Agile is used as a methodology. In a project, an adaptive approach is an agile development methodology. In Agile, a product vision for what kind of product you want to create in a project must be defined. Requirements are derived based on the vision, and the document that organizes these requirements is called a product backlog. A high-level schedule is planned for when the features implemented in the product backlog can be released. This is called release planning. Sprint means an iteration cycle. Sprint means an iteration cycle or a time-boxed cycle. It is a term used in the Scrum method of Agile. There are other agile methodologies such as Scrum, XP, Crystal, and PSDM in the Agile methodology. Among these, Scrum is the most representative agile methodology. Among the agile methodologies, Scrum is the methodology adopted by more than 98% globally. The iteration cycle used in the Scrum methodology is Sprint, and the iteration cycle in Agile is also called Sprint. Initially, the product backlog is created, and the functions that the agile team can implement in the first iteration are discussed with the Product Owner (PO). The product owner and the development team will decide through consultation how many items from the entire backlog will be implemented repeatedly. Once the functions are determined, analysis, design, implementation, testing, and review are performed. Here, the review is conducted by the product owner. The product owner is a representative who sufficiently collects the requirements of users and stakeholders. Therefore, the product owner reviews whether the development team has implemented what the users and stakeholders want. During this review process, change requirements are generated. If requirements are added, the added requirements are reflected in the subsequent sprint iteration. Here, they are reflected according to priority. The priority is the priority that users or stakeholders think, and this is decided by the product owner. The priorities are adjusted and the next sprint is planned based on the adjusted results. At this time, the product owner and the development team discuss together. If requirements are added, priorities need to be adjusted and decisions should be made accordingly. Retrospective refers to a meeting to review the progress at the end of the sprint and find improvement points by utilizing what has been learned. At the end of one iteration, the agile team reviews the progress and then, based on the knowledge gained during one iteration, improves the collaboration method, communication method, and process to be applied in the next sprint depending on the situation. In the adaptive approach, agile is a mindset consisting of four values ​​and 12 principles. In the adaptive approach, the four values ​​of agile value interaction with individuals, and value creating a working product through an iterative cycle, and value collaboration with customers and responding to change.[애자일의 4가지 가치]

Distinction Content 1 Individuals and interactions rather than processes and tools 2 Working products rather than comprehensive documentation and deliverables 3 Customer collaboration rather than contract negotiation 4 Responding to change rather than following a plan

There are 12 principles in Agile.
[애자일의 12가지 원칙]1. Prioritize customer satisfaction by delivering valuable software early and continuously. 2. Be willing to accept requirements changes even late in development. 3. Deliver working software frequently, in iterations such as every two weeks. 4. Product Owners and developers work together every day. 5. Structure projects around motivated individuals. 6. Communicate face-to-face. 7. Working software is the primary measure of progress. 8. Encourage sustainable development. 9. Technical excellence and good design. 10. Simplicity is essential. 11. The best architectures, requirements, and designs come from self-organizing teams. 12. Teams regularly reflect, coordinate, and adjust to find more effective ways to do things.

5. Hybrid Approach

Hybrid Approach is a methodology that combines two approaches: predictive approach and adaptive approach. The hybrid approach is more adaptive than the predictive approach, but less adaptive than the adaptive approach. The hybrid approach is also called a “hybrid methodology.” The hybrid approach follows the predictive approach for well-known and clear requirements, and follows the adaptive approach for uncertain and evolving items. The hybrid approach is also useful when there are deliverables that require different approaches for each deliverable, or when there are deliverables that need to be developed by different project teams. The hybrid approach can separate development, testing, and deployment, or apply some agile techniques based on the predictive approach. The hybrid approach can be agile up to development and testing, and waterfall for the latter half of the project. When applying the hybrid approach to a project, the waterfall method can be used as the base, but good methods used in agile, such as daily stand-up meetings and retrospective meetings, can be applied to the waterfall method. If the external company has never done agile before, the external company can do waterfall, and our organization can do agile, and then integrate the necessary parts at a specific time. You can use it. The hybrid approach can be seen as a good methodology that combines the advantages of waterfall and agile methods.