Pages

Sunday, January 13, 2008

uCertify's PrepKit for SCBCD5.0

Recently, I had a pleasure to evaluate the uCertify's PrepKit software for the SCBCD5.0 exam. The impression is somewhat twofold. The PrepKit is great software to prepare for the exam, it is easy to use and the GUI is quite intuitive. But along with all the positive stuff, there were some obstacles I found a bit annoying. I will go over all the positive and negative moments as they appeared while using the software.

PrepKit works on Windows only

Certification software is provided by many different vendors and the suits are developed for very different platforms. When one is about to purchase such a software package it would be a good point to verify, if this software will run at his/her computer at all. The uCertify PrepKit software is Windows PC only, and this is what I found frustrating. I use Ubuntu Linux at home and I use wine to run MS Windows-based programs. This time wine failed even to install the PrepKit package: the installation process hanged on a half way and I was forced to xkill it. Fortunately my wife still uses Windows on her laptop so I installed the PrepKit there.

Probably, if the subject of certification is an MS's technology or product, then the idea to make PrepKit run only on Windows is OK. But if the subject is about Java certification, then it is quite strange to cut the Linux users off. Hopefully uCertify will soon come up with Linux version of PrepKit software.

The UI is quite intuitive

What makes the software easy to use? And what makes UI intuitive? PrepKit is aimed to help the user to prepare for the exam and carries the educational purpose for a specific area of interest. The user works with PrepKit via its GUI and is not aware how the software acts behind the scenes. The point is that the user doesn't want to learn about the GUI, but rather interested in the subject of certification. PrepKit GUI controls are organized is such way that user could see everything right from the very first sight.


I could logically divide the user screen in three parts: the tests part (top left), the learning part (right), and the estimation part (bottom left).

PrepKit allows you to take practice tests, quizes, provides explanations on the subject and estimates your progress. Each piece of functionality is well-recognized and thus it is easily located on the user screen.

Where do I start?

There could be several strategies to start using the software, depending on your background. If you have already some experience with EJBs, and you know that is the exam about, it is reasonable to take some mid-level test to see what is your initial level. If you aren't sure to take the test right away, "Enhance your understanding" might be useful to get the overview of the exam, find some additional information and practice a little before you proceed with the tests.

The "Enhance your understanding" part is the subject for improvement


I found "Enhance your understanding" panel very useful for getting more information about the exam itself, and also for improving my knowledge about the subject. From top to bottom:

Exam objectives provides an overview of the exam objectives and general notes about every part of the exam. This is quite useful to understand how the exam is structured and what kind of knowledge is expected.

Interactive quiz is really nice feature! The quiz is sort of a small test that allows you quickly to test your knowledge for the specific subject. It is possible to choose which part of the exam questions you would like to give a try. Say, I want to test my knowledge in transactions, so I could customize the quiz to include only the relevant questions. You will get the result immediately after you answer a quiz question, and you have the option for grading the questions as well - whether you liked it or not (I'm not sure how would it be useful yet).
The thing that the quiz is missing, IMO, is the explanation of the result. I wanted to know why my answer is not correct, but the quiz only shows if the answer was OK.

I did not get the purpose of Flash cards. What is it for? The "flash cards" do not test anything and aren't very different from the Study notes. So why hold them separately? For every flash card you are suggested to write down your knowledge about some specific topic and then compare with some predefined text. Honestly I didn't find any use of that feature.

Study notes are somewhat more useful compared to Flash cards. There are ~250 notes on the different aspects of the EJB technology from different areas of the examination. The notes are provided in question-answer form which seems to be quite natural. For instance: "What is the ejb-jar file?", following with some text explaining the subject.
What I find really useful about the notes section, is that every study note has several test questions associated with it. So when you have read a study note and you would like to practice with the topic, then you have the option to answer the related questions.

There was only one article in the Articles part. The feature is nice but only one available article is definitely not enough. Hopefully the articles section will be extended with the updates.

The very last part of the section is Study tips, which are redundant IMO. This could be actually merged with the Exam objectives part.

The tests are well organized


These include a diagnostic test which aims to identify your weakness and guides you to focus your preparations accordingly. Next, there are some predefined tests, which aim to simulate the actual exam. Also, an adaptive test is available. Depending on your answers the adaptive test aims to provide you relevant questions: if your answer was correct, the next question will be of higher difficulty level, and in opposite, if you fail, the next question will be easier. And the last but not least a user can customize the test content on his own with the custom test.

I also found some things that were annoying me in the tests. Almost every question in tests starts with the following text:
You work as a Software Developer for BlueWell Inc. You create an application using Enterprise JavaBeans

Pardon me, does it make sense if I do work in BlueWell Inc. or not? The statement about writing the EJB application is redundant because I'm already concerned about the subject and there's no point in raising it over and over again. This two sentences just took my time in reading the question while providing no value.

Track the progress and estimate your skills

PrepKit provides some statistical information of the progress of the studies.

So when the user takes a test or a quiz the result is added to his record. In the history part is possible to review the questions and answers and thus it helps proceed with the preparation accordingly.

Also, PrepKit collects the statistical information about the exam objectives and maps it to your progress, so it is easy to see which areas are required for improvement.


Summary

I find the PrepKit software quite useful for SCBCD5.0 exam preparation although there are several things to improve. The tests are well structured and provide close to real exam questions. The educational part of the PrepKit is a little noisy of some information that could be optimized but it still provides quite valuable information while studying the EJBs. Also, the software guides you which part of your knowledge is missing for the certification, which is very useful to know. I would definitely suggest the PrepKit to everyone preparing for the SCBCD5.0 certification exam.


*****Update*****

uCertify is offering a discount to you! You can use the discount code given below and get 10% discount on the uCertify PrepKit of your choice. The discount code is:

ANTPOV

Wednesday, January 2, 2008

The Closed-Source Software Buy-In

The Case

What makes our stakeholders to take a decision for proprietary software buy-in? Literally, one stakeholder was eager to implement a "brand-new-cool" solution for automating some of the business operations that forced him to hire 3 more employees. So the claim was that if once he have the product installed, and the data integration is done against our core system, then eventually everything will work... That said, we have: the stakeholder X, the software product Y, that should implement function Z. And finally, the software product Y doesn't include its sources in the shipping package.

As you may have already guessed, this software was not working properly after installation and we could not integrate the data model as the software wasn't suitable for some specific business cases.

Let us to take a look to the root of the issue. When the stakeholder was about to take a decision which software to buy, he did not evaluate the software by using the demo version, but instead, some marketing salesmen were visiting the customer and selling the product using PowerPoint slides... (OMG). The stakeholder knew that the product cannot perform some operations, so the required customization was merely ordered.

Next, after the contract was signed, we were testing our data integration procedures with every new version of the product. And, we were receiving the new versions every 4-5 weeks, periodically, with some bugfixes. Nice. After about 2 years (!) of such integration process we've got to know, that by the time of contract signing, there were no customers who succeeded with integrating this product. And, some customization logic were still not working by this time. At the moment the project is almost 3 years old. Lately we received the new version that was claimed to work accordingly to the ordered specification.

The Hi-Tech

The product is actually a J2EE application, running on BEA Weblogic application server, and, even if have no source code available for this application, we can still see that the application is built using EJB 2.1 (despite it is legacy specification already). So the stakeholder made the decision just based on the PowerPoint slides. The software product was not analyzed if it applies up-to-date technologies, or if it is complies to maturity standards.

... blah blah blah... i could continue for nothing :)

The Real Problem

As I see it at the moment, the stakeholder's point of view in this situation is that the integration team is the bottleneck, as we fail to integrate the product.

So my list of questions for this issue is:

  • What makes the stakeholder X believe into some product Y, instead of developing the solution in-house?

  • Why doesn't stakeholder try the product demo before signing a contract?

  • What position should take the integration team in this situation?


From the business process point of view, buying the software product from the 3rd party might be even positive: bringing the know-how in. But! Is your stakeholder so incompetent that it would take n+1 years to complete the project?

Tuesday, January 1, 2008

Am I a good PHP programmer?

I found a recruiting test for PHP programmers today. I have no experience with PHP at all and haven't written a single line of PHP code in my life. So I decided to try, if my Java knowledge will help me with PHP.



The test result says that I'm a good PHP programmer! :)

Disqus for Code Impossible