Download The Agile World: Obstacles and Challenges

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Team Foundation Server wikipedia , lookup

PRINCE2 wikipedia , lookup

Earned value management wikipedia , lookup

Phase-gate process wikipedia , lookup

Agile software development wikipedia , lookup

Transcript
Agile Challenges and
Opportunities
From Organizational Change to Co-Location, what
types of challenges and opportunities are unique
to Agile projects
Tricia Hembling
Certifications
PMP, Certified Scrum Master, Certified Scrum Product Owner
Roles
Technology Director (Application Development and Infrastructure), Agile
Transformation Manager, Program Manager, Project Manager, Product Manager, Agile
Coach, Scrum Master, Product Owner, Business Analyst, QA, Developer, Consultant, UX
Design
Domain Expertise
eCommerce, DAM/CMS/Workflow, CRM, Health Insurance/Quoting/Apps, Interactive
Media, Food Delivery/Online Ordering, IT Audit, Finance
Organization Types
Fortune 500 companies, Technology start-ups, Consulting
The Agile Manifesto
We are uncovering better ways of developing technology by doing it and
helping others do it. Through this work we have come to value:
Individuals and Interactions
over Processes and tools
Working Software
over Comprehensive Documentation
Customer Collaboration
over Contract Negotiation
Responding to Change
over Following a Plan
That is, while there is value in the items on the right,
we value the items on the left more
Agile Alliance - 2001
What do we gain by adopting Agile?
Agile Benefits
Key Benefit
How Realized
Ensures consistent delivery ► Business is tightly engaged in the development process
of solutions that meet
► Real working software is reviewed earlier in project lifecycle and very frequently
business needs
► Testing is a continuous activity ensuring quality
Delivers working product
faster to start realizing
value sooner
► Products are developed and tested to the point that they are ready to be
deployed
► Releases can be as large or small as needed
► Complete solution is deployed progressively through multiple releases
Responds to changing
priorities and reduces
waste
► Backlog of needed features and relative priority is maintained continuously
► High-level objectives are defined a release at a time and analyzed as sprints are
defined, which accommodates dependency discovery, reprioritization and
emerging business requirements
► Completed functionality can be removed from a release when appropriate
Recognizes and address
risks early in project
► Each iteration is completely developed and tested, concepts are proven quickly
and learning is accelerated
► Retrospectives establish a consistent focus on establishing the most effective
team in a manner that identifies problems and mitigations, reducing impact on
delivery
Does Agile Have Any Real Structure?
Scrum employs Empirical Process Control and many levels of
planning to provide opportunities to perfect processes and
produce predictable results with high business value
The Agile Landscape
Agile is Mature: Over 20 years of practicing Agile
•
Agile practices, frameworks, and techniques have been used since the 1990’s with the Agile
Manifest introduced in 2001.
•
Agile continues to grow in popularity, particularly Scrum and its variants
projects)
( ~70% of agile
Agile is Widespread
•
The vast majority of companies are using Agile, have tried it, or are considering adopting it in
the next year
•
No longer primarily small companies and teams are becoming geographically dispersed more
frequently
Agile is Not Just for Software Development Anymore
•
Companies are exploring the benefits of Agile delivery techniques for all types of projects.
Experienced Agile resources are in very high demand
Is Agile a Silver Bullet?
There is nothing magical about agile…
but it does represent a different approach that is rooted in
quickly delivering business value while continuously
increasing the team’s efficiency and quality.
Change is never easy, for some organizations the
transformation comes more naturally, for others it requires
fundamental changes throughout the organization and its people.
The Transformation
Not just new processes, but a new way of thinking
• One Team
– Business and IT together
– Self Organizing
– Highly collaborative without many formal hand-offs
• Planning and Refining Plans vs Formal Contracts
– Requires IT Management to measure success differently
– Shifts the focus to providing Business Value, rather than a specific Scope
• A New Kind of Communication
– What does transparency really mean?
• Learning to Share
– Shared Space, Shared Code, Shared Ideas
Organizational Change
The organization as a whole will need to transform over
time to optimize success
• Top Down, Executive Mandate
– Universal support on the surface, but underlying resistance
– Common education and direction
– Often have strict accepted methodology based on ideals, not experience in the organization
• Bottom Up – Grass Roots Effort
–
–
–
–
Lots of passion from the team
Variable business and senior management support
Partners do not know how to support an Agile team
Often must still follow traditional project processes
• Executive Support, Structure without a Mandate
–
–
–
–
Slower acceptance/evolution
Not all departments at the same level of Agile maturity
Challenges with Agile and Traditional teams working together
Learn and adapt best practices for the organization of time and experience
State of Agile Survey
9th Annual State of Agile Survey - VersionOne
We Use Scrum….But
We have implemented Scrum and we are still
struggling…
– But we do all of our design at the beginning of our project
– But we do all of our story development without any input from the developers
and testers
– But our Product Owner is not available to the team for clarifications and context
– But we don’t do retrospectives after every sprint…its just a waste of time to get
the entire team together to complain
• Agile and Scrum intentionally include items like these in
their principles for a reason
– They are the key things that make agile effective
The Agile Purist
We need to implement exactly as described in our
favorite Agile book, they are the expert right?
– How could we go wrong if we follow their guidance to the
letter?
• Take a more pragmatic approach
– Thoroughly understand Agile Values and Principles
– Implement in a way that stays true to the values and principles
while embracing organizational strengths and minimizing
weaknesses
– Always allow time to inspect and adapt regularly
• Scrum is easy to learn, but difficult to master and
maintain in practice
Distributed Teams
What if I can’t have a co-located team? Can I still use Agile?
• Co-Location is highly recommended in all Agile methods
– Improves real-time collaboration, allows ad hoc conversations, and
increases productivity and quality
•
In larger companies it can be difficult to get the right resources, at
the right time, in the right place. How can we over come this?
–
–
–
–
Allow time for collaboration every day
Simulate a co-located environment
Employ a virtual Product Backlog, Taskboard, and Test Cases
Select team members who are highly collaborative, flexible, and with
good communication skills
Dedicated Resources
Agile methods encourage teams to have all fully dedicated
resources, but we work in a matrixed organization. Can we
work with that?
• Some roles lend themselves to being dedicated, but not fully
allocated
– Project Manager, Product Owner, Architect
• Others are better to be completely dedicated
– Scrum Master, Develop, QA Analyst
It is critical to have dedicated resources, even if they are
not fully allocated in all roles.
Staffing Resources for Agile Projects
Total resource requirements for Agile and Traditional projects are about the
same, but it is a much different model
Scrum Masters, Product Owners, Developers, Business
Analysts/Story Authors, Testers, UX Designers, Technical
Infrastructure resources, etc all have ongoing engagement.
Rapid Release Cycle
How do I develop and release to production every two weeks?
It can take weeks just to get the required approvals!
• Automate
– Testing
– Builds
– Deployments
• Real-Time collaboration between the Scrum Team and with the
Product Owner
• Streamline your release approvals
• Build a close relationship with Operations, or consider including
DevOps on your team
Production Support vs New Features
We are doing great with Scrum for new development,
but production support issues are killing us!
• Anticipate unplanned tasks and plan for them
– Determine how much to allow for in a sprint
– Adjust you velocity as appropriate
– Ensure your team maintains a Sustainable Pace
Sustainable Pace
The team commits to the Sprint Backlog but they are always
putting in long hours to achieve it…They can’t continue like this
• Achieve a Sustainable Pace, not a Max Velocity
– Do not allow the team’s estimates to be influenced
– Ensure the team knows their Definition of Done
– Do not take on work that has unmet dependencies
Agile in the Evolving Workforce
The new generation of professionals have a much
different approach to working together and
solving problems
They work best in an environment where
-
There is constant Communication and Collaboration
Their voice heard, even if their idea is not chosen
They can ask why, challenging the status quo, and look for a better way
While Agile certainly challenged conventional thinking about project
delivery, as Millennials advance in their careers I expect to see even greater
evolution in the way we manage projects.
Soon there will be whole generations of professionals that have
never worked on a Waterfall project.
Parting Thoughts…
Agile methodologies and frameworks can be very
powerful tools to delivery high-quality software to
market quickly
However, if the proper care is not taken to stay true to the Agile
Principles and Values, many of the benefits are lost and the risks are
increased
– Within those parameters, the most successful implementations of Agile are by those
who think creatively, are willing to try new things, and are continually inspecting and
adapting.