CIS 454 Exam 1 Dillon
capacity
total peak number of users and the volume of data expected EX) maximum of 100-200 simultaneous users at peak times
Scope Creep
when an investigation expands beyond the original description
Criticisms of Agile
- Much of programming work is outsourced - Programmers gone wild, too much freedom - Lack of documentation - Can it deliver large mission critical systems
Product Owner (Scrum)
An individual responsible for maximizing the value of a product and for managing the product backlog.
Cultural/political requirements
Multilingual Customization Making Unstated Norms Explicit Legal
Intangible Value
Results from an intuitive belief that the system provides important, but hard-to-measure, benefits to the organization Example: improved customer service
Scrum
Scrum is a management framework within which complex products can be developed. Scrum is derived from work in knowledge management, complex adaptive systems, and empirical process control theory.
Team
Self-managing 5-9 members
Economic Feasibility
Should we build it? Cost-benefit analysis •Development costs •Annual operating costs •Annual benefits (cost savings and revenues) •Intangible costs and benefits
Project Sponsor
The person who provides the direction and funding for a project, conducts a feasibility analysis
Project Effort Estimation
The process of assigning projected values for time and effort 1 functionality of the system 2 time to complete the project 3 Cost of the project All dependent of the other
1. Project Initiation
The systems business value to the organization is identified -How will it lower costs or increase revenues?
Sprint Retrospective
The team should set aside a brief, dedicated period at the end of each sprint to deliberately reflect on how they are doing and to find ways to improve. Focus on PROCESS Final meeting of the sprint
Speed
The time within which the system must perform its functions EX) Response time must be less than 7 sec
Methodology
a formalized approach to implementing the SDLC
Jelled Team
a group of people so strongly knit that the whole is greater than the sum of the parts
requirement
a statement of what the system must do or what characteristic it must have
2. Requirements Gathering
analysis of interviews/questionnaires used to establish a system concept Develop analysis models which describe how the business will operate if the new system is developed
Object-oriented methodologies
attempt to balance the focus between process and data by incorporating both into one model
Phased Development
breaks an overall system into a series of versions that are developed sequentially -once version 1 is implemented, work begins on version 2 Advantage- quickly getting a useful system into the hands of the users Disadvantage- users begin to work with systems that are intentionally incomplete
Feasibility Analysis
determines if an idea for a new business is practical and identifies the risks associated with the project
Data-centered methodology
emphasizes data models as the core of the system concept
Process-centered methodology
emphasizes process models as the core of the system concept
Maintainability requirements
expected business changes to which the system should be able to adapt EX) new version every six months backup end of everyday
portability requirement
extent to which the system will need to operate in other environments EX) System must be able to work in different operating systems (Windows, linux)
Prototyping
performs the analysis, design, and implementation phases concurrently, and all three phases are performed repeatedly in a cycle until the system is completed Advantage- VERY quickly provides a system, quickly refines real requirements Disadvantage- fast paced system releases challenge attempts to conduct careful methodical analysis
Systems Development Life Cycle (SDLC)
planning, analysis, design, implementation
Elements of a System Request
project sponsor business need business requirements business value special issues
PERT chart
network diagrams; show precedence relationships among the project activities/tasks
Alistair Cockburn
one of the founding authors of the Agile Manifesto and a prominent voice in the field of agile project management "cooperative game of invention and communication"
Nonfunctional Requirements
refer to behavioral properties that the system must have, such as performance and usability ex) ability to access the system using a web browser operational performance security cultural/political
Virus Control Requirements
requirements to control the spread of viruses EX) checked for viruses before saving to the system
Customization requirements
specification of what aspects of the system can be changed by local users
Performance Requirements
speed, capacity, availability and reliability
Operational Requirements
technical environment system integration portability maintainability
Functional Requirements
the activities the system must perform to support the users' work or information it needs to contain ex) stating that the system must have the ability to search for available inventory
Sprint Review
A meeting when the Scrum team shows what they accomplished during the sprint. Typically this takes the form of a demo of the new features Focus on the PRODUCT
Product Backlog
A prioritized list of user stories, showing both short- and long-term goals of a software development team
Portfolio Management
A process that optimizes project selection and sequencing in order to best support business goals
Agile Development
A software development methodology that delivers functionality in rapid iterations, measured in weeks, requiring frequent communication, development, testing, and delivery. SCRUM XP
Unified Process
A specific methodology that maps out when and how to use the various UML techniques for object-oriented analysis and design
Gantt Chart
A time and activity bar chart that is used for planning, managing, and controlling major programs that have a distinct beginning and end.
System Value Estimates
Estimated business value of the system and its data EX: A complete loss of all system data would cost $20 million.
Making Unstated Norms Explicit
Explicitly stating assumptions that differ from country to country EX)month day year format, weight
Availability/Reliability
Extent to which the system will be available to the users and the permissible failure rate due to errors EX: 99% uptime performance
Scrum's Values
FOCUS- on only a few things at a time, deliver valuable items sooner COURAGE- having resources at our disposal OPENNESS- express how we are doing COMMITMENT- control over destiny RESPECT- share success and failures
SDLC: Design
HOW the system will operate in terms of hardware, software, and network infrastructure? 1. Design strategy 2. Architecture design 3. Database and file specifications 4. Program design
Sprint Planning - Part 2 (Design)
- design workshop -Team collaborates to create a high-level design of the features it has committed to deliver -Outcome of SP2 is the sprint "backlog" or the list of tasks that the team collectively needs to execute in order to turn the items in the into running tested features -During SP2 the team may ask additional questions regarding the requirements -Design is emergent and the meeting is time-boxed. Normal not to get the design perfectly done in this session and Team will discover more tasks during the sprint
Business analyst
-Analyzing the key business aspects of the system -Identifying HOW THE SYSTEM WILL PROVIDE BUSINESS VALUE -Designing new business processes and policies
Change management analyst
-Developing and executing a change management plan -Developing and executing a user training plan HOW WILL THE USERS INTERACT WITH THE SYSTEM
Infrastructure Analyst
-Ensuring the system conforms to infrastructure standards -Identifying infrastructure changes required by the system -HOW THE SYSTEM WILL INTERACT WITH THE TECHNICAL INFRASTRUCTURE (hardware, software, networks)
Systems Analyst
-Identifying HOW TECHNOLOGY CAN IMPROVE THE BUSINESS PROCESS -Designing the new business processes -Designing the information system -Ensuring the system conforms to IS standards
Manifesto for Agile Software Development
-Individuals and interactions over processes and tools -Working software over comprehensive documentation -Customer collaboration over contract negotiation -Responding to change over following a plan
Parallel Development Methodology
-Subdivide the project into sub-projects that can be worked on at the same time, sometimes not completely independent -Reduce the overall project length -Can require significant integration efforts
Essence of SCRUM
-Team is given clear goals -Team organizes itself around work -regularly delivers the most valuable features -reflection -visibility - honest communication
Sprint Planning - Part 1 (Requirements Gathering)
-detailed requirements workshop -Team asks questions to understand the requirements in sufficient detail to enable them to commit to delivering the feature during the sprint -ScrumMaster must ensure that any other stakeholder needed to help the team understand the requirements is present or on call -At the end of SP1 the team commits to the Product Owner what they believe they can deliver in the form of running tested features
Security Requirements
-system value estimates -access control -encryption and authentication -virus control
Extreme Programming
1) Developers must provide rapid feedback 2) KISS principle 3) Incremental changes to grow the system 4) quality-first mentality Code is tested each day and placed into an integrative testing environment
12 principles of agile software
1. Software is developed early and continuously through the development process, satisfying the customer 2. Changing requirements are embraced regardless of when they occur in the development process 3. Working software is delivered frequently to the customer 4. Customers and developers work together to solve business problems 5. Motivated individuals create solutions 6. Face-to-face communication within the development team 7. The primary measure of progress is working software 8. Sustainable pace of work 9. Agility is heightened through attention to technical excellence and good design 10. Simplicity 11. Self-organizing teams 12. Regularly reflect on how to improve
Rapid Application Development (RAD)
A development method that uses special tools and an iterative approach to rapidly-produce a high-quality system. -Phased -Prototyping -Throwaway prototyping
Tangible Value
Can be quantified and measured easily Example: 2 percent reduction in operating costs
1. Design strategy
Clarifies whether the system will be developed in-house or outsourced or buy a COTS
Four XP Principles
Communication, Simplicity, Feedback, Courage
CASE tools
Computer-Aided Software Engineering (CASE) tools automate some or all of the development process Not a silver bullet, but advantages include: Reduced maintenance costs Improve software quality Enforce discipline Some project teams even use CASE to assess the magnitude of changes to the project
3. Database and file specs
Define exactly what data will be stored and where
4. Program design
Defines the programs that need to be written and exactly what each program will do
Encryption and Authentication
Defines what data will be encrypted where and whether authentication will be needed for user access EX) users logging in from outside the office will be required to authenticate
2. Architecture/Infrastructure design
Describes the hardware, software, and network infrastructure to be used. How users will move through the system ex. forms reports
1. Analysis Strategy
Developed to guide the project teams efforts -Analysis or as-is and to-be system
Waterfall Development
Development method that focuses on completing each stage of the SDLC for the entire project before moving onto the next. Advantages- identifies system requirements long before programming begins and it minimizes changes to reqs as project proceeds Disadvantages- The design must be completely specified before programming begins and long time elapses between the completion of the system proposal in the analysis phase and the delivery of the system
3. Systems Proposal
Document which includes- analyses, system concept and models Presented to the project sponsor Initial deliverable that describes what business requirements the new system should meet
INVEST (good user story)
Independent—ideally can be implemented in any order Negotiable—and negotiated Valuable—to the customer Estimatable—enough to rank and schedule it Small—and with short descriptions Testable—I could write a test for it
champion
Initiates the project promotes the project allocates their time and provides resources
Organizational Management
Know about project budget encourage users to accept and use system
Sprint Burndown Chart
Lead indicator of progress Sprint Burndown Chart is a graph that depicts the amount of work remaining in the ongoing Sprint.
Access Control requirements
Limitations on who can access what data EX) only department managers will be able to change inventory items within their own department
system users
Make decisions that influence the project hands on activities ultimately determine whether project is successful
Project Manager
Managing the team Developing and monitoring the project plan Assigning resources Serving as the primary point of contact for the project
Product Burndown Chart
Measures the rate of delivery of a stream of running, tested, features over time of the Product (Velocity) story points
3. Support Plan
Post implementation review as well as a systematic way for identifying changes to the system
System Request
Presents a brief summary of a business need, and it explains how a system that supports the need will create business value.
2. Installation
Process by which the old system is turned off and new one is turned on Development of training plan
SDLC: Implementation
Programmers begin converting the models from the previous steps into the actual system, for instance, by developing databases and other software programs that will be needed. This step also includes installing hardware, testing the system, and training the end-users (Longest and most expensive) 1. Construction 2. Installation 3. Support Plan
2. Project Management
Project manager creates a workplan, staffs the project, and puts techniques in place to help the project team control and direct the project though the entire SDLC
Technical Environment
Special hardware, software, and network requirements imposed by business requirements. EX: All office locations have always-on network connection permitting real-time database updates System will work over the web environment with Internet Explorer
Approval committee
Steering committee, decides whether the project should be undertaken
1. Construction
System is built and tested to ensure that it performs as designed, lots of time dedicated to testing
Sprint Backlog
Task board, physical representation The highest-priority items from the product backlog to be completed in a sprint
Technical Feasibility
The extent to which the system can be successfully designed, developed, and installed by the IT group. Can we build it?
System Integration
The extent to which the system will operate with other systems. EX: The system will read and write to the main inventory database System must be able to import and export excel spreadsheets
Daily Scrum Meeting
Time Boxed to 15 min What did I do Yesterday? What will I do today? What impedes me? Sprint Task Boards: Not Started, In progress, Completed. Sprint Burn Down charts, Impediments List. Side Bar Topics (Scrum after Scrum): Ex: The Product owner was not available.
SDLC: Analysis
WHO will use the system? WHAT will the system do? WHERE/WHEN it will be used? Team investigates any current systems, improvements, and concept for new system 1. Analysis Strategy 2. Requirements Gathering 3. Systems Proposal
SDLC: Planning
WHY should we build this info system? 1. Project Initiation 2. Project Management
ScrumMaster Role
facilitator for the team and product owner. • Remove the barriers between the development and the product owner so that the product owner directly drives development. • Teach the product owner how to maximize return on investment (ROI), and meet his/her objectives through Scrum. • Improve the lives of the development team by facilitating creativity and empowerment. • Improve the productivity of the development team in any way possible. • Improve the engineering practices and tools so that each increment of functionality is potentially shippable. • Keep information about the team's progress up to date and visible to all parties.
Structured Design Methodology
formal step by step approach Waterfall Parallel
System specs
handed to the programming team for implementation After design phase, feasibility analysis is reexamined and revised
Organizational Feasibility
how well the system ultimately will be accepted by its users and incorporated into the ongoing operations of the organization if we build it, will they come?
Throwaway Prototyping
includes the development of prototypes, but uses the prototypes primarily to explore design alternatives rather than as the actual new system, design prototype is not a working system
Motivation
intrinsic rewards -recognition -achievement -work itself -responsibility -advancement -chance to learn new skills
Multilingual requirements
language in which the system will need to operate