WEEK 12: OTHER REQUIREMENT DISCOVERY/ELICITATION TECHNIQUES
• DISCOVERY PROTOTYPING:
• WHEN IS IT MOST SUITABLE TO USE DISCOVERY PROTOTYPING?
•
• ADVANTAGES AND DISADVANTAGES OF DISCOVERY PROTOTYPING
•
• JOINT REQUIREMENTS PLANNING (JRP) (not in the textbook)
• PARTICIPANTS OF JRP:
• SPONSOR
• FACILITATOR
• USERS AND MANAGERS
• SCRIBE
• IT STAFF
• STEPS IN PLANNING JRP SESSIONS
• SELECT A LOCATION
• SELECT PARTICIPANTS
• PREPARE AGENDA
• GUIDELINES FOR CONDUCTING A JRP SESSION
•
• BENEFITS OF JRP
• ENCOURAGES USER AND MANAGEMENT OWNERSHIP OF THE PROJECT
• REDUCES SYSTEM DEVELOPMENT TIME
• MAY ENJOY THE BENEFITS OF PROTOTYPING
• LIMITATIONS OF JRP: SUCCESS DEPENDS ON THE LEADER’S ABILITIES
• JRP vs. JAD – not the same?
WEEK 12: AGILE SYSTEM DEVELOPMENT
•
• DEFINITION: AN ITERATIVE AND INCREMENTAL (EVOLUTIONARY) APPROACH TO SOFTWARE DEVELOPMENT WHICH IS PERFORMED:
•
• IN A HIGHLY COLLABORATIVE MANNER
• BY SELF-ORGANIZING TEAMS WITHIN AN EFFECTIVE GOVERNANCE FRAMEWORK WITH “JUST ENOUGH” CEREMONY
• THAT PRODUCES HIGH QUALITY SOLUTIONS
• IN A COST EFFECTIVE AND TIMELY MANNER
• WHICH MEETS THE CHANGING NEEDS OF ITS STAKEHOLDERS
• AGILE MODEL DRIVEN DEVELOPMENT (AMDD): THE KEY TO SCALING AGILE SOFTWARE DEVELOPMENT
•
• OVERVIEW – PROJECT VIEWPOINT (fig.1)
• HOW IS AMDD DIFFERENT?
• WHY USE AGILE DEVELOPMENT?
• COLLABORATION PERSPECTIVE
AGILE FOCUS IS ON PEOPLE FIRST
PROMOTES EFFICIENT AND FACE-TO-FACE COMMUNICATION
ENCOURAGES RAPID AND FLEXIBLE RESPONSE TO CHANGE
•
• PROJECT MANAGEMENT PERSPECTIVE
MAXIMIZES CUSTOMER VALUE WHILE MINIMIZING WASTE
DIMINISHES TECHNICAL RISK BY IDENTIFYING REQUIREMENTS EARLY
CONTRIBUTES TO RAPIDLY AND COST EFFICIENTLY ADAPTING TO CHANGES
•
• REQUIREMENT GATHERING PERSPECTIVE
ENSURES PROGRESSIVE ELABORATION OF REQUIREMENTS ENSURE THAT END PRODUCT RESULTS ARE CONSISTENT WITH THE CUSTOMER’S INITIAL REQUIREMENTS
REDUCES CYCLE TIME AND INCREASES QUALITY
DELIVERS WORKING SOFTWARE FREQUENTLY WHICH IS THE PRIMARY MEASUREMENT OF SUCCESS
• AGILE SYSTEMS DEVELOPMENT LIFECYCLE (SDLC)
• PROJECT INITIATION
• DEVELOPMENT ITERATIONS
• RELEASE ITERATIONS
• PRODUCTION
Change Management
Risk Management
Project initiation
• Feasibility study
• Product roadmap/ vision
• Solution Scope
• Business case
• Support & funding
• Build the team
• Create initial models
• Setup environments
Development iterations
• Planning meeting
• Product backlog
• Iterations/release planning
• Analysis
• Development
• Testing
• Iteration tracking
Releases
• Final testing
• Finalize documentation
• Training
• Users support
• Releases are deployed into production
• Environments are formed
Production
• Implementation
• Operation and support
• Defects and improvements management
Change Management
Risk Management
Project initiation
• Feasibility study
• Product roadmap/ vision
• Solution Scope
• Business case
• Support & funding
• Build the team
• Create initial models
• Setup environments
Development iterations
• Planning meeting
• Product backlog
• Iterations/release planning
• Analysis
• Development
• Testing
• Iteration tracking
Releases
• Final testing
• Finalize documentation
• Training
• Users support
• Releases are deployed into production
• Environments are formed
Production
• Implementation
• Operation and support
• Defects and improvements management
• AGILE DEVELOPMENT ITERATIONS MANAGEMENT
•
•
• ADVANTAGES OF AGILE ANALYSIS
• BENEFICIAL IN SITUATIONS WHERE THE END-GOALS OF PROJECTS ARE NOT CLEARLY DEFINED
• ALLOWS FOR CHANGES TO BE MADE AFTER THE INITIAL PLANNING (ADAPTIVE PLANNING AND EVOLUTIONARY DEVELOPMENT)
• SENSE OF OWNERSHIP FROM THE CUSTOMER BY WORKING EXTENSIVELY AND DIRECTLY WITH THE PROJECT TEAM THROUGHOUT THE PROJECT
• CUSTOMER FEEDBACK OCCURS SIMULTANEOUSLY WITH DEVELOPMENT IN ORDER TO RESPOND TO CHANGES IN REQUIREMENTS RAPIDLY AND EFFECTIVELY
• CONTINUOUS TESTING IN INCREMENTS REDUCES RISKS RELATED TO BUGS
• DISADVANTAGES OF AGILE DEVELOPMENT
• MAY BE INEFFICIENT IN LARGE ORGANIZATIONS
• TEND TO BE HARD TO ESTIMATE TIME AND BUDGET REQUIREMENTS
• CAN BE QUITE TIME CONSUMING
• POSSIBLE INCREASE IN COSTS IF THERE IS NEED FOR ADDITIONAL ITERATIONS
• TEAM MEMBERS MUST BE LOCATED IN THE SAME PHYSICAL SPACE
• LOSING A DEDICATED RESOURCE MAY BE CATASTROPHIC
• CRITERIA FOR SELECTING SYSTEM DEVELOPMENT METHOD (AGILE VS. TRADITIONAL)
• UNCLEAR REQUIREMENTS
• UNFAMILIAR TECHNOLOGY
• COMPLEXITY
• RELIABILITY
• TIME/SCHEDULE
• SCHEDULE VISIBILITY
• OTHER CRITERIA (not in the textbook)
• Maturity of the organization?
• Project size and complexity?
• Have similar previous projects been completed successfully?
• Can tested deliverables be completed in short cycles?
• Are requirements for the finished project complete, clear and stable?
• Can the effort required to complete the project be easily predicted?
• What is the level of integration with other systems?
• Time to market deadlines?
Individuals and interactions
Working software
Customer collaboration
Responding to change
Agile
More flexible
Less flexible
Processes and tools
Comprehensive documentation
Contract negotiation
Following a plan
Traditional
Individuals and interactions
Working software
Customer collaboration
Responding to change
Agile
More flexible
Less flexible
Processes and tools
Comprehensive documentation
Contract negotiation
Following a plan
Traditional