The PMI-ACP pilot has concluded and the Agile Certified Practitioner certification is officially one month old. The numbers are in! Per PMI Today, January 2012 concluded with 542 PMI-ACPs. Not too shabby for its first month. The PMP is still PMI's shining star, at 4047 new PMPs. What surprised me were the numbers of PMI's other certifications. Only 11 people got the PMI-SP in January. It makes me wonder, what is the PMI-SP certification's value and longevity in the PMI ecosystem? I ask because the PMI-ACP reached a number in one month that took the other certification a few years. And so it begins. Will PMI-ACP be the next PMP? What do you think?
MVP for PMI Agile Exam Flashcards
With the PMI Agile Certified Practitioner (ACP) exam celebrating its first month in the wild, I am sure you are already seeing a lot of study aids and prep courses being offered. Full disclosure, I do offer ACP prep courses and I also offer PMI Agile Exam flashcards. Wait, did you read that correctly? Yes, you did. I want to ensure there is a source of relevant study material available to the masses so I created the PMI Agile Flashcards website and have an iPhone app (that needs to be submitted to Apple for approval). As a co-lead for the PMI ACP support team, we are tasked with creating a knowledge base of relevant information for the ACP exam. Think of it as a Wikipedia for the PMI-ACP but within the PMI.org website. Though that's all well and good, creating a glossary for both trainers and certification aspirants is not a study aid. I still see the need for things like study guides and exam prep tools. I think back when I was preparing for the PMP. Reading the PMBOK Guide was a wealth of information but I needed something to put it into context. It wasn't until I read Rita Mulcahey's book that it all made sense to me. I also created a deck of flashcards for myself to help me prepare for the PMP exam.
Fast forward to today, for those of you who are looking for a study guide for the ACP, Mike Griffiths (the other PMI ACP support team co-lead) has just completed his ACP Exam prep book. I am releasing my Minimum Viable Product (MVP) for my PMI ACP Exam Flashcards. If that combination worked for me to prepare for the PMP, I hope it works for you for the ACP.
If you are wondering what I mean by MVP, I got the term from the Eric Ries book The Lean Startup. I knew that I needed to get something out there now, get feedback from customers, and iterate the product. The good news is, I know the questions and answers on the flashcards are relevant to the exam. All I needed was to get something out there that people could use.
My MVP
1. The first 75 flashcards loaded
I have loaded 75 flashcards into the database. I know they are all relevant because I took (and passed) the ACP exam and because I have been involved during the certification development and am now involved to support it. I've been involved in the Agile and PMI communities for a while now. I want good quality prep materials made available to people. I don't want them to just pass the exam. I want them to learn something.
2. All flashcards map to one of the six domains
Value Driven Delivery
Stakeholder Engagement
Boosting Team Performance Practices
Adaptive Planning
Problem Detection and Resolution
Continuous Improvement (Product, Process, People)
3. All flashcards map to the two areas you will be graded on
Tools and Techniques
Knowledge and Skills
4. 20 free flashcards to view without login
I figure you'll know if this product has value for you within 20 flashcards. After that, you'll probably want to create a login so you can keep track of your progress.
5. 20 free flashcards with progress tracking with login
So, you created a free account. You'll now be able to visualize your progress as you go. By navigating to the progress screen, you'll be able to navigate back to cards that you got incorrect or skipped earlier. Since you're still using a free account, you'll have access to 20 flashcards.
6. Access to all flashcards with paid account
This is where we wrap it all together. The goal is to have a few hundred flashcards in the system. You can get started now with the first 75. As the database grows, random flashcards will appear as "unviewed". Just check your status before you begin and you know where you stand.
What is next?
Add more flashcards
Make some changes in the User Interface to make it easier to navigate
Get feedback from customers
Refine the product or pivot
Get the iOS and Android versions completed
Note: A few of the links are Amazon affiliate links.
Ready and Done
When leading development teams, I see most of the wasted activities happen during the development phase. If work is not ready, before the team begins development, there can be delays waiting for clarifications from the business. If acceptance criteria is not clearly defined, before the team begins development, work can go on and on trying to appease the customer. What your team needs is a clear definition of "Ready to Work" and a clear definition of "Done with Work". Though definitions vary from team to team and organization to organization, it's imperative that you do it. It's also imperative the team writes the definitions, not someone in an ivory tower. As with all of our clients, I stress the need to have a minimal agreement on both definitions before work is started. When defining both the entrance and exit criteria, all major parties within the team need to be involved, to lower risks that something will be missed.
Below are examples of the definitions or ready and done. Notice that we consulted Analysts, Testers, and Developers. For your team or organization, you may consult UX designers, DBAs, Architects or others. Don't make your definitions overly onerous. Just create something that is just good enough and go from there.
Example of a Definition of Ready
Analyst – User story sufficiently defined and mapped from requirements
Tester – Acceptance criteria developed
Developer – User story is estimated and no known blocking dependencies exist within the sprint
Example of a Definition of Done
Analyst – Working system reviewed and User Story accepted via Automated Test or Manual Inspection
Tester – Test cases pass. All critical and high severity bugs fixed and other bugs identified and tracked
Developer – Deployed to test environment and Code Review complete
So, what does your team require as part of your definition of ready or done? Do you have definitions?
As a side note, if you're preparing for the PMI-ACP exam, remember the team is responsible for the definition of done.
Image Sources: Pictofigo
A Strategy for Code Reviews
I was coaching an organization the other day where they are trying to increase code quality. They believe they can accomplish this by increasing the frequency of code reviews. Currently, their solution is to get everyone into a room on a weekly basis, with junior developers demonstrating what they did and senior developers offering constructive feedback. If you've been reading my blog for a while now, you'll know that I usually find structured lengthy meetings as a wasteful activity. I'm not saying there isn't value in them. I'm just saying their cost is too much, relative to the value.
Weekly Code Review
Because the teams are trying to increase their delivery velocity, they are being forced to review their code delivery policies and rules. The weekly code reviews are creating too much of a delay. If a developer finished his or her feature on day one, they have a whole week to wait for the code review. If any changes are recommended, they lose an entire week because they still have to make the updates and get another review. The quality may be high but the velocity is low.
Pairing
My recommendation was the teams should begin pairing. Upon review of their defined policies, it did not say they had to have a formal weekly code review meeting. What it did say was no code would be merged into the trunk until another set of eyes had reviewed it. By having a "code review" developer sit with the active developer, as he or she wrote code, it could be reviewed in real time and satisfy the policy. The one week feedback loop would be shortened to an immediate feedback loop.
The Compromise
Paired programming can be a hard sell. Management can find it hard to understand having two perfectly capable developers working on one piece of code. But, if you look at the cost of waiting an entire week to get feedback and also having a group of developers stop work to attend a code review meeting, you can see there is a lot of wasted time and effort. When I asked about this, I was told that the meeting was also an opportunity for developers to learn about other areas of the system. My counterpoint was to rotate the pairs, to also offer a learning opportunity.
Because the teams would not agree to do formal pairing, but they certainly see the value in it, they decided to have a different (floating) code reviewer every day. He or she will make themselves available the entire day to review code as needed. I don't completely agree with this approach but it's certainly better then a weekly code review meeting. They will be exposed to new areas of the system and the feedback loop will be shortened. My hope is, in time, they will realize that having that second set of eyes sitting there full time will be the most efficient appraoch.
Image Quality by Pictofigo
PMI Agile Contact Hours versus PMI-ACP PDUs
I get asked on a regular basis what the difference between a contact hour and a PDU is. When people come to my PMI-ACP exam prep class, they qualify to claim 21 Agile contact hours. If they currently have another PMI credential, they could choose to apply those 21 hours as a PDU.
PMI Agile Contact Hours
When completing your PMI-ACP application, you are required to report (among other things) your "Agile" education. They will be referred to and measured as contact hours. To qualify to sit for the ACP exam, you need 21 contact hours.
Professional Development Units (PDUs)
PDUs can only be applied if you have a PMI credential. If you try to claim a PDU and you don't have a credential, PMI will politely either tell you don't have permission to that area of the website (where you claim the PDU) or they will send you a friendly email. The image below is only viewable if you have at least one PMI credential.
Hope this brief overview helps. If you have any questions, please leave a comment below.
Respecting Team Diversity
I talk about team diversity in my training. With a world filled with individuals, we have to learn to respect the differences of others. If you don't, I think you will live and work in a lot smaller world than me. More importantly, if you don't respect the differences of others, I'm a lot less open to have anything to do with you. It doesn't matter if we're dealing with functional roles on a team (developers vs. QA), race, gender, or religion. Respect the differences of others or keep your narrow minded thoughts to yourself. Actually, that's not right. Communications is good. Tell everyone what you're thinking so we know who you are. I have two examples where lack of respect for diversity was clear to me but not others.
Scenario 1: The Cut Scout Pack Leader
My son is a cub scout. We have raised him to respect everyone, regardless of their many differences, to include gender, color, or religion.
The other night, we received an email from our son's Cub Scout Pack leader. It probably would not have bothered me so much if not for the fact that the pack has scheduled events on Jewish holidays and then rescheduled events around Christian holidays. Let me be clear that on a den level, the leaders have been very good in speaking to the boys in more general terms. "Be respectful, whatever your faith". My hat is off to these fellows. I appreciate that they go the extra mile. So here is the email we got from the pack leader:
Hello Pack,
This sunday is scout sunday February 5. Please wear your class A uniform with pride in church that day. If you would like to participate but do not attend church regularly. I offer up New Market Methodist church on north alley just off 874 behind main street in New Market. Their service is at 9:30 and 11:00 am.
A scout is reverent. This is one of the points of the scout law, and the reason for scout sunday.
I read no mention of what a boy should do if he attends a temple, synagogue, or mosque. I guess they are just out of luck. I think it was the last two sentences that put me over the edge. "A scout is reverent. This is one of the points of the scout law, and the reason for scout Sunday."
Actually, reverent is defined as feeling or showing deep and solemn respect. Clearly something the pack leader lacks for other religions.
Scenario 2: The CIO
Back in the day, I was the Manager of Software Engineering. My team was amazing and I would do anything for them. One particular item of note was the fact that probably 90% of them were from India. Now, I say I'm German but I wasn't born in Germany. When I say my teammates were from India, I mean they were here on H1B visas from India. Why is that important? Because, as far as I was concerned, I needed to respect their cultural differences and try to accommodate them in any way I could.
So, who was the person who lacked the respect (or understanding) of their cultural differences? The CIO just could not understand why the team would rather have Diwali off instead of Christmas. He didn't understand how offensive it was when he said to order lunch for the team and recommended I just order "a couple different kinds of meat sandwiches".
Do you know someone who lacked respect for diversity? What did you do?
Image Source: Pictofigo
Optimize the Whole
I know we talk about self-organized and empowered teams being at the heart of agile practices. But sometime I see that focus from individuals and teams going a little too far. Sometimes people forget about the big picture. I believe everything we do needs to map back to organizational visions and goals. If you can't do that, what you are doing is wasteful. For some organizations, everything needs to map back to increasing profits or lowering costs. But we have to be careful not to fall into the "local optimum" trap.
A local optimum of a combinatorial optimization problem is a solution that is optimal (either maximal or minimal) within a neighboring set of solutions. This is in contrast to a global optimum, which is the optimal solution among all possible solutions. (Thank you Wikipedia)
You can read more about local optimums in the late Eli Goldratt's book, The Goal. To the layman, you should consider activities and efforts that will benefit the organization or process flow as a whole, not necessarily what is best for you or your team. I know it sounds counter-intuitive but hear me out.
You've probably seen this local optimum in action in one way or the other. If you have a process flow, it's happened. With a traditional waterfall application development flow, have you ever had a development team deliver features without any concern of the impact to their QA counterparts or others downstream in the process? The release is dependent on the other teams but what do they care? They were very efficient at getting their work done.
Have you ever had that boss who was utterly obsessed with keeping everyone "100%" busy rather then being focused on ensuring the greatest amount of value flowed through the system in the shortest possible time? Both instances are bringing attention to practices that happen and we just accept them. One example is focusing too much on the localized efficiency. The other focuses too much on utilization.
My Freeway Analogy
When I get on the freeway, I don't care that I can go the speed limit for 5 miles out of my 50 mile commute (localized efficiency). I really don't care how many cars the freeway can hold (utilization). What I care about is that I can go as fast as I can for my overall commute. That should be the goal.
I'll close with one of my favorite quotes by Eli Goldratt
A system of local optimums is not an optimum system at all
I'm curious if others out there can give me some more examples of local optimums and how they addressed them. How did you optimize the whole?
Image Source: Awesome DC
The Dark Side of Agile Exams
This morning I read a very interesting post over at the AgileScout website titled Agile exams fact check. Peter Saddington (AgileScout) voiced his concerns about a PMI-ACP exam prep website called AgileExams.com. Concerns ranged from questionable pass rates (97%) to testimonials from people who appeared to not be PMI-ACPs. Now, I believe in capitalism. I believe in building products that have value and can help people. So, this morning, I went onto the AgileExams website and took a practice exam. Per my involvement with the PMI Agile Community of Practice, my involvement with the PMI-ACP exam, and someone who actually took the exam, in my opinion, these questions are not relevant to the exam. I'm not saying they are not accurate. They speak very specifically to content within the PMI recommended reading list. But the exam is not written that way.
If Agile Exams commented on the Agile Scout blog, answering the questions of its readers, perhaps this would have faded into the background rather quickly. Instead, I was cc'd on an email from Agile Exams Customer Service to Peter. Rather than, reading "Peter, we hear you and the community and we'll make things right. We'll be transparent. We'll iterate our product. We'll be agile",
this is a snippet of what I read
Kindly remove the post or make serious revisions to it to reflect that you were wrong in your baseless attack. I warned you earlier that you were border-lining on defamation/libel. In fact, you aren't just throwing into question the integrity of agileexams.com but also the integrity of Ravi, who does not deserve this negative attention at all! If I do not see satisfactory updates on your site, legal means will be considered.
I just saw Jesse Fewell also posted something about AgileExams. I'm also getting emails from people I know and respect in the Agile community asking questions. Curious to see how this plays out.
The Agile Scout blog post now has 29 comments and counting.
Image Source: Pictofigo