System Development Life Cycle and MethodologiesIntroductionInformation systems are not produced successfully by programming alone. They are the result of a coordinated process in which organizational needs are investigated, requirements are defined, solutions are designed, software and infrastructure are constructed, quality is assessed, users are supported, and the system is eventually replaced or retired. This organized process is commonly described as the System Development Life Cycle (SDLC). The SDLC is a conceptual framework rather than one compulsory sequence of activities. Different projects organize the same broad activities in different ways. A safety-critical system may require extensive documentation and formal approvals before implementation. A rapidly changing mobile application may benefit from short development cycles and frequent user feedback. A large enterprise program may combine predictive planning with iterative delivery. Therefore, system analysts must understand both the common phases of system development and the strengths and limitations of alternative methodologies. A methodology is a defined approach for organizing development work, roles, deliverables, controls, and decision-making. Methodology selection is a professional judgment. It should reflect the nature of the problem, the stability of requirements, the risk level, regulatory obligations, technical uncertainty, stakeholder availability, organizational culture, and the need for rapid delivery. Learning ObjectivesAfter studying this chapter, students should be able to: - Explain the purpose and major activities of the SDLC.
- Distinguish predictive, iterative, incremental, prototyping, RAD, object-oriented, Agile, Scrum, DevOps, and hybrid approaches.
- Compare methodologies using criteria such as uncertainty, risk, speed, governance, and stakeholder involvement.
- Explain how requirements, design, implementation, testing, deployment, and maintenance are related.
- Select an appropriate methodology for a project context and justify the selection.
- Recognize ethical, security, governance, and professional responsibilities in system development.
1. The System Development Life CycleThe SDLC provides a lifecycle view of system development. Although terminology varies among organizations, the following phases are widely recognized: - Initiation and planning establish the business problem, objectives, scope, stakeholders, feasibility, schedule, resources, and governance arrangements.
- Analysis investigates the current situation and defines business, functional, non-functional, data, and security requirements.
- Design describes how the proposed system will satisfy the requirements. It may include architecture, database design, interfaces, processes, controls, and technology choices.
- Implementation or construction converts approved designs into configured software, programmed components, databases, integrations, documentation, and infrastructure.
- Testing and quality assurance determine whether the system conforms to requirements and is fit for use. Testing may include unit, integration, system, usability, performance, security, and acceptance testing.
- Deployment and transition moves the system into operational use. Activities include data migration, training, installation, change management, and support preparation.
- Operation and maintenance monitors performance, corrects defects, manages changes, improves the system, and maintains security.
- Retirement decommissions the system, preserves or disposes of data appropriately, transfers responsibilities, and evaluates lessons learned.
These phases are logical areas of work, not necessarily isolated time periods. In a sequential project, a phase may largely precede the next. In an Agile project, analysis, design, implementation, and testing may occur repeatedly within short iterations. 1.1 Deliverables and decision pointsA phase is useful only when it produces evidence for decisions. Typical deliverables include a business case, feasibility report, requirements specification, models, architecture description, prototypes, source code, test results, training materials, operational procedures, and post-implementation review. A phase gate is a formal decision point at which sponsors or governance authorities decide whether to continue, revise, pause, or terminate a project. Gates are particularly valuable when investment is high, compliance is important, or risks must be controlled. Agile teams may use product reviews, release approvals, and backlog decisions rather than traditional phase gates, but the underlying need for informed control remains. 1.2 Feasibility analysisBefore substantial development begins, analysts commonly examine: - Technical feasibility: Can the organization build, integrate, operate, and secure the proposed solution?
- Economic feasibility: Do expected benefits justify costs and risks?
- Operational feasibility: Will users and business processes be able to adopt and use the system?
- Schedule feasibility: Can the solution be delivered when it is needed?
- Legal and regulatory feasibility: Is the solution consistent with applicable law, contracts, standards, and policy?
Feasibility is not a one-time declaration. New information may change feasibility during development, so effective projects revisit major assumptions. 2. Requirements and Quality Across the LifecycleRequirements explain what stakeholders need and the constraints under which the system must operate. Functional requirements describe capabilities, such as registering a student or generating an invoice. Non-functional requirements describe qualities or constraints, such as response time, availability, accessibility, privacy, maintainability, and auditability. A requirement should be sufficiently clear, testable, necessary, feasible, and traceable. Traceability links a requirement to its source, design elements, implementation components, tests, and acceptance evidence. It helps analysts determine the impact of change and demonstrate that important obligations have been addressed. Quality is not created only during final testing. It must be designed into requirements, architecture, code, data, controls, and operational procedures. For example, if availability is important, the architecture may need redundancy and monitoring; if privacy is important, data minimization, access controls, retention rules, and audit logging should be considered early. A useful distinction is between verification and validation. Verification asks whether the product was built according to specified requirements. Validation asks whether the product solves the users' and organization's actual problem. A system can pass technical verification and still fail validation if it is difficult to use or does not support real work. 3. Predictive and Adaptive Development ApproachesThe major methodologies can be understood along a continuum. Predictive approaches emphasize planning and control before construction. Adaptive approaches accept that requirements and solutions will evolve through learning. Many real projects use a combination. 3.1 Predictive or waterfall developmentIn a predictive approach, the scope, requirements, architecture, schedule, and budget are planned relatively early. Work proceeds through defined stages, with formal reviews and controlled change. The classic waterfall model presents requirements, design, implementation, testing, deployment, and maintenance as largely sequential activities. Predictive development is appropriate when: - requirements are stable and well understood;
- technology is mature;
- contracts or regulations require defined deliverables;
- extensive documentation and approval are necessary;
- changes later in the project would be very expensive; or
- physical dependencies make frequent change impractical.
Its advantages include predictability, clear accountability, structured documentation, and straightforward governance. Its disadvantages include delayed user feedback, the risk of building the wrong solution, and expensive changes when early assumptions prove incorrect. Waterfall should not be interpreted as a prohibition on feedback; reviews, prototypes, and risk analysis can improve a predictive project. 3.2 Iterative developmentIn iterative development, a solution is developed through repeated cycles. Each cycle revisits analysis, design, construction, and evaluation. The system becomes more capable or more refined as the team learns. Iteration is particularly useful when the problem or solution is uncertain. An early iteration may test an architecture, interface, algorithm, or integration. Feedback from that iteration informs the next one. Iterative work reduces the danger of making an untested assumption for the entire project, but it requires disciplined prioritization and learning. Without control, iteration can become endless rework. 3.3 Incremental developmentIncremental development delivers the system in functional portions called increments. Each increment adds usable capability to the product. For example, a university registration system might first provide course search, then enrollment, then fee payment, and finally reporting. Iteration concerns repeated refinement; increment concerns the addition of capability. A project can be both iterative and incremental: each increment may be developed and improved through several iterations. Incremental delivery can provide early business value, reduce deployment risk, and make progress visible. However, increments must be architecturally compatible, and the organization must be able to operate partial releases safely. A poorly designed sequence can produce fragmented functionality or costly integration work. 3.4 PrototypingA prototype is a preliminary version of a system or component used to explore requirements, usability, feasibility, or design. Prototypes may be: - Throwaway prototypes, which are discarded after learning;
- Evolutionary prototypes, which are progressively transformed into the operational system; or
- Horizontal prototypes, which demonstrate broad functionality with limited depth; and
- Vertical prototypes, which implement a narrow feature across several technical layers.
Prototyping is valuable when users cannot articulate needs easily, interfaces are important, or technical feasibility is uncertain. A prototype makes abstract ideas visible and encourages concrete feedback. Its dangers include confusing appearance with completeness, neglecting security and performance, and allowing a rushed prototype to become production software without adequate engineering. 3.5 Rapid Application DevelopmentRapid Application Development (RAD) emphasizes short development cycles, intensive user involvement, reusable components, workshops, prototyping, and tools that accelerate construction. RAD can be effective for information systems with modular requirements, available users, and technologies that support quick configuration. RAD is not simply “coding quickly.” It depends on focused scope, empowered decision-makers, skilled developers, reusable assets, and effective quality controls. It is less suitable for highly complex, safety-critical, performance-sensitive, or infrastructure-intensive systems in which rapid change may create unacceptable risk. 4. Object-Oriented Analysis and DevelopmentObject-oriented development organizes analysis and design around objects that combine data and behavior. An object represents a meaningful entity or concept, such as Student, Account, Order, or Sensor. A class defines common attributes and operations for objects. Important object-oriented concepts include: - Encapsulation: combining data and operations while controlling access to internal details;
- Abstraction: representing essential characteristics while hiding unnecessary complexity;
- Inheritance: deriving a specialized class from a more general class; and
- Polymorphism: allowing a common operation or interface to have different implementations.
Object-oriented analysis models the problem domain using objects, responsibilities, relationships, and interactions. Common Unified Modeling Language (UML) diagrams include use-case, class, sequence, activity, and state diagrams. Object-oriented is primarily a way of analyzing and structuring systems, not a complete project-management lifecycle. Object-oriented techniques can be used within predictive, iterative, Agile, or hybrid projects. Their benefits include modularity, reuse, conceptual consistency, and support for evolving systems. Poorly designed class hierarchies, excessive abstraction, or modeling that does not reflect real requirements can reduce these benefits. 5. Agile DevelopmentAgile is a family of approaches based on frequent delivery, customer collaboration, adaptive planning, transparency, and responsiveness to change. Agile does not mean the absence of documentation, design, governance, or planning. It means that these activities are performed at an appropriate level and revisited as knowledge improves. Agile values working software, collaboration, and customer feedback while recognizing that plans, contracts, and documentation still have value. Effective Agile development typically includes: - a prioritized product backlog;
- small, valuable, testable work items;
- frequent integration and review;
- continuous attention to technical quality;
- visible progress and impediments; and
- regular reflection and improvement.
Agile is well suited to uncertain requirements, evolving markets, digital products, and situations in which stakeholders can provide regular feedback. It is more difficult when users are unavailable, contracts demand a fixed detailed scope, dependencies prevent small releases, or regulation requires extensive evidence that the team cannot produce incrementally. 5.1 ScrumScrum is a specific Agile framework. Its accountabilities are commonly described as: - Product Owner: maximizes product value and manages ordering of the product backlog;
- Scrum Master: helps establish Scrum, facilitates improvement, and addresses impediments; and
- Developers: create a usable increment each Sprint.
A Sprint is a fixed-length period during which the team creates a usable increment. Scrum events include Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective. Its artifacts include the Product Backlog, Sprint Backlog, and Increment, with commitments such as the Product Goal, Sprint Goal, and Definition of Done. Scrum provides a framework rather than a complete engineering method. Teams still need analysis practices, architecture, programming standards, testing, security, deployment, and product governance. A daily meeting alone does not make a project Agile. 6. DevOps and Continuous DeliveryDevOps extends collaboration beyond development to include operations, security, quality, and other relevant functions. Its aim is to improve the flow of reliable changes from idea to operation through shared responsibility, automation, monitoring, and feedback. Typical DevOps practices include: - version control for code, infrastructure, and configuration;
- automated build and test pipelines;
- continuous integration;
- continuous delivery or deployment where appropriate;
- infrastructure as code;
- security integrated into the pipeline, often called DevSecOps;
- observability through logs, metrics, traces, and alerts; and
- learning from incidents through blameless review.
Continuous delivery keeps software in a releasable state. Continuous deployment automatically releases qualifying changes to production. They are related but not identical. Automated deployment does not remove the need for approval, risk assessment, segregation of duties, or rollback capability. DevOps is especially valuable when systems require frequent releases, dependable operation, and rapid feedback. It may be constrained by legacy infrastructure, manual regulatory controls, weak test automation, or organizational boundaries. DevOps also changes professional responsibilities: developers must consider operational behavior, and operations staff must participate in design and delivery. 7. Hybrid MethodologiesA hybrid approach deliberately combines practices from multiple approaches. For example, an organization may use predictive governance and annual funding, iterative analysis and prototyping, Scrum for product development, and DevOps for deployment. A regulated project may define architecture, security controls, and validation evidence upfront while delivering business features incrementally. Hybrid design should be intentional rather than accidental. The team should define: - which decisions are fixed and which remain adaptive;
- how requirements and changes are controlled;
- how work is prioritized and scheduled;
- what evidence is required at each approval point;
- how quality, security, and compliance are verified; and
- who owns decisions across organizational boundaries.
A hybrid methodology can fit complex environments, but it can also combine the weaknesses of several approaches. Excessive governance may slow Agile delivery, while excessive flexibility may undermine contractual or regulatory obligations. 8. Comparing Methodologies| Approach | Main strength | Suitable context | Principal risk |
|---|
| Predictive/waterfall | Planning, control, and documentation | Stable requirements and formal governance | Late discovery of misunderstandings | | Iterative | Learning and refinement | Technical or requirements uncertainty | Rework without disciplined goals | | Incremental | Early delivery of value | Modular products and staged adoption | Integration and architectural inconsistency | | Prototyping | Clarifying needs and usability | Unclear interfaces or requirements | Prototype mistaken for production quality | | RAD | Speed through workshops and reuse | Modular business applications | Insufficient engineering depth | | Object-oriented | Modularity and domain modeling | Complex systems with interacting entities | Poor abstraction or unnecessary complexity | | Agile/Scrum | Adaptability and frequent feedback | Changing priorities and available stakeholders | Weak documentation or uncontrolled scope | | DevOps | Fast, reliable flow to operation | Frequently released digital services | Automation without governance or security | | Hybrid | Context-specific balance | Large, regulated, or complex programs | Conflicting practices and unclear authority |
No methodology is universally superior. Selection should be based on fit rather than popularity. 9. Selecting a Methodology for a ProjectA practical selection process begins by describing the project context. Analysts should ask: - How stable are the requirements?
- How costly or dangerous are defects?
- How available are users and decision-makers?
- How complex or novel is the technology?
- Can the product be released in useful increments?
- Are there regulatory, contractual, safety, privacy, or audit obligations?
- How important is early market delivery?
- What skills, tools, and organizational practices are available?
- How many teams and external dependencies are involved?
The decision should consider trade-offs rather than assign a methodology mechanically. For instance, high uncertainty favors iteration and prototyping, while high consequence of failure favors formal verification and governance. These conditions can coexist, leading to a hybrid approach. Worked selection exampleConsider a hospital medication administration system. Requirements include patient identification, dosage recording, allergy alerts, audit trails, privacy protection, and integration with existing clinical systems. Errors can harm patients, and the system must comply with organizational and legal controls. Some user-interface requirements are uncertain because nurses and pharmacists have different workflows. A purely informal approach would be inappropriate because safety, security, traceability, and validation are essential. A purely predictive approach could also be risky if it prevents early usability feedback. A suitable choice is a hybrid approach: formal requirements and risk controls; prototypes and usability studies with clinical users; iterative and incremental construction; documented verification and validation; and controlled deployment with training and monitoring. Automated testing and secure delivery practices can support repeated releases, but production changes should remain subject to appropriate approval. The selection is justified by matching the method to the context: adaptive practices address uncertainty, while predictive controls address safety and compliance. 10. Illustrative Case Study: University Advising PortalBackgroundA university uses email, spreadsheets, and several disconnected systems to manage academic advising. Students struggle to identify required courses, advisers lack a complete view of progress, and administrators cannot reliably report advising activity. ProblemThe university wants a portal that displays degree requirements, suggests courses, records adviser interactions, and provides alerts. The institution has a fixed academic calendar, limited development staff, and multiple stakeholder groups. Requirements are partly known, but the usability of recommendations and alerts is uncertain. AnalysisThe degree rules and privacy obligations require careful analysis and traceability. Students and advisers must be involved frequently because the value of the system depends on understandable information and convenient workflows. The portal can be delivered in functional increments: first authenticated progress viewing, then advising notes, then recommendations, and finally administrative reporting. Approach and solutionA hybrid iterative-incremental approach is selected. A short predictive planning stage establishes scope, architecture, privacy controls, data ownership, and integration constraints. Prototypes are used to evaluate dashboards and recommendation displays. Scrum teams develop prioritized increments, while a governance group reviews privacy, data quality, and release readiness. Automated tests and deployment pipelines support reliable releases, but academic-record changes require controlled approval. OutcomeThe first release allows students to view progress and advisers to correct data. Feedback reveals that students misunderstand a percentage-based progress indicator, so the design is revised before recommendation features are released. Incremental deployment provides value before the full portal is complete and exposes data-quality problems early. Learning pointsThe case demonstrates that methodology choice is not an ideological decision. Predictive work is useful for boundaries, controls, and architecture; prototyping supports learning; incremental delivery provides early value; Scrum organizes team work; and DevOps practices improve repeatability. Stakeholder participation and data governance remain necessary throughout the lifecycle. 11. Challenges, Ethics, and GovernanceSystem development can create social as well as technical consequences. Analysts should identify who benefits, who may be excluded, and how decisions affect privacy, autonomy, safety, employment, and access to services. Important responsibilities include: - protecting personal and sensitive data through privacy-by-design principles;
- obtaining appropriate authorization for data collection and use;
- applying least-privilege access and maintaining meaningful audit records;
- testing for security vulnerabilities and correcting them promptly;
- considering accessibility for users with different abilities;
- evaluating bias in automated recommendations or classifications;
- documenting assumptions, limitations, and known risks; and
- preserving professional independence when evidence indicates that a system is unsafe or unsuitable.
Artificial intelligence may assist with code generation, test creation, requirements analysis, or operational monitoring. However, generated outputs can contain defects, insecure code, licensing problems, fabricated requirements, or biased behavior. Human review, controlled data handling, testing, provenance, and accountability remain necessary. AI tools should support professional judgment, not replace responsibility for the system. 12. Contemporary Professional Practice and Best PracticesModern development increasingly treats the lifecycle as a continuous flow rather than a project that ends at deployment. Cloud services, APIs, mobile platforms, analytics, cybersecurity threats, and frequent updates make operational feedback central to system improvement. Good practice includes: - Define measurable business outcomes rather than only technical outputs.
- Involve representative users early and throughout development.
- Make requirements testable and maintain traceability for important obligations.
- Address security, privacy, accessibility, and reliability from the beginning.
- Use prototypes to learn, but do not confuse prototypes with engineered products.
- Deliver small, coherent increments when the context permits.
- Automate repeatable testing and deployment while retaining appropriate controls.
- Monitor the system after release and use evidence to guide improvement.
- Record decisions, assumptions, risks, and changes clearly.
- Review the methodology itself and adapt it when project conditions change.
Methodology is therefore best understood as a means of managing uncertainty and coordinating value creation. The central professional skill is not memorizing labels but recognizing the conditions under which a practice is useful, insufficient, or dangerous. Chapter SummaryThe SDLC organizes system development into connected activities including initiation, feasibility, requirements analysis, design, construction, testing, deployment, operation, maintenance, and retirement. These activities may be arranged sequentially or repeated in cycles. Predictive approaches emphasize early planning, documentation, and control and are valuable when requirements and constraints are stable. Iterative approaches support learning and refinement, while incremental approaches deliver usable capabilities in stages. Prototyping helps stakeholders explore uncertain requirements and interfaces. RAD emphasizes speed, user involvement, and reuse. Object-oriented development structures systems around objects and is compatible with several lifecycle approaches. Agile approaches emphasize collaboration, adaptive planning, frequent delivery, and customer feedback. Scrum provides a specific framework with defined accountabilities, events, and artifacts. DevOps integrates development and operations through automation, shared responsibility, monitoring, and continuous delivery practices. Hybrid approaches combine practices deliberately to address complex organizational, regulatory, technical, or market conditions. Methodology selection should consider uncertainty, risk, stakeholder availability, release structure, technical complexity, compliance, organizational capability, and the consequences of failure. Effective system analysis also includes privacy, security, accessibility, fairness, auditability, and professional accountability. Key TermsSDLC: A lifecycle framework for planning, analyzing, designing, building, testing, deploying, operating, and retiring information systems. Methodology: A defined approach for organizing development activities, roles, deliverables, controls, and decisions. Predictive development: An approach that plans major scope, requirements, and activities in advance. Waterfall: A largely sequential predictive lifecycle model. Iterative development: Development through repeated cycles of learning, refinement, and evaluation. Incremental development: Delivery of a system through successive additions of usable capability. Prototype: A preliminary system or component used to explore requirements, feasibility, or design. RAD: Rapid Application Development, emphasizing short cycles, workshops, user involvement, and reuse. Object-oriented development: Analysis and design based on objects that combine data and behavior. Agile: A family of adaptive approaches emphasizing collaboration, feedback, and frequent delivery. Scrum: An Agile framework using Sprints, defined accountabilities, events, artifacts, and commitments. Product backlog: An ordered list of work considered for an Agile product. Sprint: A fixed-length Scrum period for creating a usable increment. DevOps: Practices integrating development and operations through collaboration, automation, and feedback. Continuous integration: Frequent integration of changes with automated building and testing. Continuous delivery: Keeping software in a releasable state through reliable delivery practices. Verification: Determining whether a system conforms to specified requirements. Validation: Determining whether a system satisfies real stakeholder and business needs. Traceability: The ability to relate requirements to sources, designs, implementations, tests, and evidence. Hybrid methodology: An intentional combination of practices from multiple development approaches. Review QuestionsShort Answer Questions- What are the principal phases of the System Development Life Cycle?
- Distinguish functional requirements from non-functional requirements.
- What is the difference between iterative and incremental development?
- Identify the three principal accountabilities in Scrum.
- How does continuous delivery differ from continuous deployment?
Long Answer Questions- Explain the strengths and limitations of predictive, iterative, and incremental development approaches.
- Discuss the role of prototyping and RAD in projects with uncertain requirements.
- Explain how object-oriented analysis can be used within Agile or predictive development.
- Describe the practices, benefits, and limitations of DevOps.
- Explain why a hybrid methodology may be appropriate for a regulated information system.
Analytical / Application Questions- A small business wants an online ordering system, but owners are unsure which features customers value. Users are available weekly and the system can be released in stages. Select a methodology and justify your choice.
- A government agency is replacing a high-value records system subject to strict audit, privacy, and procurement requirements. Requirements are mostly stable, but the user interface is unfamiliar. Design an appropriate lifecycle strategy.
- A software team releases frequently but experiences production defects, unclear operational ownership, and weak security testing. Analyze the problem and recommend DevOps and governance practices that would improve the situation.
Multiple Choice Questions with AnswersQuestion 1Which SDLC activity primarily defines how the proposed system will satisfy its requirements? A. Design B. Retirement C. Deployment D. Feasibility screening Correct Answer: A. Design Question 2Which approach is most directly characterized by delivering usable functionality in successive portions? A. Waterfall B. Incremental development C. Throwaway prototyping D. Phase-gate governance Correct Answer: B. Incremental development Question 3A project has highly uncertain user-interface requirements and users are available for frequent feedback. Which practice is most suitable for early learning? A. Prototyping B. Final deployment C. Database retirement D. Fixed-scope contracting only Correct Answer: A. Prototyping Question 4Which statement correctly describes Scrum? A. It is a database design notation B. It is an Agile framework with Sprints and defined accountabilities C. It requires all requirements to be frozen before development D. It is a replacement for software testing Correct Answer: B. It is an Agile framework with Sprints and defined accountabilities Question 5What is the main purpose of continuous integration? A. To postpone testing until deployment B. To integrate changes frequently and check them through automated build and testing C. To eliminate version control D. To prevent developers from sharing code Correct Answer: B. To integrate changes frequently and check them through automated build and testing Question 6Which condition generally favors a predictive approach? A. Requirements are stable and formal documentation is important B. Users cannot describe any needs and priorities change daily C. The product must be discovered entirely through experiments D. The organization cannot define any acceptance criteria Correct Answer: A. Requirements are stable and formal documentation is important Question 7What does verification ask? A. Whether the system solves the real organizational problem B. Whether the system conforms to specified requirements C. Whether users prefer a different supplier D. Whether a project should receive funding next year Correct Answer: B. Whether the system conforms to specified requirements Question 8Which concept combines data and related operations while controlling access to internal details? A. Inheritance B. Polymorphism C. Encapsulation D. Deployment Correct Answer: C. Encapsulation Question 9A hospital system requires strong safety controls but also needs usability feedback from clinicians. Which approach is most defensible? A. An entirely informal coding approach B. A hybrid approach combining formal controls with iterative prototyping and validation C. A method that excludes users until retirement D. A method that prohibits testing until after deployment Correct Answer: B. A hybrid approach combining formal controls with iterative prototyping and validation Question 10Which statement about continuous delivery is correct? A. It always means every change is automatically released to production B. It keeps software in a releasable state, while release decisions may still require approval C. It removes the need for security controls D. It applies only to hardware installation Correct Answer: B. It keeps software in a releasable state, while release decisions may still require approval
|