64
and decision-making is most often driven from the top, by; initiatives focused on meeting projections in growth of both customers and services, perceptions in--and reactions to--market trends, and even affinity programs that forward the executive vision. New approaches, collectively known as Agile Methods, focusing on transparency, collaboration and honesty, deliver continuous innovation, service/systems adaptability, reduced delivery schedules and more reliable results. At SUNY Delhi, a 3500 FTE college of technology offering Baccalaureate/Associate’s degrees, we are implementing a variety of Agile practices: needs analysis and planning through bottom-up or emergent design, requirements gathering and planning through evidence-based decision-making and iterative and incremental development and deployment. While originally implemented within the SUNY Delhi IT department, adoption on campus has grown with a variety of functional units including, Business and Finance, The College Association, Alumni, Enrollment, Student Life and even Academic Departments including the Office of the Provost now participating. In our discussions, I hope to introduce the concepts behind Agile Methods, the circumstances for adopting these

It is not possible to exactly define Agile Methods

  • Upload
    frey

  • View
    17

  • Download
    0

Embed Size (px)

DESCRIPTION

- PowerPoint PPT Presentation

Citation preview

Page 1: It is not possible to exactly define Agile Methods

Universities, like businesses, have traditionally operated under strict hierarchical structures. Innovation, planning and decision-making is most often driven from the top, by; initiatives focused on meeting projections in growth of both customers and services, perceptions in--and reactions to--market trends, and even affinity programs that forward the executive vision.

New approaches, collectively known as Agile Methods, focusing on transparency, collaboration and honesty, deliver continuous innovation, service/systems adaptability, reduced delivery schedules and more reliable results. At SUNY Delhi, a 3500 FTE college of technology offering Baccalaureate/Associate’s degrees, we are implementing a variety of Agile practices: needs analysis and planning through bottom-up or emergent design, requirements gathering and planning through evidence-based decision-making and iterative and incremental development and deployment.

While originally implemented within the SUNY Delhi IT department, adoption on campus has grown with a variety of functional units including, Business and Finance, The College Association, Alumni, Enrollment, Student Life and even Academic Departments including the Office of the Provost now participating.

In our discussions, I hope to introduce the concepts behind Agile Methods, the circumstances for adopting these practices at Delhi, and some of the results we have seen to date through their use.

Page 2: It is not possible to exactly define Agile Methods

No Five-Year Plan, No Advisory Committees: How do I still have a job?

Patrick MassonChief Information OfficerState University of New YorkCollege of Technology at Delhi

Page 3: It is not possible to exactly define Agile Methods

It is not possible toexactly define Agile Methods

They promote practices and principlesthat reflect an agile sensibility, lightness,

communication, self-directed teams,[actions] over documenting, and more.

- Craig Larman,Agile and Iterative Development, 2004

Page 4: It is not possible to exactly define Agile Methods

Agile Methods...

Agility is the ability to both create andrespond to change in order to profit in a

turbulent business environment.

- Jim Highsmith,Agile Project Management, 2002

Cutter Consortium's Agile Project Management Advisory Service

Page 5: It is not possible to exactly define Agile Methods

Agile Methods...

Agile is an iterative and incremental (evolutionary) approach... which is performed in

a highly collaborative manner by self-organizing teams with "just enough"

ceremony that produces high quality... in a cost effective and timely manner which meets the

changing needs of stakeholders.

- Scot W. Amber,Agile Modeling, 2007

Page 6: It is not possible to exactly define Agile Methods

Agile Methods...

In the late 1990’s several methodologies began to get increasing public attention. Each had a different combination of old ideas, new ideas, and transmuted old ideas. But they all emphasized close collaboration between the programmer team and business experts; face-to-face communication (as more efficient than written documentation); frequent delivery of new deployable business value; tight, self-organizing teams; and ways to craft the code and the team such that the inevitable requirements churn was not a crisis.

- Agile Alliance

Page 7: It is not possible to exactly define Agile Methods

Agile Manifesto

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Page 8: It is not possible to exactly define Agile Methods

Agile ManifestoFor the Enterprise

Individuals and interactions over processes and toolsWorking [services] over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Page 9: It is not possible to exactly define Agile Methods

Agile Principles Our highest priority is to satisfy the

customer through early and continuous delivery of valuable [services].

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working [services] frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working [services] is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 10: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working [services] frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working [services] is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 11: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Deliver working [services] frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working [services] is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 12: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working [services] is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 13: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working [services] is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 14: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working [services] is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 15: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Working [services] is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 16: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence-based

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 17: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence-based

No Heroes

Continuous attention to excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 18: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence-based

No Heroes

Honesty

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 19: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence-based

No Heroes

Honesty

Just Enough

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 20: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence-based

No Heroes

Honesty

Just Enough

Openness/Transparency

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 21: It is not possible to exactly define Agile Methods

Agile Principles Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence-based

No Heroes

Honesty

Just Enough

Openness/Transparency

Maturity

Page 22: It is not possible to exactly define Agile Methods

Agile Practices Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence Based

No Heroes

Honesty

Just Enough

Openness/Transparency

Maturity

Page 23: It is not possible to exactly define Agile Methods

My experience with Agile

Page 24: It is not possible to exactly define Agile Methods

Medical Illustration

Worked at UCLA from 1990-1995 as a Medical/Scientific Illustrator...

Developed original artwork for textbooks, professional journals, presentations, research...

Over 100 published illustrations in diverse fields: Bio Materials, Dentistry, Neurology, Plastics, Public Health, Pulmonary, Surgery, and others...

Latest (Last?):Carranza's Clinical Periodontology,Saunders; 9 edition (December 15, 2001)

Page 25: It is not possible to exactly define Agile Methods

Programmer Analyst

As Medical/Scientific Illustration transformed to Medical/Scientific Visualization...

From 1995-1998 worked as a PA developing CGI > modeling > simulations > applications...

Page 26: It is not possible to exactly define Agile Methods

Director, UCLA Media Lab

Implemented practices across the “enterprise”

Page 27: It is not possible to exactly define Agile Methods

Director of Technology,SUNY Learning Network

Introduced Agile Methods for needs analysis, requirements gathering, project management and IT governance.

Failed miserably...

...more to come.

Page 28: It is not possible to exactly define Agile Methods

CIO, SUNY Delhi

Introduced Agile Methods initially within IT department, grown to campus-wide adoption (almost)

“Confluence was a tremendous success for the budgeting and planning process.”

Dr. Candace VanckoSUNY Delhi President

Spring Forum, Jan. 18th, 2008(Penn State Alum!)

Page 29: It is not possible to exactly define Agile Methods

Agile Methods...

Agile Methods allow services and systemsto be modified at the same pace

as users can articulate them.

Patrick Masson

Page 30: It is not possible to exactly define Agile Methods

Agile Methods...

...services and systems to be modified...

This implies “existing” services.Where are the new projects?

Page 31: It is not possible to exactly define Agile Methods

Agile Methods...

...at the pace end users can articulate them?

Then what role does management play?

Page 32: It is not possible to exactly define Agile Methods

Exploring “Agile For The Enterprise” Delhi, one of 64 campuses in the SUNY System One of eight “technical” colleges 3500 Students, 500 Faculty/Staff 20+ IT staff: Classroom Technologies, Networking &

Telecommunications, Online Education, Print Shop, Systems Administration, User Support (Help Desk)

First CIO in school history Reporting to VP Business and Finance

Page 33: It is not possible to exactly define Agile Methods

Exploring “Agile For The Enterprise”

1. Provide leadership and prioritization for the CIS managers and their staffs.

2. Learn current priorities and how the day-to-day activities are implemented.

3. Adjust task assignments and workload of individual staff members.

4. Make structural changes as appropriate.

5. Review of current technology, Technology Master Plan including networking, wireless technology, mainframe etc.

6. Development of processes to manage technology for both the day-to-day operations and project implementation.

Page 34: It is not possible to exactly define Agile Methods

Exploring “Agile For The Enterprise”

1. Provide leadership and prioritization for the CIS managers and their staffs.

2. Learn current priorities and how the day-to-day activities are implemented.

3. Adjust task assignments and workload of individual staff members.

4. Make structural changes as appropriate.

5. Review of current technology, Technology Master Plan including networking, wireless technology, mainframe etc.

6. Development of processes to manage technology for both the day-to-day operations and project implementation.

Page 35: It is not possible to exactly define Agile Methods

Administrators and staffers were shocked when the new CIO

declared, 'We're not going to do anything for a year.'

Page 36: It is not possible to exactly define Agile Methods

Report to Cabinet Implement formal documentation and communications

practices Determine current CIS operations

Identify current scope of services (e.g. Help Desk, desktop support, instructional design, Banner reporting)

Identify current systems (e.g. networking, software deployment, servers)

Identify current policies and procedures (e.g. service level agreements: use, availability, response)

Page 37: It is not possible to exactly define Agile Methods

Report to Cabinet Analyze CIS systems, services and operations

Define current CIS organizational structure Define staff competencies, roles and responsibilities

Page 38: It is not possible to exactly define Agile Methods

Report to Cabinet Develop and implement a project management

process Create needs analysis process Create requirements gathering process Create resource analysis process Create implementation processes Create a continuous training program

Page 39: It is not possible to exactly define Agile Methods

Agile Practices

Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence Based

No Heroes

Honesty

Just Enough

Openness/Transparency

Maturity

Page 40: It is not possible to exactly define Agile Methods

Documentation and Communication

Traditional Approach: Multiple staff meetings Email, email, email... Help Desk tickets, external only After six years...

Page 41: It is not possible to exactly define Agile Methods

Documentation and Communication

Agile Approach Enterprise wiki replaced meetings Discussion forums replaced emails All requests, tasks entered as tickets Instant Messaging In one year,

CIS: 478 pages Campus-wide: 200+ Users: 194 Contributors...

Page 42: It is not possible to exactly define Agile Methods
Page 43: It is not possible to exactly define Agile Methods
Page 44: It is not possible to exactly define Agile Methods
Page 45: It is not possible to exactly define Agile Methods
Page 46: It is not possible to exactly define Agile Methods

Most Popular Spaces (Views) Delhi Campus Information Systems (CIS) (9217) Open Delhi Discussions (705) Delhi Campus-wide Committees (449) Office of Business and Finance (403) College Association at Delhi, Incorporated (356) Resnick Library (244) Grants Office (196) Office of Residence Life (128)

Page 47: It is not possible to exactly define Agile Methods

Most Active Spaces (Edits) Delhi Campus Information Systems (CIS) (283) Office of Business and Finance (67) Open Delhi Discussions (52) College Association at Delhi, Incorporated (37) Resnick Library (29) Delhi Campus-wide Committees (19) Grants Office (12) Office of Residence Life (10) Enrollment Services (3)

Page 48: It is not possible to exactly define Agile Methods

Most Active Contributors (Edits) Patrick Masson (102): CIO Brian G. Hutzley (73): VP Business and Finance Kristy R Fitch (64): Systems Administrator Scott May (62): Network Administrator Clark Shah-Nelson (58): Coordinator Online Learning Jessica B Beaudet (40): Network Technician Richard L Golding (31): Hospitality Management, Chair B&P John J. Padovani (29): Director, Student Housing Pamela J. Peters (19): Campus Librarian Jack T. Tessier (12): Professor, Ecology Pat Heath (12): Director, College Association

Page 49: It is not possible to exactly define Agile Methods

Examples

Compter Information Systems Sanford Technology Center Computer Labs

Page 50: It is not possible to exactly define Agile Methods

Agile Practices

Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence Based

No Heroes

Honesty

Just Enough

Openness/Transparency

Maturity

Page 51: It is not possible to exactly define Agile Methods

Report to Cabinet Determine current CIS operations

Identify current scope of services (e.g. Help Desk, desktop support, instructional design, Banner reporting)

Identify current systems (e.g. networking, software deployment, servers)

Identify current policies and procedures (e.g. service level agreements: use, availability, response)

Page 52: It is not possible to exactly define Agile Methods

Determine Current CIS Operations

Traditional Approach Create a “Three/Five Year Technology Plan” Write a “Technology Mission, Vision & Goals” Form a “Technology Steering Committee” Survey campus community

Page 53: It is not possible to exactly define Agile Methods

Determine Current CIS Operations

Agile Approach Created Operational Budget: what did we buy,

who ordered it? Identification of Business Units: how do purchases

align with functions? Definition of systems maintained by BU: what

applications, hardware, operations are undertaken (nouns vs. verbs)?

Identification of stakeholders: who submitted tickets? Definition of policies and procedures: what are the

stakeholders/end-users expectations.

Page 54: It is not possible to exactly define Agile Methods

Determine Current CIS Operations Administration Classroom Technology Services Computing Support Data Center Data Repository Services Development Email Networking On-line Education Print Shop Service Center Systems Administration Telecommunications Web Site External Service Providers

Administration Data Center Development Network Administration On-line Education Print Shop Service Center Systems Administration Campus Technology Services

Project Management Student Computers Telecommunications

Page 55: It is not possible to exactly define Agile Methods

Agile Practices

Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence Based

No Heroes

Honesty

Just Enough

Openness/Transparency

Maturity

Page 56: It is not possible to exactly define Agile Methods

Report to Cabinet Analyze CIS systems, services and operations

Define current CIS organizational structure Define staff competencies, roles and responsibilities

Page 57: It is not possible to exactly define Agile Methods

Analyze CIS Systems,Services and Operations

Traditional Approach Move into alignment with

Executive Management's vision Introduce/implement CIO vision Review departmental structure with senior managers Re-write job descriptions Develop performance plans

Page 58: It is not possible to exactly define Agile Methods

Analyze CIS Systems,Services and Operations

Agile ApproachBusiness Modeling (UML-ish), Business Intelligence

Review tickets/work flow Identify authorized users on systems Map to Operational Budget, Business Units, etc. Confluence posts Foster self-organizing

Page 59: It is not possible to exactly define Agile Methods

Examples

Help Desk Analyst to Desktop Technician Programmer Analyst to Service Center

Manager Manger, Campus Technology Services to

Project Manager Organizational structure and staffing mirror

work flow

Page 60: It is not possible to exactly define Agile Methods

Chief Information Officer / Administration

OnlineEducation Networking

CampusTechnology

ServicesPrint Shop

CIS Service Center

Protect Management

SUNY Delhi End-Users

SystemsAdministration

Page 61: It is not possible to exactly define Agile Methods

Agile Practices

Incremental Development

Emergent Design

Iteration

Frequent “Testing”

Bottom-up

Collaboration

Evidence Based

No Heroes

Honesty

Just Enough

Openness/Transparency

Maturity

Page 62: It is not possible to exactly define Agile Methods

Report to Cabinet Develop and implement a project management

process Create needs analysis process Create requirements gathering process Create resource analysis process Create implementation processes Create a continuous training program

Page 63: It is not possible to exactly define Agile Methods

Develop and Implement aProject Management Process

Traditional Approach Top-down implementation of CIO Vision

(Hey Pat isn't this what you did?) Needs Analysis:

Committees and task forces (49), Marketing and research, trends, etc.

Requirements gathering: Focus groups, surveys, project proposals, etc.

Resource analysis Front-loaded planning, Budgeting, Gantt Charts, etc.

Implementation Pilots, “Beta” testing, etc.

Page 64: It is not possible to exactly define Agile Methods

Develop and Implement aProject Management Process

Agile Approach Needs Analysis:

User feedback (Confluence postings, service tickets), systems monitoring (BI)

Requirements gathering: Confluence, story-telling, use cases,

organizational/audience analysis (thanks Ken!), product/project managers

Resource analysis Readiness Rating Rubric, product backlog

Implementation operations, enhancements, projects