IntroductionMany IT Professionals often interchangeably use terms PMLC and SDLC as same and use as per convenience. Let us understand this interesting topic with each of the elements explanation.
What is PMLC?
PMLC stands for Project Management Life Cycle. Every project is structured into five phases in terms of Initiation, Planning, Execution, Check/Control and Close. This is referred to as IPECC.
The Project Management Life Cycle (PMLC) commences with Project Initiation which includes Pre-Planning stage covering feasibility study and extending to Planning tasks. Initiation and planning stage required detailed amount of preliminary work to be done before a project begins. (Sometimes referred to as Blueprint Creation) The quality of effort and thoroughness applied in completing these tasks will determine a project’s destiny. Project completion on time, within budget and meeting customer expectations can all be foretold by the quality of work done during Initiation and Planning phases. It is therefore important and required that, that the role of Initiation and Planning phases in the overall success of a project not be downplayed.
Summarized view of IPECC –
InitiatingA project is found feasible, a project manager is selected, and the project charter is created.
PlanningTaking inputs from Initiation, Planning is undertaken. Planning is an iterative process group that allows project manager and the project team to revisit as needed, basis changing needs/requirements and answer to addressing such need/requirements is addressed while execution methodologies like Iterative development or Agile-Scrum mode of execution where over all timelines and other constraints/parameters planned earlier remains the same however means of achieving objectives/goals changes driven by business priorities/requirements/needs.
ExecutingTaking inputs from Initiation, Planning is undertaken. Planning is an iterative process group that allows project manager and the project team to revisit as needed, basis changing needs/requirements and answer to addressing such need/requirements is addressed while execution methodologies like Iterative development or Agile-Scrum mode of execution where over all timelines and other constraints/parameters planned earlier remains the same however means of achieving objectives/goals changes driven by business priorities/requirements/needs.
ControllingAs Project Manager you will never allow the project team to run helter-skelter. You manage, monitor and control (MMC) the work to ensure that it’s done according to plan.
This is the last phase of PMLC where all the project work is complete and users/customers verify the deliverables (acceptance of the project’s products followed by hand-over for BAU) and then close out the project finances, team reports, and lessons learned [Lessons learned activity is formalized in PRINCE2 as Post Implementation Review]
The closing phase in PRINCE2 is referred to as CP – ‘Closing a project’ process which can be pre-mature closure or normal closure.
Don't miss out - Subscribe to get the latest insights!
What is SDLC?
Requirements GatheringIn this phase, the development team collects requirements from several stakeholders such as customers, internal and external experts and managers to create a software requirement specification document. This requirements specification may be collected at high level which is further detailed out as user stories linked to feature and EPIC as the case may be.
DesignIn the design phase, software engineers analyse requirements and identify the best solutions to create the software. Design can be bespoke development or COTS or hybrid and also will cover technology aspects keeping view of existing enterprise landscape.
Development/Implement/BuildIn development phase, the development team builds code to create product/application or to build infrastructure like a data centre or server/s. Team analyses the requirements to identify smaller coding tasks they can do daily to achieve the final result.
TestThe development team combines automation and manual testing to check/validate/verify the software/product/Infrastructure for bugs. Quality analysis includes testing the software for errors and checking if it meets customer requirements via defined Acceptance criteria. Based on the needs, sometimes the testing phase often runs parallel to the development phase/Implementation phase/Build phase. This phase may be classified into two sub-phases – System Testing & User Acceptance Testing.
When teams develop software, they code and test on a different copy of the software than the one that the users have access to. The software that users/customers use is called Production (Production environment), while other copies are said to be in the build environment or testing environment. Having separate build and production environments ensures that users/customers can continue to use the software even while it is being changed or upgraded.
The deployment phase includes several tasks to move the latest build copy to the production environment, such as packaging, environment configuration, and installation.
Maintain/BAUIn the maintenance phase, among other tasks, the team fixes bugs, resolves customer issues, and manages software changes via structured approach, where some of the industry best practices such as ITIL framework is used. In addition, the team monitors overall system performance, security, and user experience to identify new ways to improve the existing software.
What are SDLC models?
WaterfallThe waterfall model arranges all the phases sequentially so that each new phase depends on the outcome of the previous phase. Conceptually, the design flows from one phase down to the next, like that of a waterfall. This is a traditional way of developing software with changes taking longer time to implement.
IterativeThe iterative process suggests that teams begin software development with a small subset of requirements. Then, they iteratively enhance versions over time until the complete software is ready for production. The team produces a new software version at the end of each iteration. However frequent changes and its acceptance can lead to project overruns impacting project resources.
SpiralThe spiral model combines the iterative model’s small repeated cycles with the waterfall model’s linear sequential flow to prioritize risk analysis. More suited to large and complex projects.
Agile (Most famous in recent past)The agile model arranges the SDLC phases into several development cycles. The team iterates through the phases rapidly, delivering only small, incremental software changes in each cycle. They continuously evaluate requirements, plans, and results so that they can respond quickly to change. The agile model is both iterative and incremental in nature thus making it more efficient than other process models. The iterations are known as Sprints usually of 10 working days where users/customers are engaged on a continuous basis.
The PMLC bounds the SDLC.
Various Project Management Methodologies like PMP from PMI-USA or PRINCE2 helps you to understand PMLC and similarly various SDLC models get explained by various certifications related to Agile-Scrum.
ZOC Learnings can help or guide you in this journey of understanding.
Q1. What is the key difference between PMLC and SDLC?
A1. The primary difference between PMLC (Project Management Life Cycle) and SDLC (Software Development Life Cycle) lies in their scope and purpose. PMLC focuses on managing the overall project, including planning, budgeting, and resource allocation. In
contrast, SDLC is specific to software development and concentrates on the stages of designing, coding, testing, and deployment.
Q2. Can you explain the phases involved in PMLC?
A2. Certainly. PMLC typically consists of four main phases:
- Initiation: Defining the project’s scope, objectives, and feasibility.
- Planning: Creating a detailed project plan, including schedules and budgets.
- Execution: Implementing the project plan and managing resources.
- Closure: Evaluating project outcomes and ensuring all objectives are met before closing the project.
Q3. What are the core stages within an SDLC?
A3. SDLC comprises several stages, which commonly include:
- Requirements Gathering: Identifying and documenting the project’s functional and technical requirements.
- Design: Creating detailed blueprints for the software’s architecture, user interface, and data structures.
- Development: Writing the actual code and building the software.
- Testing: Rigorous testing to identify and fix bugs and ensure the software functions as intended.
- Deployment: Installing the software for users or clients.
Q4. How does PMLC impact project management?
A4. PMLC is essential for effective project management as it provides a structured framework for planning, executing, and closing projects. It ensures that projects are completed on time, within budget, and according to the specified objectives. Project managers use PMLC to make informed decisions, allocate resources efficiently, and monitor progress throughout the project’s life cycle.
Q5. What is the primary goal of SDLC?
A5. The main goal of SDLC is to deliver high-quality software that meets the defined requirements while adhering to budget and timeline constraints. It aims to ensure that the software is reliable, secure, and performs as expected, ultimately satisfying the end users’ needs and expectations.