27 April, 2009

Few agile thoughts

Last week I spent a week in my office to undergo training on agile i.e. from 21 april 2009 to 25 april 2009.
It was very effective and found to be informative in the sence mixing the UP, XP and SCRUM practices for today's software development demands.
Day-1
Following are key points which come-up during discussion:



  1. Agile is a collabaration of all principles


  2. SCRUM does not address all the aspect of software development; best bet would be mix of processes like XP, UP and Scrum



  3. "Time Boxing" will break if deadline is extended or scope is reduced



  4. Six week iteration will pose a motivatio challenge to the team; as human does not show the urgency if the task is more than 6 weeks long



  5. Initial productivity will also been lost due to laid back attitude



  6. The ATS expects fundamental change in mind; usually change expects 12-36 months duration. As most of the human fall either Neophilic (embrace change), Bewildered (dominant followers) and Neophobic (dont embrace change)



  7. No missin critcial or important projects should be taken as part of ATS



  8. Iteration is all about cutting down WIP tasks, it is about finishing the tasks
Principles of 2nd generation agile lean


Standups - Catch the problems which are smaller in size


  • Many agile teams unable to keep track of project progress

  • Agile project mgmt is all about risk management

  • Up-front req is bad as there is a chance of feaure being not used by user (study shows that 45% of the developed features are not being used)

  • Deliver early and oftenly is a best way to deal with req mgmt

  • Iteration '0' shall be used for strategic planning, high level architecture, POC, goals, vision etc

  • Risk driven development addresses both technical and business risks


Risks
Scoping risk - dont know what is in the scope



  • Req risk - dont know what is req

  • Verification risk - dont know what is acceptance crieteria

  • Do the work which you dont understand; always look for dark corners in teh project

  • Lean principles such as No waste; only value add, no unevennes and no stress must be applied for better worklife and product output

Requirements



  • Requirements is always exploration in accordance with risk

  • Requirement analysis must be carried out always through out teh life cycle to identify the lean symptoms

Day-2



  • Dont impose the work; rather design the work which suites the individual.

  • Pair programming- Front seater: key in code, syntax check (tactical), Back-seater: strategic thinking

  • Retrospectives: Without actions; it is waste of time. Also it should be place for strategic thinking and implement few actions (SMART)

  • Pay attention to study Neural Networks to know behaviour of s/w ppl
    estimation is a guess. It has two types, wild guess and scientific guess. Pessimist makes always good guess :)

  • Self organizaing teams: a) Train the team about prinicples b) Set the goals, objectives c)Get out of the way from team

  • Goal is direction and Objectives are phases to achieve the goal
    ----------obj1----------obj2-------------obj3-------objN---------->GOAL
    Risk profile is directly propotional to sw process
    Risk first; do the risk things first; it is better to fail early and cheaply

Key roles in good team

Project Mgr - Responsbile for project progress (Steering committie, Sponsers, LoB VP)


Product owner - Responsible for business value (Busines Analyst, SME)
Tech Lead - Care about feasible solution (Architects, Designers, Developers)
Test Lead - Concerns about s/w quality (Testers, Test Analyst)

9 Box technique for risk driven development



Agile Metrics



  • Measures outcome; not output

  • Follow trends; not numbers

  • Must be easy to collect

  • Dont email the metrics report to anybody; since it aviods the communication (direcly ask them to come for meeting)

  • Metrics are artifacts

  • Any development involves two types of code; solution code and verification code

  • Agile strories can be Epic->Story-Features. It similar to RUP Use cases like Composite UC->Scenario->UC
Estimation is not committment
Estimation shall be divided into
No-fidelity (No analysis, less time) +- 200%
Low-fidelity (some analysis)+-50%
High-fidelity (good analysis, POC, good time) +-5-10%
Estimation variance
no-fi = effort * 3.0
low-fi = effort * 1.5
high-fi = effort * 1.05



  • Iteration planning must include change mgmt, new stories estimations, WBS, report progress (strategic plan/release plan)

  • Vision should be collabartive effort; never take all the inputs from single source. As part of requirements/ATS disussion sessions; follow few guidelines such as

  • situation questions like where are the pain points, what are teh goals, problem context, real problems, value of the client etc.

Key questions



  • Why - pains, goals

  • who, where - Narrow or broad groups, shallow or deep team (like BA, Executives etc)

  • what - business types, LoB, business practice in use

  • how many - affected groups, size of each group etc

  • how soon - time constraints

  • how much - budget constraints, targets

  • Team work - The real problem of responsbility emerges when things go wrong

One new learning / day - however small it is

Read a blog / or article Watch TED talk  Read a small self-help book (many free eBooks available with less than 100 pages/can be completed i...