Archive

Archive for the ‘List’ Category

12 Agile Adoption Failure Modes by Jean Tabaka

June 3rd, 2009

fail sign from failblog.orgLast night at the BayAPLN, Jean Tabaka from Rally Software gave a presentation about the typical failure modes of Agile. This is distilled from her observations and being asked from people who have heard the hype, what are the real problems with adopting an Agile approach?

Which is your current favorite?

  1. Checkbook commitment doesn’t support organizational change management. CEOs create within the company their own personal family dysfunction.
  2. Culture doesn’t support change. Reward plan, and a static and prescriptive standard of work. Try to keep cross-organizational uniformity and use PMO as enforcers.
  3. Do not have retrospectives, or they are bad. Actions which come out get ignored or written off.
  4. In a race to finish features, the infrastructure gets worse and architecture becomes unstable. Distributed teams make this worse.
  5. Lack of collaboration in planning. Like having the whole team for release planning.
  6. None or too many Product Owners. Both cases look the same. Agile is yet another hat to wear and the person is already too busy. They check out and ask the team to just do Agile. Can’t get past the ‘this sucks’ phase of adoption if the business is not bought in.
  7. Bad Scrum Master which uses a command and control style with the team to look faster, yet in reality slows things down. Low morale lowers IQ. Take decisions away and it actually makes people stupider!
  8. No on-site evangelist. If the teams are distributed, need one at every site. Can’t reap the benefits of Agile or offshore without an on-site coach at each location.
  9. No solid team. Actually missed this one, inferred. Empowered teams amplify learning.
  10. Tsunami of technical debt if don’t pull tests forward.
  11. Traditional performance appraisals. Individual heroics rewarded, glad you’re not a team player!
  12. Revert to traditional. Change is hard. Hit the threshold where this sucks. Revert back to old ways of doing business.

Jean then challenged the group to choose the one issue they would like to see changed at their work and come up with an action plan right now to change it. In a month, retrospect on how well it went. Perhaps that would be an interesting open space subject in a couple of meetings for the BayAPLN?

It isn’t all bad. In writing this blog, I found that Rally has also started posting the top 10 characteristics of an Agile organization.

Update: Adding the video from Agile Australia mentioned by Mike Alber.

Day 1 – 9.45am – Jean Tabaka from Zoltan Deak on Vimeo.

  • Share/Bookmark

Aaron Agile, List

25 (not so) Random (yet somewhat trivial) Things About Me

January 24th, 2009
  1. I’m an only child. Some people ask if I feel like I missed out. I don’t know what they mean.
  2. I shake the hand of any people who tell me they are a native of Colorado as well.
  3. Consuming adult beverages is enjoyable, and I have a low tolerance so it’s easy for me to get a light buzz. Dangerous for me to consume in quantity and so I merely sip.
  4. The pinnacle of existence for me is enjoying a day of deep, untracked powder.
  5. I don’t like ’stuff’ and tend to give away or get rid of many things.
  6. Some people think I am quiet and reserved. I wonder how they got that impression.
  7. Experiences delight me and I seek out new ones all the time.
  8. I like to turn a light on before turning the previous light off as I walk through the house. Sometimes it means I walk in serial laps.
  9. Actually, I prefer to leave the lights off and let my eyes and other senses adjust.
  10. I called a meeting with my principal to explain why I should move from 4th to 6th grade, she let me. It just seemed to me like 12+ years in formal education a lot of my life. More than I had lived at the time.
  11. My first crush was on Kristy McNichol in ‘Family’ and established my penchant to fall for the tom-boy.
  12. My second crush was on Blondie and established my penchant to fall for wild women.
  13. Around this time I insisted people call me Tim. Nobody did.
  14. I had surgery on my left foot due to a 1 in a million condition. If it had failed, I would hardly be able to walk now. Instead, it just merely hurts.
  15. I went to Spain to visit a friend, and lost my appendix. Good thing I had my bi-lingual friend who grew up in the area to help me.
  16. There are 7-year-olds who have more drawing talent than me. Do not choose me for Pictionary.
  17. Having change in my pocket drives me crazy.
  18. I’ve never worn a watch.
  19. People compliment me on my touching eulogies. It’s melancholic to be a good speaker for the dead.
  20. I’m myopically prescient. What I see, happens about 3 seconds later.
  21. Sometimes I become aware that I am dreaming and even more rarely I can start actively creating it.
  22. Alaska is the only state I’ve not seen, and I’ve never been to Mexico.
  23. I am not, and never have been, a note taker.
  24. Working for a paycheck always seemed to get in the way of life. What I am doing now and the compensation fits my lifestyle much better.
  25. My wit may be esoteric and therefore I appear to be just strange to some.
  • Share/Bookmark

Aaron List

Agile Reading List

October 30th, 2008

It’s a rather long list on Amazon.

http://icanhaz.com/AgileForSoftwareDevelopmentOrganizations

Sorted by fundamentals, then technical, some management and enterprise in there, too.

What would you like to see added to it?

  • Share/Bookmark

Aaron Agile, Lean, List, Scrum

Advisement Centers

August 19th, 2008

Places for me to seek advice.

  1. sounding boards
  2. informed opinions
  3. the present moment
  4. realization

Sounding boards are my friends and family which offer their permission for me to test their reaction to a statement or feeling of mine. Through discussion with knowledge experts and researching their work, I look to the informed opinions of those with solid facts, or experience with my problem domain. Awareness of the present moment is enhanced for me through meditation and physical activity; such as hiking, dancing, drawing or snowboarding. Moving in and out of the present keeps me in tune with my body, thoughts, feelings and intuition when pondering questions and come to a realization of how to proceed.

  • Share/Bookmark

Aaron List

Agile Team Members – Roles and Responsibilities

August 12th, 2008

The following was written by myself and edited by my manager to help define roles in our group. Modifications have consisted of removing any reference to the specific group. This is largely influenced in the writing by David Anderson’s book Agile Management. Most of the wording for the roles of Product Owner and Scrum Master come from the Scrum Alliance, with specific cites on the role’s title. Influences in the editing have a decidedly more traditional feel to the statements, and leaves one feeling they are behind the steering wheel of some analogous car.

Agile Team Members – Roles & Responsibilities

The key to successful team building is creating unity while celebrating the individuality of each team member => Common purpose supported by unique contributions

  • Team is held responsible for a release, individuals are held accountable to their commitments
  • Each team member has one or more roles on a project
  • When a team member has more than one role on a project, potential conflicts may occur. Always think checks & balances before signing up for multiple roles

Program/Release/Project TEAMS

Program/Release/Project CORE Team consists of:

  • Product Owner (aka Product Manager)
  • Engineering Manager
  • Architect
  • QA Manager
  • Program Manager (aka Project Manager, Scrum Master)

Representing multiple TEAMS as a Core Team member

  • Cannot attend multiple stand ups
    1. Scrum team too large and being split
    2. New teams being formed
    3. One core team member on multiple Scrum teams
  • Stagger daily stand ups
  • Attend one stand up and send a proxy to the other

Scrum Of Scrums

  • Starts ON TIME
  • Attendees
    1. Core team members
    2. VP of the group
    3. All other VP direct reports
  • Scrum Master is the Director of Program Management
  • Product Owner is the Director of Product Management
  • Program or Project Manager (Scrum Master) for the project answers the following
    1. What was accomplished on the project yesterday?
    2. What is happening today on the project?
    3. What is blocking the project from progressing to deployment?
    4. What are other projects with which this one is being integrated?
  • A proxy of another core team member who attended the daily stand up can answer if needed
  • Product Owner provides business and domain answers for clarification of project direction
  • Side conversations are parked and follow-up meetings arranged
  • Scrum Master records all blockers and follow-up arrangements
  • Scrum Master lists out existing blockers and follow-ups made
  • VP prioritizes blockers
  • NOTE: Every attempt is made to resolve all blockers in the day they are raised.

Representing multiple ROLES in a Core Team

A core team member might have for example, both the roles of Product Manager and Architect; or a team member may be Scrum Master and Engineering Manager. In some cases, there can be a potential conflict of interest. In the first case, this could be a person with great, wide vision for a product. In the latter, this is a coalescing of authority and responsibility. The person responsible for protecting the team from interrupts with outside work now has great influence to interrupt someone working. Please use due diligence in volunteering for, or assigning people, multiple roles.

Scrum Team consists of:

  • Scrum Master role – usually Project or Program Manager but can be anyone on the team
  • Product Owner role – usually Product Manager but can be anyone on the team
  • The Team of 7 people, +/- 2, Responsible for Task Completion :: Development, QA, Architect, OPS, UED Engineers, etc
  • Core Team

DESCRIPTION of Roles & Responsibilities

Product Manager aka Product Owner

Role definition

  • “CEO” of the product
  • Vertical – focus on long and short term product vision of a product line
  • Represents customer’s interest
  • Represents the product to the outside world (Customer)

Responsibilities

  • Responsible for market, business case, and competitive analysis
  • Responsible for long and short term product vision
  • Responsible for ROI and Net Profit
  • Prioritizes features for releases based upon expected ROI
  • Writes Acceptance Criteria
  • Writes user stories
  • Makes tradeoff decisions between scope(value in Expected ROI) and schedule(higher operating expense in longer release cycles)

Challenges

  1. Resisting the temptation to “manage” the team. The team may not self-organize in the way you would expect it to. This is especially challenging if some team members request your intervention with issues the team should sort out for itself.
  2. Resisting the temptation to add more work
  3. Being willing to make hard choices during a planning meeting.
  4. Balancing the interests of competing stakeholders.

Program Manager

Program Managers can perform both Project & Program Manager roles. On a Scrum team, Program Managers usually perform both Program Manager & Scrum Master roles unless another team member is assigned to be Scrum Master.

Role definition

  • Horizontal (Across the product lines, projects, x-functional teams)
  • A rational voice to drive the cross-functional core team to solve problems and make decisions
  • Impartial – not biased to Product, nor to Engineering, nor any other group

Responsibilities

Program Management responsibilities

  • Manages planning process
  • Manages overall program schedule
  • Drives multiple releases/projects
  • Facilitates Release Planning & Retrospective
  • Provides access to tools and people
  • Owns all action items for the project until he/she finds the right owner
  • Owns reporting on project status, to all directions
  • Coordinates other release support
  • Responsible for risk assessment & mitigation
  • The Role is a peer to the Product Manager and the Engineering Manager on the release/project
  • Educates/Enforces agreed upon processes & methodology rules
  • Educates/Enforces roles and responsibilities

Scrum Master responsibilities

  • Manages 1 sprint at a time
  • Facilitates Sprint Planning, Review & Retrospective
  • Finds and works to remove roadblocks
  • Helps to motivate the team and keep them excited
  • Protects team from outside distractions
  • Facilitates communication between roles for every aspect of the project
  • Responsible for keeping release/project information consolidated, organized and up to date
  • Drives the cross-functional team at all levels
  • Responsible for throughput (team velocity)
  • Drives the execution of sprint items

Architect

Role definition

  • Leads the technical direction of overall system

Responsibilities

  • Responsible for end-to-end cross functional system design and communication
  • Works with the PM to group features based upon the Architectural Elements which support them, an influence on priorities
  • Tests Architectural Elements with executable and testable design (abstract interfaces, aka the contract)
  • Facilitates technical decision; incorporates feedback and emergent patterns from the team back in to the overall design
  • Produces alternate Design Concepts & detailed approach
  • Ensures the Design goals – Performance, Modularity, Reliability, Maintainability, Reusability, Internationalization and Accessibility – are met
  • Ensures technical cohesion and helps write the technical contract in interfaces and other abstract objects and data entities
  • Leads design review & provides feedback

Engineering Manager

Role definition

  • Ensures the successful completion of Work-in-progress (WIP)
  • Understands the process of product creation

Responsibilities

  • Responsible for rate of production and lead time (what each engineer needs to fulfill their commitment)
  • Responsible for initial high level sizing
  • Works with the architect and the team to prove technical integrity
  • Responsible for conducting forward leaning technology investigations (spikes)
  • Negotiating with architect on technical approaches
  • Removes most bottlenecks
  • Enforces engineering best practices
  • Ensures motivation of their team
  • Assists career development of team members
  • Conducts focals

Product Developer

Role definition

  • Responsible for creation of product

Responsibilities

  • Estimates size of backlog items
  • Translation of backlog items into engineering design and logical units of work (tasks)
  • Evaluation of technical feasibility
  • Implementation of backlog items
  • Writes unit tests first to the contract of the interface and other abstract classes
  • Writes and verifies code which adheres to the acceptance criteria
  • Application of product development best practices

QA

Role definition

  • Prevents defects from entering the system, as opposed to finding them at the end
  • Facilitates building integrity into the software product and development process

Responsibilities

  • Writes test plans which enforce the acceptance criteria of features
  • Keeps all test plans and cases updated to changing requirements
  • Continually integrates the code base with automated builds and functional-level regression tests
  • Notifies when production is blocked due to errors in development
  • Measuring Quality
  • Defining Quality
  • Improving Quality
  • Enforces QA Best Practices
  • Provides visibility into end-to-end product quality
  • Owns QA Health status of releases/projects in SM dashboard

UED

Role definition

  • Integrating the human factor in to features

Responsibilities

  • Responsible for overall UI consistency across interaction models and visual styles
  • Upfront user research (to help inform features/direction)
  • Interaction Design specs (wireframes, user flows) which conform to acceptance criteria of the features
  • Works with the PM on analysis of features conform to user’s needs and provide a consistent experience
  • Ensures features are implemented as designed, and design modified to reflect implemented features
  • Visual Design
  • Prototyping
  • Usability testing

Operations

Role definition

  • Keep products running in production

Responsibilities

  • Design hardware configurations for BCP, security, monitoring, availability during product design stage
  • Responsible for getting the required hardware using the “HRC” process
  • Set up staging, production environments (and in some cases the QA environment)
  • Post production monitoring, and troubleshooting of product/services
  • Owns OPS Health Status of releases/projects in SM dashboard

Role comparisons

Program Manager vs. Product Manager Comparison

  • Product Manager: owns the decisions on the project tradeoffs
  • Program Manager: owns the execution of the project based on those tradeoffs
  • Product Manager: owns the product vision: overall and per-project
  • Program Manager: owns the execution of the vision for each project

Advantages to PMs and EMs having a Program Mgr on a project

  • Both are freed from doing all the program/project work!
  • The Product Managers can focus on their true mission:
    • finding the most value in the smallest scope (maximizing ROI)
  • The Engineering Managers can focus on their area of expertise:
    • developing the best engineering design
    • solving technical issues
    • building products in accordance w/ best eng. practices
    • improving performance and stability
  • Share/Bookmark

Aaron Agile, Festival, List, Scrum, Yahoo!

Daily Activites

January 6th, 2008
  • Stretch
  • Be active
  • Go outside
  • Genuinely compliment someone
  • Eat well
  • Read
  • Give thanks for being alive!
  • Share/Bookmark

Aaron List

Resolution Reinforcement

January 2nd, 2008
  1. leave work there
  2. stay in shape
  3. express humble opinion
  4. actively listen
  5. remain patient
  • Share/Bookmark

Aaron List