Upload
alexander-hopkins
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Agile Development
ARKANSAS BLUE CROSS BLUE SHIELD
(501) 396-4160
Tuesday 9/25, 8:40 - 9:20
Biography
Robert Fox - Data Architect, Arkansas Blue Cross Blue Shield
•17 years of data architecture and warehousing experience in the finance, telecom, and health insurance industries. •Installed over 50 data warehouses worldwide, some loading more than 4.5 terabytes of new transactional data per day. •Guest lecturer in information management masters degree programs at 3 universities. •Speaker at national conferences for Oracle, Fidelity, and MDM-CDI.
Abstract - Agile IT is about finding balanceThe term “Agile Development” is used in several ways. Most commonly, the phrase is used in a narrow sense to refer strictly to the development phase of a software development project. In this presentation, I will be using the phrase in a much larger sense: creating an IT organization that is agile in ALL of its parts.
I think the term “Agile” itself is misleading. According to the dictionary, “agile” means “nimble, quick, and flexible”. This definition makes it appear that this “agile” thing we are seeking is an extreme, the opposite of “rigid.” Many of the proponents of agile development take this view. I believe, however, that agility is not an extreme, but a balancing act between extremes:
balancing the desire for continual user feedback with the need to let developers remain focused
balancing the need for predictability with the need for flexibility balance the development of strategic, technical infrastructure with the
need to respond to immediate business requests balancing the need to provide self-service interfaces with the need for
controlling the quality of data and processes
All too often, organizations adopting “agile development” completely abandon their existing processes (which were unbalanced in one direction) in order to adopt an unbalanced polar opposite process.
Ideally, mature agile development is about finding the correct balance across the entire organization.
AgendaBalancing the Building Blocks of an Agile IT Organization
Development
Development
Meth
odology
Meth
odology
Project Project
Management
Management
Methodology
Methodology
OrganizationOrganizationStructureStructure Architecture
Architecture
SelfSelfService
Service
Agile Development MethodologyBalancing the need for continuous feedback with the
need to keep developers focused
Development
Development
Meth
odology
Meth
odology
Project Project
Management
Management
Methodology
Methodology
OrganizationOrganizationStructureStructure Architecture
Architecture
SelfSelfService
Service
Traditional Developmenta.k.a. “waterfall,” or “release”
Analysis
Design
Develop
Test
ImplementCON’s• Sequential• Not iterative• Requestor not involved in most
of the process• Long time between request and
delivery
PRO’s• Supported by most project
management software• Very clear, up-front
understanding of entire timeline • Clear lines of responsibility
Works well for:•Large, complex projects involving many inter-related components or departments•Projects which are foundational to future projects
“Agile” Development
Time-boxed scope
CON’s• No clear insight into long-term
timeline, resource needs, cost, etc.
• Not well suited to most project management tools
• Difficult to coordinate strategy and architecture across sprints and projects
• Responsibilities less clear
PRO’s• Very rapid response to changing
needs• Requestor involved throughout
processCross-functional development
Works well for:•Small projects which can be completed in isolation from other resources and projects•Projects which, while perhaps critical on their own, are not critical to future projects•Small development shops where everyone is working on the same project
This Is Really Two Issues
• Finding the right balance of interaction between requestor and developer
• Finding the right balance of administrative effort necessary for management insight
Lets think about them separately…
Balancing Levels of Interaction During Software
Development
Working in teams• Can keep work from
being done wrong, but can also keep any work from being done at all.
Working in isolation• Can keep people
focused, but they can be focused on the wrong things
Finding the Balance
• We need isolation to focus, but we need to come together for vision.
• We need to get together as soon as there is a question, not at the next weekly meeting.
• We need to develop an environment where people are not reluctant to get out of their cubes and go sit down with someone else to work things out.
• Identify your best communicators• Give them a title that recognizes and
encourages this skill• Make sure they are assigned to critical
projects• Use them to mentor other members of the
team
Agile Project ManagementBalancing the need for management insight with the need
to minimize project overhead
Development
Development
Meth
odology
Meth
odology
Project Project
Management
Management
Methodology
Methodology
OrganizationOrganizationStructureStructure Architecture
Architecture
SelfSelfService
Service
Why do YOU need PM?
The questions isn’t as simple as you might think.
PM is absolutely necessary for management insight, but in many cases it has become a tool for looking over peoples shoulders because you don’t trust them to do their jobs.
Ask yourself, “If we backed off on project management, what’s the worst that could happen?”
Will the developers play with technical toys if you don’t have PM oversight?Ask yourself it they are they willfully violating standards, or is the problem that there are no standards?
Is Oversight Needed Because of Cowboy Developers?
Maybe you told them “what” the standards are, but never told them “why” these standards are neededMost people will do the right thing if they know what it is, and agree that it’s right in the long run, and it’s not too much harder in the short term.
“Doctor Fun” by David Farley, October 2002
Business Goals versus Natural Desires
Job Security
Recognition
Family
Creativity
Social/Fun Business Goal
Business Goal
“Do what I tell you to do, or else…”
“If you do things this way, here’s what will happen…”
It could be that the reason your organization needs so much PM Oversight is that your people It could be that the reason your organization needs so much PM Oversight is that your people haven’t bought into the vision. Most people will do the right thing, if they understand what and haven’t bought into the vision. Most people will do the right thing, if they understand what and why in terms that are personally meaningfulwhy in terms that are personally meaningful
Weak Commitment
Strong Commitment
Finding the Balance
• Clearly document standards and processes
• Communicate the vision of the future made possible by these standards, and put in terms relevant to the target audience• Invest in the tools and infrastructure necessary to make following the standards easier than violating them
Are the supervisors:•Incapable of adapting to changing conditions, and you need PM oversight to steer their projects for them?•Incapable of locking down scope creep?•Incapable of enforcing standards?
In many cases, this is due to the same problem of communication of standards and vision.
In some cases, however, it is not.
Oversight Needed Because of Weak Supervisors?
Agile Organization StructureBalancing the need for creative thinking with the need for
well-defined, repeatable process
Development
Development
Meth
odology
Meth
odology
Project Project
Management
Management
Methodology
Methodology
OrganizationOrganizationStructureStructure Architecture
Architecture
SelfSelfService
Service
Predictabilty vs Flexability
Jack Welch – CEO of GEFortune Magazine “Manager of the Century”
Two Approaches to Project Management • The Factory Floor• Research and Development
Balancing Lessons From Jack• Understand which processes are
“cookie-cutter” and which are not, and manage them differently
• Put the right people in the right roles
Maybe it’s not weak supervisors, but a weak organization chart
Creative Roles• Development• Strategic Planning• User Interface
Design• Training• Documentation• Tool Selection
• Solution Oriented
Quality Roles• QA/Testing• Change Management• Security• Operations• Audit• Compliance
• Process Oriented
Agile Development Can Be an Organizational Issue
Project Flow
Often, development is not agile because the same resources are asked to focus on too many things. Organization should reflect functional responsibility.
We know better than to let developers test their own code. But do you know to separate creative development from rigid operations? To separate tactical development from strategic architecture?
Know when to hold ‘em, and know when to fold ‘em…
• Was it an issue with communication of standards or vision?
• Was it an example of misplaced skillset?
• Or was it a case where the person needs to be let go?
Adding permanent project management overhead should be a last resort, not a first.
Agile ArchitectureBalancing the need to invest in tomorrow’s infrastructure with the need to meet the demands of the business today
Development
Development
Meth
odology
Meth
odology
Project Project
Management
Management
Methodology
Methodology
OrganizationOrganizationStructureStructure Architecture
Architecture
SelfSelfService
Service
Today versus Tomorrow
StrategicDetermining long range destination and planning a path to it
TacticalKeeping the lights on. Meeting day to day business demands
PilotingNavigating
These should be different roles
Finding the balance
How do you balance the need to get things done quickly and cheaply with the need to prepare for the future?
• Dedicate resources to developing and maintaining a 3-5 year strategy for ALL the functional areas of your organization. Include both what the future looks like, and a tentative roadmap to get there.
• During budgeting process each year, make sure to ask for funds for any IT-sponsored, strategic projects.
• When tactical business requests come in, analyze each to see how it can be implemented in a way that aligns with the long term strategy.
Agile Business IntelligenceBalancing the need to remove development bottleneck
with the need to ensure data is used appropriately
Development
Development
Meth
odology
Meth
odology
Project Project
Management
Management
Methodology
Methodology
OrganizationOrganizationStructureStructure Architecture
Architecture
SelfSelfService
Service
Agile Means “IT is Not a Bottleneck”
“Enterprises where IT addresses more than 20% of BI requirements will continue to see the snowball effect of an ever-growing BI requests backlog”
Boris Evelson - Forrester Research
Maybe what we should be looking at isn’t turning around IT projects faster, but instead architecting a managed platform where the business is able to self-serve their information needs using “safe” information.
“BI requirements change faster than an IT-centric model can keep up”
Jim Ericson - Editorial director of Information Management
Finding the balance
• Implement business rules in the database, not in business reports
• Build specialized data marts for specific data domains
• Provide awesome meta data• Use tools that can explore prebuilt dimensional
cubes, and drill through to prebuilt detail reports• Clean up your data• Make it easier for your users to user your vetted
data than to try to pull it themselves• Stamp out private copies of data
Summary – Agile IT OrganizationsBalancing the need to remove development bottleneck
with the need to ensure data is used appropriately
Development
Development
Meth
odology
Meth
odology
Project Project
Management
Management
Methodology
Methodology
OrganizationOrganizationStructureStructure Architecture
Architecture
SelfSelfService
Service