8.1 SDLC Fundamentals & IT Infrastructure Basics
Key Takeaways
- The Software Development Life Cycle (SDLC) provides a structured framework for building software, ensuring quality and alignment with business requirements.
- Key SDLC phases include Requirements Gathering, Design, Implementation, Testing, Deployment, and Maintenance.
- IT infrastructure encompasses both on-premises physical hardware (servers, networking gear) and cloud-based resources (IaaS, PaaS, SaaS).
- Understanding basic networking concepts like IP addressing, DNS, and load balancing is critical for project managers overseeing IT deployments.
SDLC Fundamentals & IT Infrastructure Basics
For a project manager operating within the technology sector or overseeing IT-centric projects, a solid grasp of the Software Development Life Cycle (SDLC) and fundamental IT infrastructure is indispensable. The CompTIA Project+ exam expects candidates to bridge the gap between business objectives and technical execution. This requires understanding how software is built and the environments in which it runs. This section delves deeply into the phases of the SDLC and the core components of modern IT infrastructure, providing the foundational knowledge necessary to effectively manage technology projects.
The Software Development Life Cycle (SDLC)
The Software Development Life Cycle (SDLC) is a structured process used by software industry teams to design, develop, and test high-quality software. The objective of the SDLC is to produce software that meets or exceeds customer expectations, reaches completion within times and cost estimates, and works effectively and efficiently in the current and planned information technology infrastructure.
The SDLC provides a systematic and disciplined approach to software development. Without a formal life cycle, projects can easily succumb to scope creep, budget overruns, and severe quality issues. By breaking the development process into manageable phases, the SDLC allows project managers to track progress, allocate resources efficiently, and mitigate risks early in the project.
Phases of the SDLC
While specific methodologies (like Waterfall or Agile) implement these phases differently, the core activities remain consistent across most software projects:
- Requirements Gathering and Analysis: This initial phase is arguably the most critical. It involves intensive communication with stakeholders to understand their needs, expectations, and the problem the software must solve. Business analysts and project managers document these needs into formal requirement specifications. Weak or misunderstood requirements create a high risk of building the wrong product. Key outputs include a Business Requirements Document (BRD) and a Software Requirements Specification (SRS).
- Design: Once requirements are sufficiently understood for the planned increment or phase, design begins. System architects and senior developers translate the requirements into a blueprint for the software. This includes defining the system architecture, database schema, user interface (UI) layouts, and data flow. The design phase is divided into High-Level Design (HLD) and Low-Level Design (LLD). The HLD outlines the overall system architecture, while the LLD details the specific logic of individual modules.
- Implementation (Coding): This is the phase where the actual code is written. Developers follow the design documents to construct the software application. Depending on the size of the project, this phase can take months. Project managers must monitor progress closely, ensuring adherence to coding standards and managing the integration of various code components.
- Testing: After the software is built, it must be rigorously tested to identify and fix defects (bugs). Testing verifies that the software meets the initial requirements and functions correctly in different scenarios. This phase includes Unit Testing (testing individual components), Integration Testing (testing how components work together), System Testing (testing the entire system), and User Acceptance Testing (UAT). UAT is particularly critical as it involves end-users validating the system before deployment.
- Deployment (Release): Once testing is complete and the software is approved, it is deployed to the production environment where end-users can access it. Deployment strategies vary; some organizations use a "big bang" approach, releasing everything at once, while others prefer phased or parallel rollouts to minimize disruption. The project manager coordinates closely with IT operations during this critical transition.
- Maintenance: The SDLC does not end at deployment. The maintenance phase involves ongoing support, fixing newly discovered bugs, and adding new features or enhancements based on user feedback. In many organizations, a significant portion of the IT budget is dedicated to the maintenance of existing systems.
IT Infrastructure Basics
Modern software applications require a robust infrastructure to run efficiently and securely. Project managers do not need to be system administrators, but they must understand the core components of IT infrastructure to plan resources, anticipate bottlenecks, and communicate effectively with technical teams.
Core Infrastructure Components
- Servers: Servers are high-performance computers designed to host applications, store data, and process requests from clients (users). In traditional on-premises setups, organizations purchase and manage physical servers in data centers. Today, many servers are virtualized. Virtualization allows multiple virtual machines (VMs) to run on a single physical server, maximizing resource utilization and reducing hardware costs.
- Networking: The network is the backbone of the IT infrastructure, connecting servers, storage, and users. Key networking concepts include:
- IP Addressing: Every device on a network needs a unique identifier, an IP address, to communicate.
- DNS (Domain Name System): DNS translates human-readable domain names (like www.example.com) into IP addresses that computers understand.
- Routers and Switches: Switches connect devices within a local area network (LAN), while routers connect different networks together (like connecting a LAN to the internet).
- Load Balancing: High-traffic applications use load balancers to distribute incoming requests across multiple servers, ensuring no single server becomes overwhelmed and maintaining high availability.
- Storage: Data must be stored securely and accessibly. Infrastructure includes various storage solutions:
- Direct Attached Storage (DAS): Storage directly connected to a specific server.
- Network Attached Storage (NAS): A dedicated storage device accessible over the network, ideal for file sharing.
- Storage Area Network (SAN): A high-performance network dedicated entirely to storage, often used for databases and critical applications requiring fast data access.
The Shift to Cloud Computing
The most significant shift in IT infrastructure in recent years is the transition from on-premises hardware to cloud computing. Cloud providers (like AWS, Azure, and Google Cloud) offer computing resources over the internet on a pay-as-you-go basis. This fundamentally changes how IT projects are budgeted and managed.
- IaaS (Infrastructure as a Service): The cloud provider manages the physical hardware, networking, and virtualization. The customer is responsible for the operating system, applications, and data. This provides maximum flexibility but requires significant management overhead.
- PaaS (Platform as a Service): The cloud provider manages the underlying infrastructure and the platform (OS, middleware, runtime). Developers focus solely on writing and deploying code. This accelerates development but ties the application to the provider's platform.
- SaaS (Software as a Service): The cloud provider hosts and manages the entire application. Users access it via a web browser (e.g., Salesforce, Microsoft 365). This is the simplest option but offers the least customization.
Why PMs Must Understand Infrastructure
A project manager overseeing a software rollout must ensure that the infrastructure is ready to support the new application. If a new CRM system is deployed on underpowered servers, or if the network bandwidth is insufficient, the project will fail regardless of how well the software was written. Understanding these concepts enables the PM to ask the right questions during the planning phase, ensuring that infrastructure requirements (like capacity planning and disaster recovery capabilities) are fully addressed before the software goes live.
Exam Trap: Be prepared for questions that blend SDLC phases with infrastructure readiness. For example, understanding that provisioning servers or setting up cloud environments typically happens during the design or early implementation phase, not waiting until deployment.
IT Concepts Explicitly Named by CompTIA
Infrastructure questions are intentionally broad. Computing services supply processing; multitier architecture separates concerns such as presentation, application, and data; networking and connectivity move information; storage retains it; a data warehouse consolidates data for reporting or analytics; and current documentation makes the environment supportable.
Cloud service models shift responsibility. IaaS supplies infrastructure, PaaS supplies a managed application platform, SaaS supplies a complete application, and XaaS is the umbrella for capabilities delivered as services. The project still needs requirements for availability, security, data location, integration, cost, and exit even when a provider operates the platform.
Software categories in the blueprint include enterprise resource planning (ERP), customer relationship management (CRM), databases, electronic document and records management systems (EDRMS), content management systems, and financial systems. A project manager should recognize the business purpose, data owners, integration dependencies, migration and retention needs, access model, testing, and operational handoff for each category rather than attempt to administer the technology.
During which phase of the SDLC is a Business Requirements Document (BRD) typically finalized?
Which cloud computing model requires the customer to manage the operating system, applications, and data, while the provider manages the physical hardware and virtualization?
What is the primary function of a load balancer in an IT infrastructure?
User Acceptance Testing (UAT) is a critical part of the SDLC. Which group is primarily responsible for performing UAT?