Friday, July 30, 2010
Agile Results
My Personal Observations and Learning’s
My way of giving back to community of Learner, we grow by sharing
Where were we a year ago?
We were using traditional approach since last 29 years. We switched suddenly to agile starting with one department.
We started as one team, broken into 3 teams of 7-9 people, added 4 teams & extended agile initiative to other departments within a year.
Now agile journey is on forever and no one likes to go back to traditional approaches.
What were projects?
• 3 different complex Telephony Services projects
What were our challenges?
1. Lagging behind competition
2. Decreased in productivity despite of flexibility
3. Increase in demand for service but cannot deploy services at faster rate
4. Increased cost of delivery due to more number of people on specialized skills like testing, documentation, process compliance etc.
5. Not able to retain sound architecture for future
6. Advancement in complexity and range of function in products
7. Under estimation of work
8. Not able to deliver efficiently while working remotely or distributed across geography
9. It was very difficult to adapt to changed circumstances like business need, project scope, and requirement in short time.
10. Difficulty in collaborating with other teams / poor intergroup & overall communication
11. Poor time management, team bonding, enthusiasm & long time to take decisions
12. Difficult to accurately prioritize work /deliverables
13. Difficulty coordinating code changes across teams
14. New joiner taking long time to come up on speed
Why did we choose Scrum?
• Light weight, transparency, respond to change quickly, feedback loop to improve direction
• Improve Productivity, reduce time to deliver and stay ahead of competition
• Introduce self-management, self organization and increase visibility
• We found Scrum can be Best fit for complex telecom projects after detail analysis of other approaches
What were top things that our team did that made huge difference to the project?
1. Received Management Support for -
a. A mandatory one week agile training for all
b. Selecting Scrum as project management practice after detail analysis of available agile methods
c. Managers showing high trust for every team member
d. Flexibility , deep understanding of issues & quickly resolving impediments
e. Allowing team to become self organize
f. Listening to team and allowing team to take technical decisions
g. Change in project but No change in team members - keeping cohesiveness in teams
h. Onsite agile training and real scrum experience for offshore team lead
i. Well define standard productivity of 6 hrs per person for his/her work day
j. A real capacity planning excluding non working or absent /leave days. Plan 80% of available capacity for each resource for managing unplanned situations for personal or professional work.
k. Be a True or honest chicken in daily stand up
l. Design golden rules for daily stand up.
m. Encouraged retrospectives
n. Reduce time for Sprint demo over a period of time – Converting multiple team demo’s into single demo, if multiple teams works on same product
o. Forced product owner to create prioritize product backlog before start of sprint
p. Creating generalist from specialist – Involving almost everyone including architect in testing
q. Choice of Color for team of 7-9 team members
r. Encourage collaboration between teams and team members, creating environment of openness and true help
s. Create agile book library & exclusive conference room for agile teams
t. Understand sprint fall out and conveying it to upper management / product owners
u. Providing A Proxy to product owner – a must in sprint planning meeting
v. 2 days break between sprint, allowing team to settle and get ready for commitment
w. Making mandatory for product owner to define acceptance criteria for each user story
x. Big charts of agile values, principles and daily stand up guideline in meeting rooms
y. Forcing team to implement one or two team retrospective items in subsequent sprint
z. Snacks during big team meeting and team lunch for bonding
2. Taken Tools and technology Decisions -
• Java for development
• Eclipse As IDE
• SVN for repository
• Wiki for project info
• Hudson for build and CI (Continuous Integration)
• Rally – ALM tool for agile project management with quality manager
• TDD (Test Driven Development) – Training from object mentor for developers , tester & Implementing TDD
• Fitnesse for acceptance testing – Column fixture to Scenario fixture
• Open source with paid technical support
• Independent clusters for each development team
• SQL Developer for schema design
• Conference bridge, chat , smart board , live meeting for effective communication
• Automated scripts for network or machine upgrade
• Automated build
3. Implemented below Mandatory compliance for Daily Scrum Guidelines
1. Everyday come on time and be prepared
2. You always have a status
3. In the building in the room
4. Working remote on the bridge
5. If you know in advance that you cannot attend a Scrum provide status/commitments via proxy
6. Only one person talks at a time, everyone else listens
7. Track questions via paper/pen
8. Be concise on status/commitment
9. Cell phones on mute during scrum
10. Speak loud and clearly
4. Used Expertise and Created Respect for Human values
• Developers with domain knowledge
• Respect for everyone
• Love, passion, knowledge sharing, & continuous focus on committed work / sprint goals
• True – TEAM (Together Everyone Achieves More) Spirit
What was one earlier failure we had that made us nervous that made us think *May be this isn’t for us*?
• Total design change for a product that we developed
• Changing the entire direction of product that was previously developed in few sprint
• Sudden increase in expectations to deliver drastic change with quick turnaround time
How did we over come early disappointment?
• Management added new and additional resources to team
• Everyone took it as a challenge to proceed with it as one Team
• Negotiated scope for release
• Requested product owner to freeze thought for a release
What were end results?
• Over 2575+ user points completed
• Over 450+ user stories accepted
• 3000+ tasks completed
• 1500+ test cases have passed and
• 130+ defects have been closed
• Received good support from outside team & improved communication
• We are able to make decisions quickly & Increase in enthusiasm
• We accomplished sprint goals despite of all interruptions and distraction
• Meet our commitment every single time
• Improved team motivation, bonding & team work to get tasks done
• Very well defined acceptance tests in beginning of sprint
• Efficient time management & accuracy in estimation
• Adapting to Agile: less stressful, less impediments & quick learning curve
• Improved sprint planning and work started on same day of planning
• More generalist, high morale, improved skill set, & can define realistic goals
• Good decisions to pick flows so it touches all parts of architecture
• Improved on time delivery of testable product
• Clarity in product description and product vision
• We stop over or under commit
Friday, March 12, 2010
Qualities of a truely Successful Agile Coach
What are A & A – Z & Z Qualities of a successful agile coach?
1. A & A – Attitude and Affirmations – (A = 1 + T =20 +T=20+ I = 9 + T = 20+ U =21+ D = 4+ E =5 mean this word is formed based on the position of letter in A(1) – Z(26) that mean 1+20+20+9+20+21+4+5 = 100. Dress up your attitude and you can get 100 percent success.
Affirmation is a self talk – whatever you talk to yourself will get reflected in your behavior. Have a nice self talk and nice thing will happen
2. B & B – Balance and Bench mark –Create a balance in your mind, be unshakable against war of Naya – No Sayers. Take a bench mark of your work and progress of your team through constant feedback mechanism
3. C & C – Courage and Collaboration – Only courage can create high collaborative team.
4. D & D – Determined and Desire – Have a strong determination for making other’s successful. Desire for a success, look for all the good things that everyone has and you will find excellent things in every human being.
5. E & E – Energetic and Enthusiastic – People around you can see your energy and enthusiasm, exhibit them
6. F & F – Focus and Faith - Create constant focus – implement game of Dash and Marathon in your sprint with a strong faith to win a game
7. G & G - Give and Give – Unconditionally give all the help and support that you can, be a giver. Whatever you give to others it will come back to you.
8. H & H – Happy and Honest – Maintain this state of mind called “Happy”, if you are happy, you will find happy people all over the world and it will spread. Be honest in whatever you say and do
9. I & I – Income and Investment – Use these as business value criteria for each user story. Ask product owner what is income we will get from this functionality? It is hard to implement but if implemented it can provide the best result
10. J & J – Joyful & James – Be joyesh Jim or Joyesh Jane all the time. Unleashed the James, diamonds within, every human being has all the qualities within himself or herself. No own told you that you can be anything at any age and you also do not believe that you can be anything.
11. K & K – Kind and Knowledgeable – Through kindness, you can understand kinesthetic feelings that human generate by making auditory and visual images inside brain. This helps understanding teammate and their problems very easily. Also you can build a deep report with your team. Knowledge is a true power, if you have hands-on for writing fit script for TDD, Hudson for CI , Junit for Unit Test, Silenium for GUI test, you can be a great asset for technical team
12. L & L – Love & Learn – Love all the people unconditionally, love yourself and people will start loving you. What you are get reflected and it comes back to you. Become student forever, keep your mind open. Human mind is like a parachute, it works great when it is open
13. M & M - Miracle and Mind. All the things that we see around are miracles of human mind. Human beings can do wonders if given all the resources, help and trust.
14. N & N - Neuro-lingustic Programming and Noble deeds – NLP helps reading minds of team members and build report with them to provide a solution to their problem. Noble deeds - One may not stay on this planet but his deeds are eternal.
15. O & O – Objective and Observation – Always have a very clear objective of what you really and specifically want. Observe reactions of people on words, hand movement, body language. Only 7 percent of communication happens through words and 65 percent is through body language. Be an excellent observer
16. P & P – Passion and People – Have a passion of doing everything and anything that is possible. People are the most valuable things in your life respect their thought & mind unconditionally, it is their model of world. Their wiring has happened in a way they are grown and nurtured
17. Q & Q – Questioning and Quality – Use Open questions for starting discussion with product owner & control questions for gather facts. Quality in agile is from day one – start with TDD. Do not accept user story unless it has clearly define business value and acceptance criteria
18. R & R – Realistic and Respectful – Be realistic all the time, 90 percent of functionality is never used or not required by customer. Respect everyone in every way.
19. S & S – Satisfy and Serve – Satisfy customer’s real need, rather than imaginary needs. Adopt a servant leadership model proven by Mahatma Gandhi, Nelson Mandella, Mother Terressa or any servant leader that you have a strong belief. Human modeling was around since decades , use it to your advantage
20. T & T – Time Boxing & Trading – Time boxing is one of the powerful way on which agile project management practice is built (Scrum) , use it to create right pressure. Trade time for business value only, apply 14-toyota way to eliminate waste
21. U & U – Unique and Unify – Unify all the unique individuals on team (Business + IT) through collaborative communication & use of simple language. Mostly use visual communication, white board, videoconference, web cam, live meeting, SAS implemented ALM tools, wiki pictures etc.
22. V & V – Vision and Value – Have a well defined vision for each product and get it nailed down to each developer on team. This is a roadmap as to where we want to go from where we are. Map agile values and principle with organization values. Values and principles are major ingredient of success
23. W & W – Work and Worship – Work is worship – What pays makes sense
| 24. X & X - Xanadu & Xavier . Xanadu – Beautiful or wonderful place. Create work environment as one of the most beautiful place. Xavier - The middle name of a well known morpethian mathematician and comedian. One must apply mathematical skill and sense of humor to produce desire results |
25.
Y & Y - Yogi and Youthful – Yoga (Your Own Goal Achievement) is about integration of mind, body and soul. Yoga has nothing to do with any culture or religion. Do power yoga to calm down your thought and create balance within yourself to stay youthful forever. Youthfulness is a charm that team likes
26. Z & Z – Zion & Zeal – Zion is an imaginary place considered to be perfect or ideal. Remember there is no perfection in this world, it is always continuous improvement. Zeal – Active Interest
Saturday, February 27, 2010
What is True Science of Yoga
Yoga - Your Own Goal Achiever.
- It gives Strength, power, flexibility, energy, calmness, focus and improves performance in all the areas of life
- It has nothing to do with spirituality, religion, culture. It is a scientific way of activating your own body cells.
- It improves cardiovascular system as human body is 100 percent oxygen, 75 percent water
- It is massage to central nervous system
- Every human being on this planet has unlimited potential that can be untapped by constant practice and learning only from people who has gone to schools and colleges
- This planet called "Earth" can be a best place for every human being to live just by calming down mind
What are Qualities for Successful agile coach
- Explore and teach true science of YOGA (Your Own Goal Achiever)
- Be a servant leader
- Stick to values and principles of agile
- Set a reminder for Sprint goal
- Use all communication mediums very effectively and efficiently that include, Skype, video-conferencing, chat, wiki, web conference
- Create a enthusiasm and maintain charm
- Use neuro-lingustic programming to get transform yourself
- Unconditionally Love people - It comes from self, if you love yourself it will get reflected in your behaviour
- Respect the difference - We are all can think differently , respect of difference can add to your success
- Practice TDD, BDD, Unit Test , Acceptance Tests mostly use open source to save cost and time