Chat with us, powered by LiveChat INFO579 Module 123 Strengths & Weaknesses of Agile Project Management Discussion | All Paper
+1(978)310-4246 credencewriters@gmail.com
  

Based on your readings and topics covered so far, and watching of the video “Agile Project Management: Scrum and Sprint Demystified” – how would you rate the strengths and weaknesses of Agile Project Management? Explain your ratings.
info579_module_2__1_.pptx

info579_module_3__1_.pptx

Unformatted Attachment Preview

INFO 579
Agile Systems Management
Module 2: Rapid Development: Characteristics,
Patterns and Commonalities
Module 2 Outline
• Overview
• Module Objectives
• Patterns that introduce rapidity
• Attributes and classification
• Application of RSD patterns
• Risk impact
Overview
• Growing competition and customer needs have called for shorter system
development time while embracing the changes and quality challenges.
• This module discusses the patterns and commonalities in Rapid System
Development methodologies, tools, and techniques.
• 36 identified patterns and commonalities are covered based on a study
of popular RSD methodologies, tools, and techniques. These 36 are
further reduced to four basic RSD patterns, namely iteration (cycle),
increment (release, evolution), concurrency, and feedback control. This
module covers a discussion of these four patterns and their benefits.
• An understanding and importance of RSD patterns helps tailor an RSD
process to the system under development and the development
environment. It helps in choosing the right candidates for RSD.
Overview (continued)
• Today we live in an unprecedented marketplace in terms of competition,
globalization, sustainability, and economies. One thing that has become
constant and easy to predict in these markets is the fact that there is
going to be changes and changes are going to be disruptive. It has
become paramount that we answer questions such as:
▪ Is the system being developed is meeting stakeholder needs?
▪ Have market conditions or stakeholder needs changed since the initiation?
▪ How do we meet time to market requirements with the minimum yet adequate
functionalities?
• These challenges can be summed up into one category called time-tomarket challenges – delivery of the expected product within or before the
demand period. Under such development scenario, an understanding of
the RSD patterns has become most critical.
Module Objectives
By the end of this learning module, you will be able to:
• Identify characteristics, patterns, and commonalities of RSD.
• Determine the importance and benefits of RSD patterns.
• Understand and analyze the behavior of project risks based
on the adoption of certain development strategies and
processes.
INFO 579
Agile Systems Management
Module 2a: Attributes That Introduce Rapidity
into the System Development Processes
Patterns That Introduce Rapidity
• All methods, tools, and techniques focus on faster and speedy
development by optimizing business value. The approach in
which the objective is achieved follows a combination of basic
patterns.
• The initial analysis yielded 36 patterns used for introducing
rapidity into system development.
• These 36 patterns were further reduced into 4 basic patterns,
namely, iteration, increment or release or evolution,
concurrency, and feedback control.
Patterns That Introduce Rapidity into the
System Development Processes (Part 1/3)
• Frequent executable system
• Frequent delivery
• Learning from previous
increments
• Continuous user involvement
• Learning from each iteration
• Iterative development
• Retrospective sessions
• Overlapping iteration
• Start with simple implementation
• Decision making power delegated
to project teams
• New functionality added in each
increments
• Reversible changes
• Design modifications at each
increment
• Baseline scope and requirements
Patterns That Introduce Rapidity into the
System Development Processes (Part 2/3)
• Project control
• Cross functional team
• Simple designs
• Concurrency in development
stages
• Modular designs
• No patches
• Evaluate the requirements
based on success-criticality,
completeness, feasibility and
uniqueness
• User feedback after each
prototype development
• Filter release specific
requirements
• Support redesign
• Easy modification
Patterns That Introduce Rapidity into the
System Development Processes (Part 3/3)
• Joint Application Development • Informal and quick prototype
(JAD) sessions
development after preliminary
requirements
• Rework and redefine the
requirements for next release • Adaptive development
• Requirement stage iterates
• Collocation
• Requirements stage
increments
• Small projects
• Temporary prototypes not
used as a part of the final
system
• Implement essential
development processes
• Smaller teams
INFO 579
Agile Systems Management
Module 2b: Classification into Four Basic
Patterns
Four Basic Patterns
• Iteration, Increment,
Concurrency, and Control.
• Controls are common to all
development.
• In RSD there is a higher
degree of controls to provide
constant and periodic
feedback to study the
progress of development. This
helps focus on time-to-market
and business value.
• The reason and importance of
studying RSD patterns and
commonalities are relevant for
Applications of RSD Patterns.
The variations of rapidity introduced into the system
development process can be as unique as the system that is
being developed. Strategies that introduce rapidity are listed
below:
NO.
Strategies
I
Application of Prototyping Approach
II
Application of Object – Oriented Approach
III
Use of Reusable Code and Application Packages
IV
Use of Incremental Development Approach
V
Use of CASE/Automated tools
VI
Use of Advanced Project Management Techniques
VII
Use of Structured Methods and Techniques
VIII
Verification of Requirements
Iterations
• Iterations are repeatable cycles within the development process.
• Iteration helps in refinement of system development based on feedback from previous
iteration. Iterations are shorter development cycles.
• Iteration help in planning and prioritizing the system development objectives while
adapting to the current changes and challenges.
• Iteration facilitates timely feedback and measurement of deliverables.
• Iteration has two important attributes that impact rapidity and project risk: duration of the
iteration and entry and exit criteria of the iteration.
Increment
• An increment or release or evolution is developing a ready to deploy system with a sub-set of
required functionalities. The terms increments, releases and evolutions are often used
synonymously.
• In a release based development, a deployable system with the core functionalities is developed
first followed by prioritized additions of other functionalities.
• This process is continuous and goes on until a decision to stop based on cost, schedule, or
market is made. The decisions can be due to market saturations, competitions, cost cuts,
schedule cuts, etc….
• There are 5 important attributes of increment that needs to be focused on during the planning
phase: duration, scope, criticality of design constraints, market entry/rollout, and
familiarity/precedence.
INFO 579
Agile Systems Management
Module 2c: Patterns Continued
Concurrency and Process
Independency
• Concurrency is the ability to perform tasks within the processes and
phases simultaneously without having to wait for the completion of other
tasks. It is the non-sequential and asynchronous execution of process
independent tasks.
• Process Independency is the degree to which tasks within a given
process are independent of each other’s execution or completion.
• The parallel processing of tasks not only helps in completing more tasks
in a single task completion time but also utilizes resources efficiently
without wastage or wait time. This concurrent execution does come with
an overhead.
Concurrency and Process
Independency
Traditional Sequence of Project Phases
Planning Phase
Design Phase
Construction Phase
QA Phase
Planning
Design
Construction
QA
Lean – Agile Sequence of Products & Features
Feature A
Feature B
Feature C
Feature D
Analysis
Analysis
Analysis
Analysis
Design
Design
Design
Design
Construction
Construction
Construction
Construction
QA
QA
QA
QA
Time
Feedback Control
• Rapidity is delivering the right thing at the right time using the right approach. So what is
the right thing and the right approach and when is the right time? How do we then
determine what is right?
• The one way to address this is through constant feedback throughout the system
development. We will be able to obtain feedback on progress and the approach in
terms of strategy, teaming, leadership, technology, tools, etc…. This is the indicator of
the right approach.
• The feedback controls provide information in a timely manner of all the hurdles and
roadblocks in the process and help mitigate or eliminate them earlier.
• Feedback from the customers or stakeholders or researchers can be obtained by
prototyping or incremental user acceptance testing for system functionalities.
• These feedbacks give us the right direction of what the expected product is and the
time-to-market window of opportunity.
Feedback Control
Define
Requirements
Take corrective
action
Compare actual
and projected
Set Goals
Establish
measures and
standards of
performance
INFO 579
Agile Systems Management
Module 2d: Applications of RSD Patterns and
Risks
Applications of RSD Patterns
• There has always been question of what projects can adopt RSD. A lot
has been discussed about how to choose the candidates for RSD.
• Rather than making a choice if a complete methodology is well suited for
a project, it is better to study the various patterns that help solve the
time-to-market or business value issues.
• This will eliminate the need to retrofit a system development environment
to RSD. The changes to the development environment in order to adopt
RSD can be minimal by applying patterns.
• Also patterns can be used to study the risks of RSD.
Risk Impact due to Decrease in
Iteration Duration
Findings of a study on how the risks of development projects
interacts with factors of RSD patterns:
• There is an interaction between RSD processes and strategies to the risk
in development project.
• These interactions increase or decrease the associated risks with the
development effort.
• Risks associated with Organization, Leadership, Architecture, Build, Test,
Process and Tools and Techniques increases and risks associated with
Stakeholders, Operations, Market, and Technology decreases.
Risk Impact due to Decrease in
Iteration Duration (continued)
120%
100%
80%
60%
40%
20%
0%
Tools&Techniques
Process
Technology
Market
Environment
Scope
Operation
Test
Build
Architecture
Requirements
Leadership
Organization
Team
Increase
Stakeholders
% of respondents
Decrease in duration of an iteration
No impact
Decrease
Risks
A sample results of an extended study. 61 survey participants were asked on how
reducing the duration of iteration impacts 15 risk categories of system development.
Continuation into the Next
Module
• Understand and apply the general strategy of rapid
development.
• Analyze and apply the four dimensions of development
speed and the four kinds of fast development.
• Determine which dimensions matter the most.
• Develop an alternative Rapid-Development Strategy.
Until then……………….
INFO 579
Agile Systems Management
Module 3: Rapid-Development Strategy
Module 3 Outline
• 3a: General Strategy of Rapid Development
• 3b: Four Dimensions of Development Speed
• 3c: General Kinds of Fast Development
• 3d: Which Dimensions Matter the Most?
• 3e: An Alternative Rapid-Development Strategy
• 3f: Case Study in Classic Mistakes
• 3g: Effect of Mistakes on a Development Schedule
• 3h: Classic Mistakes Enumerated
• 3i: Escape from Gilligan’s Island
Overview
• Businesses want highly functional, beautiful and scalable systems,
without waiting for months and months for their development. They also
want to maintain and change those systems with minimal effort and cost.
The low-code platforms available to developers today can build stable
apps at speeds once considered unimaginable. These platforms are the
next generation of rapid application development (RAD) tools based on
Rapid Development Strategy.
• In this module, the students will understand and learn how to achieve
Rapid-Development with a four-part strategy. Namely: avoid classic
mistakes, apply development fundamentals, manage risks to avoid
catastrophic setbacks, and apply schedule-oriented practices.
Module Objectives
By the end of this learning module, you will be able to:
• Understand and apply the general strategy of rapid
development.
• Analyze and apply the four dimensions of development speed
and the four kinds of fast development.
• Determine which dimensions matter the most.
• Develop an alternative Rapid-Development Strategy.
INFO 579
Agile Systems Management
Module 3a: General Strategy of Rapid
Development
General Strategy of Rapid
Development
Achieving Rapid-Development
with four part Strategy
1.
Avoid Classic Mistakes
2.
Apply Development
Fundamentals
3.
Manage Risks to avoid
catastrophic setbacks
4.
Apply schedule-oriented
practices
Figure 2.1. The four pillars of rapid development. The best possible
schedule depends on classic-mistake avoidance, development
fundamentals, and risk management in addition to the use of
schedule-oriented practices.
General Strategy of Rapid
Development
Result of focusing
only on one pillar
INFO 579
Agile Systems Management
Module 3b: Four Dimensions of
Development Speed
Four Dimensions of
Development Speed
• People
• Process
• Product
• Technology
Figure 2-3. The four dimensions of development speed.
Four Dimensions of
Development Speed
1. People
▪ Staff selection for team projects
o Top Talent, Job matching, Career Progression, Team
Balance, Misfit Elimination
▪ Team Organization
▪ Motivation
Four Dimensions of
Development Speed
2. Process







Rework Avoidance
Quality Assurance
Development Fundamentals
Risk Management
Resource Targeting
Lifecycle Planning
Customer Orientation
Four Dimensions of
Development Speed
3. Product
▪ Product Size
▪ Product Characteristics
4. Technology
▪ Synergy
INFO 579
Agile Systems Management
Module 3c: General Kinds of Fast Development
General Kinds of Fast
Development
There are four types of
Development Approaches:
1.
Average Practice
2.
Efficient Development

3.
Efficient Development

4.
(balancing cost, schedule, and
functionality)
(tilted toward best schedule)
All-out Rapid Development
General Kinds of Fast
Development
• Characteristics of Development Approach
Development Approach Schedule
Cost
Product
Average practice
Average
Average
Average
Efficient development
(balancing cost,
schedule, and
functionality
Better than average
Better than average
Better than average
Efficient development
(tilted towards best
schedule
Much better than
average
Somewhat better than
average
Somewhat better than
average
All-out rapid
development
Fastest possible
Worse than average
Worse than average
INFO 579
Agile Systems Management
Module 3d: Which Dimensions Matter the
Most?
Which Dimension Matters the
Most?
Different projects have different needs, but the
key in all cases is to accept the limitations on
the dimensions you can’t change and then to
emphasize the other dimensions to get the
rest of the benefit you need
INFO 579
Agile Systems Management
Module 3e: An Alternative RapidDevelopment Strategy
An Alternative Rapid
Development Strategy
This is characterized by:
• Hiring best possible people
• Asking them for total commitment
• Granting them total autonomy
• Motivating them to extreme degree
• Seeing that they work 80-100 hours a week
Unfortunately ………..
An Alternative Rapid
Development Strategy
Unfortunately ………..
• The Approach is hit-or-miss
• It causes long-term motivation problems
• It is unrepeatable
• It is hard on non-software organizations
• It wastes human resources extravagantly
Comparison of Alternative and
Normal Rapid Approach
Normal Rapid Approach
Alternative Approach
Proponents claim incredible, instant improvement in Proponents claim modest instant improvement
development time
followed by greater, long-term improvement
Requires little technical expertise beyond coding
knowledge
Requires significant technical expertise beyond
coding knowledge
High risk: frequently fails even when does as
effectively as possible.
Low risk; seldom fails when done effectively
Others will see you as “radical, dude.” You’ll look
like you’re giving your all
Others will see you as conservative, boring, even
old-fashioned. You won’t look like you’re working as
hard
Wastes human resources extravagantly
Uses human resources efficiently and humanely
Provides little progress visibility or control. You
know when you’re done
Permits tailoring the approach to provide as much
visibility and control as you want
Approach is as old as software itself
Key parts of the approach used successfully for 15
years of more
INFO 579
Agile Systems Management
Module 3f: Case Study in Classic Mistakes
Case Study in Classic Mistakes
• The SW project was riddled with mistakes, and all the king’s managers
and technical leads couldn’t rescue the project for anyone’s sake
INFO 579
Agile Systems Management
Module 3g: Effect of Mistakes on a
Development Schedule
Effect of Mistakes on
Development Schedule
• Research shows that some projects which are expected to
have poor productivity will have poor productivity but some
which were expected to have excellent productivity actually
have poor productivity too.
• That means, to slip into slow development, all you need to do
is one really big mistake.
• When thinking of rapid development, do not try and identify
the root causes of slow development, because they are too
numerous to list.
Effect of Mistakes on
Development Schedule
• This graph shows that the use
of any specific best practice is
necessary but not sufficient for
achieving maximum
development speed.
• Even if you use modern
programming practices, you
might still make a mistake that
nullifies your productivity gains.
Figure 3-1. Findings for “Use of Modern Programming Practices” factor (Vosburgh
et al. 1984). Doing a few things right doesn’t guarantee rapid development. You also
have to avoid doing anything wrong.
INFO 579
Agile Systems Management
Module 3h: Classic Mistakes Enumerated
Classic Mistake Enumerated:
People
• Undermined Motivation
• Unrealistic Expectations
• Weak personnel
• Uncontrolled Problem employees
• Lack of effective project
sponsorship
• Heroics
• Lack of Stakeholder Buy-in
• Adding people to a late project
• Lack of user input
• Noisy, crowded offices
• Politics placed over substance
• Friction between developers and
customers
• Wishful thinking
Classic Mistake Enumerated:
Process
• Overly optimistic schedules
• Shortchanged quality assurance
• Insufficient risk management
• Insufficient management controls
• Contractor failure
• Insufficient planning
• Premature or overly frequent
convergence
• Abandonment of planning under
pressure
• Omitting necessary tasks from
estimates
• Wasted time during the fuzzy front • Planning to catch up later
end
• Code-like-hell programming
• Shortchanged upstream activities
• Inadequate design
Classic Mistake Enumerated:
Product
• Requirements gold-plating
• Feature creep
• Developer gold-plating
• Push-me, pull-me negotiation
• Research-oriented development
Classic Mistake Enumerated:
Technology
• Silver-bullet syndrome
• Overestimated savings from new tools or
methods
• Switching tools in the middle of a project
• Lack of automated source-code control
Classic Mistake Enumerated:
Summary
People-Related
Mistakes
Process-Related
Mistakes
Product-Related
Mistakes
Technology-Related
Mistakes

Purchase answer to see full
attachment

error: Content is protected !!