Sunday, December 18, 2011

The Agile Ball Point Game

This video demonstrates the Ball point game, a game to feel what it is to work in an Agile team. I facilitated this at PMI West Bengal chapter annual conference Aviskar.

Agile talk at PMI Mumbai Conclave 2011

At PMI Mumbai Conclave 2011, I gave a talk on "Mitigating Risks with Agile Project Management". I am embedding videos for everyone's reference.



Monday, September 19, 2011

PMI Agile Certification: Filling a Gap in Industry (PMI Article: ManageIndia Volume 3 Issue 3)


PMI Agile Certification: Filling a Gap in Industry
The certification comes at a time when agile practices are gaining ground across India
Keep it flexible, keep it agile. Increasingly, organizations are realizing the need to keep their development processes open to change. If the market conditions are dynamic, shouldn’t the product development environment reflect the changing forces at work? With organizations adopting agile practices to align their development environment to changing market needs, the requirement for project managers trained in agile practices is going up. The new PMI agile-Certified Practitioner (PMI-ACP)SMaddresses this requirement from industry.

Recent PMI research on the growing adoption of agile showed that 68 percent of organizations using agile practices would find value in an agile certification for their practitioners. The research also revealed that 63 percent of hiring managers would encourage their project managers to pursue an agile certification. The PMI-ACPSM validates a practitioner’s ability to understand and apply agile principles and practices on basic projects. Of particular value to managers, the PMI-ACPSM program is one that encompasses the broad range of agile practices and techniques, rather than methodology specific programs currently available in the industry.

A research report published by Forrester in May 2010 showed that agile is becoming mainstream. A total of 35 percent of surveyed organizations described their primary development method as agile. Moreover, 11 percent said Scrum was the most popular agile development approach. In another survey, Forrester examined the level of agile adoption and found that 39 percent of the surveyed organizations considered their implementation mature.

The need for agile practices and techniques
In India, agile is finding appeal across industries. In software development, it is increasingly becoming the main project management approach. Mr. Jesse Fewell, PMP, CST, founder, PMI Agile Community of Practice and managing director, RippleRock India says, “Today’s market is extremely impatient. Business owners want elements of their projects delivered as soon as possible. Iterative delivery adds value sooner.”

Mr. Rahul Sudame, PMP, CSP, CSM, corporate relations director, PMI Pune-Deccan India Chapter, and senior project manager, Calsoft Pvt. Ltd., says the momentum toward agile is picking up because of the changing business scenario. “The traditional way of signing off the requirements document with the customers and then implementing only those frozen requirements is not the most practical way. With agile methodologies, the customer or product manager in case of product-based organizations can modify the requirements when needed, yet keep to the release schedule,” he explains. This approach works best if the customer or the product manager is an integral part of the process and there is organizational buy-in for agile.

Mr. Hiren Doshi, PMP, CSM, CSP, founder, PracticeAgile, finds that the adoption of agile is no longer limited to software development and companies into infrastructure projects and IT services are also seeing the benefits of implementing agile. “Agile incorporates customer feedback as the project progresses and aims at customer satisfaction by delivering working functionality with business value early and frequently. Agile does not solve the problems faced with the traditional development model; it exposes the risks and impediments early in the development so that corrective action can be taken on time,” he says.

Agile works best for projects in which the customer is not sure of what to expect or where the requirements change frequently. Agile has been successfully used by many organizations for more than a decade. “Agile might not be appropriate for projects when a high level of regulation is needed. In such applications, generate all the requirements upfront, do a detailed design and then implement. Agile can work during the implementation phase to monitor and track the progress of the project,” adds Mr. Doshi.

Time for some agile myth-busting
There are several myths around agile, and mostly the myths stem from half-baked knowledge from untrained practitioners or incorrect interpretation of the Agile Manifesto. Some of the common comments are: “We are agile, we don’t have to do any documentation,” “In agile, we don’t need any processes,” “We are agile because we do daily stand-ups,” “We are agile, we can change requirements anytime we like,” or “We are going agile, I am going to lose my management position.” In reality, a project needs processes and tools, documentation, contracts, and a project plan for project success. The key is in the right balance and that comes from identifying the work that is needed to see the project through.

“One myth is that agile means no planning. In truth, by using release planning, iteration planning, and daily standups, agile techniques require a commitment to ongoing real-time re-planning. The key difference is that customer satisfaction is the primary measure of success, rather than performance-to-plan,” says Mr. Fewell. Each project needs a plan, a vision but details of each phase can be firmed up only when the project reaches that phase.

Mr. Sudame finds practitioners sometimes leave predictability out as a non-agile feature that can affect project success. “Agile methodologies provide adaptability and traditional Waterfall provides predictability. One of the myths is to ignore predictability in agile. Organizations need both adaptability and predictability, which makes release and iteration level planning and tracking important even in agile,” he explains.

How will PMI-ACPSM certification help?
The PMI agile certification comes at a time when industry is warming up to agile and is looking for validation of practitioners’ knowledge and expertise in this approach. “The PMI agile certification provides a manager an opportunity to understand the various aspects of implementing agile in the organization and his/her role in it. A certified manager will be able to handle agile projects more effectively and thereby build on the confidence of customers,” says Mr. Sudame.

Mr. Doshi feels the certification will help give structure to the agile body of knowledge. “Over the years, some organizations have embraced agile in its purest form and some have tailored agile to meet their needs. However, there has been no common structured body of knowledge. I’m delighted to see that PMI has put together a structured agile certification program,” he says.

The certification will take the momentum that is building around agile to the next level. “PMI first offered agile programs at SeminarsWorld and Global Congress, then came the PMI Agile Community of Practice, and now PMI-ACPSM. We have professional development programs, a community, and now a certification,” says Mr. Fewell.

Article referenced from: http://www.pmi.org.in/manageindia/volume3/issue03/feature.story.html

For more details on PMI-ACPSM please log onto http://www.pmi.org/en/Certification/New-PMI-Agile-Certification.aspx

Thursday, August 11, 2011

PMI Agile (PMI-ACP) curriculum rocks!


Finally, it’s good to see a solid and complete Agile curriculum. PMI has come up with new certification, PMI-ACP (Agile Certification Program) to test students on their Agile knowledge. PMI’s Agile exam will test student’s knowledge with 120 multi choice questions on all major Agile methodologies like Scrum, XP, Lean Kanban, Crystal, FDD, etc.

What I find good about this exam is it is not limited to only Agile methodologies, but it will also test students knowledge on  wide variety of Agile topics like Communications, Metrics, Planning Monitoring and Adapting, Product Quality, Risk Management, Value Stream Analysis, Story mapping, and soft skills negotiations / coaching skills just to name a few.

PMI has also done a fantastic job of covering all the above listed topics with the selection of 11 reference books (listed below).Potential PMI-ACP candidates will have to reference all 11 books to pass the PMI-ACP exam.

PMI has also ensured that to take the PMI-ACP exam, students must have at least 1500 hours of Agile experience and provide proof of the same to PMI-ACP certification auditors.

Jesse Fewell and I have co-trained the first ever PMI-ACP class in Asia and it was a grand success. Our interactions with the students revealed that most of the students had major gaps in their understanding of many technical practices like TDD, Pair Programming, Continuous integration, and the Lean concepts. There were many ‘Ah-ha’ moments in the class during our training. The students were not only excited about the Agile Certification from PMI, but were also eager to apply the techniques and practices they learned in the class in their work environment.

I have an extremely good feeling that PMI-ACP is here to stay. The PMI-ACP certificate is going to help the industry get some good Agile evangelists that can apply techniques and best practices from various Agile frameworks and reap the real benefits that Agile has to offer.


PMI-ACP book  list
          Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.
          Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.
          The Software Project Manager’s Bridge to Agility. Michele Sliger, Stacia Broderick.
          Coaching Agile Teams. Lyssa Adkins.
          Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.
          Becoming Agile: ...in an imperfect world. Greg Smith, Ahmed Sidky.
          Agile Estimating and Planning. Mike Cohn
          The Art of Agile Development. James Shore
          User Stories Applied: For Agile Software Development. Mike Cohn.
          Agile Project Management with Scrum. Ken Schwaber.
          Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott. 

Sunday, April 17, 2011

My talk @ SPIN Meet on Structured Agile Project Management Processes

CSI SPIN - Mumbai
(Software Process Improvement Network)

When: Friday, May 6th 2011 
6:00pm to 8:30pm

Venue:
CSI  Mumbai Chapter
E- 217, 2nd Floor. Floral Deck Plaza, Near Seepz, MIDC, Andheri (E)  Mumbai 400093
Ph: +91 22 28235476 / 28235548

We request you to please register at info@csimumbai.orgcsimumbai@vsnl.com with cc to the underlined. 

For further details contact:

Mr. R C Goyal, Member IEEE Bombay Section

Member SPIN Coreteam CSI Mumbai Chapter, rcgoyal@gmail.com; rcgoyal@avrms.com
Mob: 00919869463964; 00919820068417


Tuesday, October 5, 2010

Delivering features based on Business Value

Agile software development emphasizes on delivering functionality on highest business value. What this means is, to prioritize the product backlog based on features that are most valuable to the end customers.

I often give this example to new teams transitioning to Agile development. Taking "Microsoft Word" as an example, I ask the team if I consolidate overall functionality in Microsoft Word to 100 features what percentage of features do you think you use on daily basis? The poll within the team normally reveals 25 to 30 features. So, for all intense and purposes Microsoft could have released "Microsoft Word" to production with 30% of the functionality and satisfied the mass customers - thus delivering features based business value.

If Microsoft used the traditional waterfall (which they mostly did) or Spiral approach of generating all requirements upfront, designing, coding, testing, etc they would spent years working on the project before making the first release. In the Agile approach, keep delivering features in a time-boxed interval that the customers value most and once product is deemed feature-rich, release the same for general consumption.

There are several advantages of delivering features based on business value.

  1. To meet one of the 12 Agile principles from the Agile Manifesto, "Simplify: maximizing the amount of work NOT done".
  2. To work only on features that adds most business value to the customers.
  3. To collect quick feedback from the customers to ensure functionality delivered to the customers meets their requirements to satisfaction.
  4. To release product with fewer or no defects to the customer as only minimum features with highest business value to the customer is coded and shipped to the customer.
  5. To beat the competition by getting to market first.
To summarize, product owner should prioritize the product backlog with features based on business value, and teams should only work on features that add value to the customers.

Sunday, October 3, 2010

Diminishing ROI with NO Automation in Agile development

My interaction with various clients that are in process of transitioning to Agile often ask this question - Is it ok to skip automated Unit and Acceptance testing and only perform manual testing? The reservation normally arises due to old school of thought where manual testing was tolerated and where CLIs and API needed for testing are normally an after thought. Sometimes it is also because QA engineers are manual testers and have no needed programming skills. And at times people tell me Automation takes time off from active feature development and is an overhead.

No matter what is the reasoning, I always preach to these teams, "Automation is a rule and not an exception" and I try to justify my statement using the example below.

The diagram below, "Agile with No Automation" helps illustrate the impact of skipping automation totally, causing diminishing ROI. The goal of each sprint should be a running software that is fully tested, integrated and potentially ready to ship. To meet this goal all features have to be regression tested at end of each sprint.


For the purpose of this example let's assume Scrum team is able to do the same amount of work each Sprint and each feature is of same size.

  • In Sprint 1, the scrum team completed 3 new features without any automated tests. All testing is done manually to meet the sprint goal.
  • In Sprint 2, the team is only able to complete 2 features as the time needed to develop the third feature has to be used to perform manual regression testing of 3 features developed in Sprint 1.
  • In Sprint 3, the team will be able to complete only one new feature as the time available for remaining features will be used for manual regression testing of 3 features from Sprint 1 and 2 features of Sprint 2 in addition to performing manual testing the new feature delivered in the current sprint, i.e. sprint 3.

As you see in the above example, every new sprint team is spinning wasted cycles doing manual regression testing the old features which could have been totally eliminated if all tests are automated.

Now, let's consider this scenario where all tests Unit and Acceptance tests are automated each sprint with illustration in the diagram below, "Agile with Automation".


  • In sprint 1, the scrum team completed 3 features and all test are automated. When the team says done, they are indeed done - everything coded, tested, integrated and working software.
  • In the following sprint, i.e. sprint 2, the scrum team will be able to complete additional 3 new features as regression testing is automated. Remember, it is machine time as opposed to laborious human time spent running manual regression tests.
  • In sprint 3, the team develops 3 additional new features without worrying about regression testing the old features.

Automation gives developers and quality assurance engineers enough confidence to make the necessary changes in the code base thereby generating a potentially shippable product every sprint.

The above example shows that ROI without automation is 6 features and in the same time frame the ROI is 9 features with automation.

Remember, to reap benefits of Agile Software development, "Automation is the rule and not an exception".