Ch 6 - Agile Modeling, Prototyping, and Scrum

0.0(0)
studied byStudied by 1 person
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/52

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

53 Terms

1
New cards

Prototyping

Intereested in the reactions of users and management to the prototype

Reactions are gathered through observation, interviews, and feedback sheets designed to elicit each person’s opinion about the prototype

1) Set priorities

2) Redirect plans

2
New cards

Kinds of Prototypes

  • Patched-up

  • Non-operational

  • First-of-a-series

  • Selected features

3
New cards

Patched-Up Prototype

  • Constructing a system that works but is patched up or patched together

  • Uses all necessary features but it is inefficient

  • Users can interact with the system and get accustomed to the interface and the types of output available

4
New cards

Nonoperational Prototype

Nonworking scale model tht is set up to test certain aspects of the design

  • Not operational

  • Only features essential are tested

  • Doesn’t build actual code (coding more expensive)

  • Example: Full-scale model of an automobile that is used in wind tunnel tests

5
New cards

First-of-a-Series Prototype

Creating a first full-scale model of a system, often called a first-of-a-series prototype or pilot

  • Ex: First airplane of a series and then seeing whether it flies before building a second

  • Operational

  • Minimizes cost of overcoming any problems it presents before implemented

  • First full scale prototype is installed in one or two locations first, and if successful, duplicates are installed at all locations based on customer usage patterns and other key factors

6
New cards

Selected Features Prototype

Building an operational model that includes some, but not all, of the features that the final system will have, called a selected-features prototype.

  • Ex: A new brick-and-mortar retail shopping mall that opens before the construction of all shops is complete

  • Some but not all features are included

  • Best fit for AGILE method

7
New cards

Prototyping as Alternative to SDLC

  • Issues with SDLC

    • Extends time required to go through dev cycle

    • User req change

  • Alternative

  • Use prototyping as a part of SDLC

8
New cards

Advantages of Prototyping

1) Potential for changing the system early in its dev.

2) Opportunity to stop dev on a system that is not working

3) Develop a system more closelya ddress users needs

9
New cards

Disadvantages of Prototyping

  • Difficult to manage prototyping

  • Users and analyst may adopt a prototype as a completed system

10
New cards

Prototyping Using COTS Software

  • Sometimes the quickest way to protype is through the modular installation of Commercial Over the Shelf (COTS) software

  • Some COTS software is elaborate and expensive, but highly useful

11
New cards

The Users’ Role in Prototyping

  • Honest involvement

  • Communicate purpose to users, along with the idea that prototyping is valuable only when users are meaningfully involved

    • User reactions

    • User suggestions

    • innovations

    • Revision plans

  • Analyst job to weigh the feedback and translate it into workable changes where necessary

12
New cards

Agile Modeling

  • Collection of innovative, user-centered approaches to system dev.

  • Env. in which both dev. and bus, can be served

Process

  1. Listen for user stories from the customer

  2. Draw a logical workflow model to gain an appreciation for the business decisions represented in the user story

  3. Create new user stories based on the logical model

  4. Develop some display prototypes. In doing so, show the customers what sort of interface they will have

  5. Use feedback from prototypes and the logical workflow diagrams to develop the system until you have created a physical data model

13
New cards

Values and Principles of Agile Modeling

  1. Communication

    1. Solves problems, closes holes, and strenghtened thinking

  2. Simplicity

    1. Beginning w/ the simplest possible thing we can do

  3. Courage

    1. Stay in touch w/ one’s instincts (and test results) concerning what is working and what is not

    2. High risk, high reward value

  4. Feedback

    1. Customers create functional tests for all the stories that coders have subsequently implemented

Important to have humility

14
New cards

The Basic Principles of Agile Modeling

  • Providing rapid feedback

  • Assuming simplicity

  • Changing incrementally

  • Embracing change

  • Encouraging quality work

15
New cards

RAD (Rapid Application Developement)

  • Somewhere between O-O and Agile

  • An objected oriented approach to systems development that includes a method of development as well as software tools

  • Based on prototyping and quick feedback with less emphasis on specific planning

16
New cards

RAD Phases

  • Requirements planning

  • RAD design workshop

  • Implementation

17
New cards

THE RAD Design

  • Heart of the interactive development process

    • Design and refine phase

    • Use group decision support systems room if available

    • Users respond to actual working prototypes

    • Analysts refine designed modules based on user response

  1. Time

  2. Quality expectations

  3. Resource availability

  4. Scope

18
New cards

Requirement Plan

  • Users and analysts meet to identify objectives of the application or system

  • Orientation is toward solving business problems

19
New cards

Implementation Phase

  • As the systems are built and refined, the new systems or part of systems are tested and then introduced to the organization

  • When creating new systems, there is no need to run old systems in parallel

20
New cards

Martin’s Pioneering Approaches to RAD

  • Req palnning

  • User design

  • Construction

  • Cutover

21
New cards

Martin’s phases of RAD

22
New cards

Software Tools for RAD

  • Microsoft Access, Microsoft Visual Basic, Visual C++, and microsoft .NET

  • Differ from one another. in their:

    • Capabilities to support client/server applications

    • Ease of use and the amount of programming skill that is required

23
New cards

Comparing RAD to the SDLC

  • RAD software tools are used to generate screens and exhibit the overall flow. of the running of the application

  • RAD users are signing off. on a visual model representation

  • RAD implementation is less stressful because users have helped to design the business aspects of the system

24
New cards

Activities, Resources, and Practices of Agile Modeling

  • Coding

    • Designated as the one activity that is not possible to do without

  • Testing

    • Check coding, functionality, performance and conformance

      • Short term testing (confidence)

      • Long term testing (keeps a system alive and allows you to make changes longer than would be possible)

  • Listening

    • Use active listening to hear their programming partner

    • Less reliance on formal, written communication, so listening becomes a paramount skill

  • Designing

    • Create structure to organze all the logic in the system

25
New cards

Four Core Agile Practics

  • Short releases

  • 40-hour work week

  • Onsite cusomter

  • Pair programming

    • Work w/ othr programmer

26
New cards

The Agile Development Process

  • Exploration

  • Planning

  • Iterations to the first release

  • Productionizing

  • Maintenance

27
New cards

Scrum (An-Agile Method)

  • Product backlog

  • Sprint backlog

    • List of issues

    • Collective decision

  • Sprint

  • Daily Scrum

  • Demo

28
New cards

Agile principles

Agile principles are the reflections and specifications of agile values

  • Sets them apart from SDLC

  1. Satisfy the customer through delivery of working software

  2. Embrace change, even if introduce late in development

  3. Continue to deliver functioning software incrementally and frequently

  4. Encourage customers and analysts to work together daily

  5. Trust motivated individuals to get the job done

  6. Promote face-to-face conversation

  7. Concentrate on getting software to work

  8. Encourage continuous, regular, and sustainable development

  9. Adopt agility with attention to mindful design

  10. Support self organizing team

  11. Provide rapid feedback

  12. Encourage quality

  13. Review and adjust behavior occasionally

  14. Simplicity

29
New cards

Four Resource Control Variables

  • Time

    • Allow enough time to complete a project

    • Split time

  • Cost

    • Hire people, graphical packages, CASE tools, hardware

  • Quality

    • Internal Quality - Testing software for functionality and conformance

    • External quality - Customer is interested in performance

  • Scope

    • Determined by listening to customers and getting them to write down their stories

30
New cards

User Stories

A casual explanation of a software feature written from the perspective of a customer or end user

  • Jira software provides extensive support for agile development including capturing and analyzing user stories, as does Planbox, ScrumDesk, Agilio for trac, and digital.ai

  • Example:

  • Welcome the customr

    • If the customer has been at this site before using this same computer, welcome the customer back to the online store.

  • Choose a few stories, complete the coding, and release the product

  • Once done more stories are selected

31
New cards

Scrum

An agile method that is suitable for more complex projects in which action needs to be cotninuous

32
New cards

Sprint

Limited number of features or tasks are selected for completion

33
New cards

Roles Played in Scrum

  1. product owner

  2. scrum master

    1. Team’s coach, a knowledgeable adviser, experienced developer and faciliator

  3. team member

    1. Work to create and improve user stories

    2. Generate estimates

    3. Self-organize to complete the work

    4. Exhibit willingness to participate in any activity to help the project

34
New cards

The Product Backlong

Composed of featurs and other deliverables designers intend for the produced based on user stories

35
New cards

The Sprint Cycle

A print backlog is created to select the user stories that need to be completed soon

  • Two weeks in length

  • After two weeks decide if product needs to be released

36
New cards

Scrum Planning Meetings

1) Product owner presents the list of features on the wish list of user stories

Estimating the resources needed for features

37
New cards

Scrum Planning Poker

Helps the team determine estimates for completing the features that arise from user stories

  • Common deck based on Fibonacci numbers

  • 0,1,2,3,5,8,13,21,34,55,89

  • Adds two previous numbers

  • Infinity symbol = number too big to surpass

  • question mark & coffee cup = when members need a break from estimating

  • low numbered card means that a project can be completed faster

  • Numbers may represent the number of ddays it may take to finish a feature

38
New cards

Daily Scrum Meetings

Lasts a few min and tell each other what tasks they’ve been working on and what is expcted to be done

39
New cards

Using Burndown Charts

A way to keep track of performance

Y: Time

X: tasks remaining

40
New cards

Spring Review

Review the work and note any tasks that were not completed

41
New cards

Kanban

A concept developed by Toyota to achieve a more effective and efficient way of delivering products

  • “Signboard”

  1. Visualize the workflow

  2. Keep with in progress (WIP) as small as possible

  3. Reevaluate the workflow, reassigning priorities if need be.

  4. Strive for continual improvement

www.patboard.com

42
New cards

Cycle time

Time it takes for a task to enter the system as a “backlog” item until it reaches the “done” column

  • Shorter the better

43
New cards

Throughput

avg # of items that move from the “backlong” column to “done column” in period of time

TP = WIP/CT

WIP = Work in progress

CT = Cycle time

44
New cards

Scrum Advantages

  1. Quick product development

  2. User-oriented approach

  3. Encouraging teamwork

  4. Less ocnfusing than more formal approaches

  5. Flexibility

  6. Satisfying to team members

  7. Rewarding smaller but meaningful accomplishments

  8. Providing feedback

  9. Adaptability

45
New cards

Scrum disasvantages

  1. Documenting features improperly

  2. Releasing products w/ errors

  3. Releasing products too soon for the user

  4. Completing the sprint backlog under pressure

  5. Working as a geographically dispersed team may be difficult

  6. Working as a team when special skills are required may be challenging

  7. Replacing team members who leave the team is diffciult

46
New cards

Devops: A cultural Shift For App Development

Decreases the deployment time for newly developed applications and maximize profit by addressing market opportunities and getting customer feedback in a timely manner

  • Parallel

  • Culture

  • Mindset to analyzing problems

Dev:

  • Supports developing rapid innovative apps

Op:

  • Maintenance and operation of those processes

47
New cards

No-Code Software Development

Tools to help non-programmers design and build websites or mobile apps

  1. Cost effective

  2. Easier

  3. Quicker

  4. One person job

48
New cards

Work Management Systems for Agile Software Development

  • Jira

  • Collaborative and addresses three typs. of work management situatios through the use of templates

  • Templates for kanban and Scrum

  • Four columns representing the to-do lsit, tasks in progress, tasks in review, and tasks that are done

  • epic

    • describe big picture in agile development

49
New cards

Epics

  1. Report responsibilities

  2. Revealing user stories

  3. Sizing the epic

  4. Deciding on the time period

50
New cards

Advantages of Jira

  1. Structure keeps work on track

  2. Work management software can be set up to automate the process

  3. Summarize and report progress

  4. Automated work maangement systems can communicate well.

51
New cards

Lessons Learned from Agile Modeling

Addresses complaints of SDLC

  • Time coonsuming

  • Focusing on data rather than on humans

  • Coslty

Adigle

  • Rapid

  • Iterative

  • Flexible

  • Participative to changing human info requirements, business conditions, and environments

Lessons Learned:

  1. Short releases allow systems to evolve

  2. Pari programming enhances overall quality

  3. On-site customers are mutually beneficial

  4. 40 hour work-week improves effectiveness

  5. Balancees resources and activities support project goals

  6. Agile values are crucial to success

52
New cards

Improving Efficiency in Knowledge Work: SDLC Vs. Agile

Strategies for Improving Efficiency in Knowledge Work

Implementation Using Structured Methodologies

Implementation Using Agile Methodologies

Reduce interface time and errors

Adopting organizational standards for coding, naming, etc.; using forms

Adopting pair programming

Reduce process learning time and dual processing losses

Managing when updates are released so the user does not have to learn and use software at the same time

Ad hoc prototyping and rapid development

Reduce time and effort to structure tasks and format outputs

Using CASE tools and diagrams; using code written by other programmers

Encouraging short releases

Reduce nonproductive expansion of work

Project management; establishing deadlines

Limiting scope in each release

Reduce data and knowledge search and storage time and costs

Using structured data gathering techniques, such as interviews, observation, sampling

Allowing for an onsite customer

Reduce communication and coordination time and costs

Separating projects into smaller tasks; establishing barriers

Timeboxing

Reduce losses from human information overload

Applying filtering techniques to shield analysts and programmers

Sticking to a 40-hour workweek

53
New cards

Risks Inherent in Organizational Innovation

  1. Organizational culture

  2. Timing

  3. Cost

  4. Clients’ Reactions

  5. Measuring impact

  6. Individual Rights of Programmers/Analysts