21 terms


business-related consequences of software successes and failures including
Increase or decrease revenue
Repair or damage to brand reputation
Prevent or incur liabilities
Increase or decrease productivity
Systems development life cycle (SDLC)
the overall process for developing information systems from planning and analysis through implementation and maintenance
Planning phase
involves establishing a high-level plan of the intended project and determining project goals
Analysis phase
involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system
Business requirement
detailed set of business requests that the system must meet in order to be successful
Design phase
involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation
Development phase
involves taking all of the detailed design documents from the design phase and transforming them into the actual system
Testing phase
involves bringing all the project pieces together into a special testing environment to test for errors, bugs, and interoperability and verify that the system meets all of the business requirements defined in the analysis phase
Implementation phase
involves placing the system into production so users can begin to perform actual business operations with the system
Maintenance phase
involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals
There are a number of different software development methodologies including
Rapid application development (RAD)
Extreme programming
Rational unified process (RUP)
Waterfall methodology
an activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance
Rapid application development methodology (RAD)
emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process
a smaller-scale representation or working model of the users' requirements or a proposed design for an information system
Fundamentals of RAD
Focus initially on creating a prototype that looks and acts like the desired system
Actively involve system users in the analysis, design, and development phases
Accelerate collecting the business requirements through an interactive and iterative construction approach
Extreme programming (XP) methodology
breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete
Rational Unified Process (RUP)
provides a framework for breaking down the development of software into four gates. Each gate consists of executable iterations of the software in development. A project stays in a gate until the stakeholders are satisfied. It either moves to the next gate or cancelled.
Gate One: Inception
Gate Two: Elaboration
Gate Three: Construction
Gate Four: Transition
uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goal
The Agile Alliance Manifesto
Early and continuous delivery of valuable software will satisfy the customer
Changing requirements are welcome
Business people and developers work together
Projects need motivated individuals
Use self-organizing teams
Reflect on how to become more effective
Primary principles for successful agile software development include
Slash the budget
If it doesn't work, kill it
Keep requirements to a minimum
Test and deliver frequently
Assign non-IT executives to software projects
Primary reasons for project failure include
Unclear or missing business requirements
Skipping SDLC phases
Failure to manage project scope
Scope creep - occurs when the scope increases
Feature creep - occurs when extra features are added
Failure to manage project plan
Changing technology