Sacrifice a weekend, clear PSM I!

Sacrifice a weekend, clear PSM I!

1. Introduction

Oh man, this was something I wanted to do for more than a year.

However, I was working in Greece, which means that it would be difficult by default to make it happen through the flow I wanted:

  • attend a proper training (= from a Scrum certified vendor)
  • study-in-depth the Scrum Guide
  • practice on real exam questions

2. What is known for the exam

  • Fee: $150 per attempt
  • Passing score: 85%
  • Time limit: 60 minutes
  • Number of Questions: 80
  • Format: Multiple Choice, Multiple Answer and True/False
  • Difficulty: Intermediate
  • Language: English only
  • Required course: None
  • Online simulation exam called Open Assessment (, from which 15 questions will also be on the real exam)

3. The plan

  • Training during the working week (Wednesday-Thursday)
  • Study for the exam during the weekend
  • Keep my own notes
  • Clear the exam by the end of the weekend

4. What happened

  • The training was almost excellent. I was a bit concerned about how focused I could be, because I didn’t sleep well the previous night. However, the vendor follows an interactive approach (attendees are split into teams and face real use-case scenarios of Scrum. Most of those scenarios are possible questions on the exam itself) without any boring slides/presentation. Hence, you can easily get to know most of the Scrum’s troubleshooting scenarios. The only bad point was that the preparation for the exam itself was not that good, in terms of the amount of time spent on it.
  • After that, I went through the Scrum Guide two times and gave a try to the Open Assessment: I was below 80%; what is generally suggested before you give a try to the real exam is that you can make 5 consecutive times 100% on this on, where in between, you also give time to yourself to go through the Scrum Guide again. This is a very important point that also worked for me, because every time I was reading it from the start, I got to see things and concepts I couldn’t see or think about in the very beginning of my preparation.
  • It was still Saturday afternoon, when I reached this point, but still, I wasn’t feeling that confident to take the exam, because it’s a general saying that the questions on the real exam are 1) more difficult than the open assessment’s  and 2) the real exam contains questions that require a deep understanding on the described concepts of the Scrum Guide, in order to be able to answer correctly.
  • Since I didn’t want to spend more than the weekend, I considered searching for any exam simulation software, in order to ensure my success. What worked for most of the people (including me), is the solution from Management Plaza (unfortunately, it’s not free; it costs 27€): it contains 3 practice exams, with questions that are very close to the real exam’s; however, still they are not the same, hence, even with this solution, noone guarantees you will pass the exam. It is said that if you score more than 90% in those 3 exams for at least three consecutive times, you’re ready for the exam. In my case, however, I unfortunately didn’t have enough space to invest more time, so, I just went through each one two times and since I was scoring around 90% I really wanted to give it a try, because it was already Sunday night and I had to sleep in order to also go to work the next morning. There are also other free alternatives (which I provide in the next section), if you don’t want to pay, but to be honest, I cannot say I liked the question bank those ones provide you with.

5. Free Exam Simulation Software

6. Other Material

7. Tips

  • keep your own notes in order to better memorize the concepts you find more difficult
  • The required effort is no more than 10 hours of good preparation (Scrum Guide and Simulation Software)
  • Be careful between the distinction of should and could in the exam’s questions
  • Following a normal pace, it will take you around 50′ to complete the exam. That is, you’ll probably have around 10 minutes left for review, so, if you’re unsure for any question, just flag it in order to scratch your head in the end
  • Please don’t panic; in my case, I believe noone of the 15 standard questions from the open assessment appeared in the very first 20 questions and I got quite anxious about passing it, because I was thinking that I have already failed, since -as I fore-mentioned- you will not get questions from the book, but questions that examine your knowledge on the concepts of Scrum. It’s difficult to handle such a situation in your head, because in fact, you have to convince yourself that you should continue like nothing happened, whereas your mind says “you already failed”.  I got distracted during the exam and into a few deep thoughts, which might have caused me running out of time, if I weren’t fast enough on the ones I was sure about. In these ones I noticed how much the simulation software helped.

8. Final Note

Succeeding in this exam is like succeeding in your driver’s license exams. This exam is only the start of the journey. The real Scrum you get to know in your working environment, while trying to also improve the process being followed there, as a certified Scrum Master. Of course, it requires time, but this is where the framework itself is based on: empiricism (empiricism asserts that knowledge comes from experience and making decisions based on what is known) !

Good luck!

The need to extend an npm package

The need to extend an npm package

Situation

So, I’ve written a simple Math library and distributed it as an npm package. For testing purposes, jasmine-node is used.

However, when it came to testing my logarithm functions, the supported methods didn’t totally fit my case. Specifically, I wanted to use to test that a log(0) equals to negative infinity. Having already used similar methods of the library, such as toBeNaN(), I was expecting that a similar method (i.e. toBeNegativeInfinity() ) would also exist.

Nonetheless, it didn’t and of course one could easily argue “why not working around it, like toEqual(-Infinity) ?”, but then, what is the point of having methods like toBeNaN()? We could also work around this with toBeEqual(NaN).

Solution

So, I decided to extend it a bit, because I didn’t want to wait  math.js already had a dependency on jasmine-node package, so, I had to provide my own (extended) version of jasmine-node. How could I do this?

  1. Fork jasmine-node
  2. Clone the forked repo locally
  3. Extend the library to my liking
  4. Distribute a new npm package out of the extended library (1)
  5. Replace jasmine-node dependency with jasmine-node-xt (2)
  6. Use the desired method as initially

Declarations

(0) : Following the concept of also extending the library I used, instead of just providing a PR and wait whether it will be accepted or not, I saved time from something that might never happen in the future from my side; on the other hand, I gained knowledge on an area I am not so experienced, so, even if the submitted PR is not gonna be accepted, I learned something new!
(1) : Required changes in package.json; here you also have to keep in mind the provided license from the original library – it might affect the way you wanna distribute your extended version of that library
(2) : First uninstall jasmine-node : npm uninstall –save-dev jasmine-node and then install our version: npm install –save-dev jasmine-node-xt