Showing posts with label Business Operations. Show all posts
Showing posts with label Business Operations. Show all posts

Wednesday, December 5, 2007

Piracy rate for Vista is half that of XP

Microsoft on Monday said that piracy rates for Windows Vista are half those of Windows XP.

There appears to be a variety of reasons for that, chief among them is probably the fact that Vista machines that are not properly activated become useless pretty quickly when they enter into “reduced functionality mode.”

Amazingly, in a significant change, those with non-genuine or non-activated copies of Vista SP1 will still be able to use their systems.

According to CNET News.com:

With Service Pack 1, Microsoft is doing away with reduced functionality mode in favor of putting prominent notifications on systems that are not found to be genuine. Non-genuine systems with SP1 will display a warning at start-up that the system is not properly activated.

Users will have the option to “activate now” or “activate later,” though the second option won’t show up for a time. Users will also have their desktop background changed to white and a prominent notification placed in the lower right hand corner saying that the machine is not genuine.

I don’t know about you, but harder to pirate none withstanding, the first thought that comes to my cynical mind goes along the line of “Even the pirates can’t be bothered with Vista!”

And as to why Microsoft is making it easier is probably due to pressure from irate users who are wrongly locked out of their own system due to things like device driver upgrades.

And the final puzzle I shall leave you with is — just how did Microsoft figure out the piracy rate anyway? Via Windows update perhaps?





AddThis Feed Button

Friday, November 30, 2007

Sun’s Java certifications: Are they worth the effort?

Sun’s Java certification track

Sun’s Java certifications are designed to be focused on particular roles in the software development cycle and, therefore, are more useful than all-in-one certifications such as IBM’s XML certification.

Sun currently offers eight Java certifications, which are classified by level and specialization. Most of the certifications require you to pass a multiple choice exam, but some also require you to write an essay. It is recommended to have six to twelve months of actual job experience before attempting to pass any exam.

  • Sun Certified Java Associate (SCJA): This entry-level exam certifies only knowledge of basic Java language concepts and general knowledge of Sun platforms.
  • Sun Certified Java Programmer (SCJP): At the “foundation” level, there are exams for Java 1.4 and Java 5.0. These exams certify solid knowledge of the Java language. (Note: It is not required to have SCJA to get SCJP, which makes me wonder why SCJA certification is needed at all.)
  • Sun Certified Java Developer (SCJD): Many employers may focus on this level of certification for two reasons: You need to be an SCJP (any version) before you can try to become an SCJD. Also, the SCJD requires candidates to develop a small business system according to the problem and write an essay defending the solution and explaining the design and programming decisions.
  • Sun Certified Web Component Developer (SCWCD): This exam can be of interest for Web developers who specialize in using Java technologies such as Java Server Pages (JSP) and servlets. SCJP is a prerequisite for taking this exam.
  • Sun Certified Business Component Developer (SCBCD): This certification, which consists of only one exam, is the kernel of J2EE certification — as long as it certifies your knowledge of Enterprise Java Beans (EJB). The exam is pretty hard to pass if you do not have any Enterprise JavaBeans (EJB) project experience. SCJP is a mandatory prerequisite. This certification can be of interest to employers who use EJB for project development.
  • Sun Certified Developer for Java Web Services (SCDJWS): This certification is for Java developers who build Web services. You have to take one exam for this certification, and SCJP is a prerequisite.
  • Sun Certified Mobile Application Developer (SCMAD): This is a certification for developers of Java applications for cell phones or any other devices containing J2ME onboard. You have to take one exam for this certification, and SCJP is a prerequisite.
  • Sun Certified Enterprise Architect (SCEA): This is what the Sun certification program is all about. This certifies enterprise architects responsible for architecting and designing J2EE-compliant applications from scratch. There are no prerequisite requirements even though it is the most advanced certification. In fact, if you cannot pass any of the previously listed certifications, you will never succeed with this one. To achieve this certification, candidates must complete three steps: a multiple choice exam, a development assignment similar to SCJD (but on a much larger scale), and a final essay exam where you will defend your solution.

See the Sun Microsystems Web site for more information about Java certifications, including the cost of the exams.

Is the effort you expend worth the result?

I have two Java certificates: SCJP and SCWCD. I earned the first certification while I was student at university; my professor awarded students with vouchers for attempting to take the SCJP exam. With the second certification, Sun contacted me about its new certification program and invited me to assess my skills for free (and take the actual exam) in exchange for my feedback about the questions and about the certification itself.

I think both of my certifications are pretty much useless pieces of paper. The main reason why I got these certifications was to prove to myself that I am proficient in Java. While preparing for these exams, I learned a lot; also, since I was engaged in real production projects at that time, I immediately started applying my newfound knowledge. This is the only reason why I would recommend that Java developers pass the entry- and mid-level exams. None of my employers showed interest in looking at my certifications.

The SCEA certification, however, is a completely different story. If you peruse career sites, there are lot of vacancies for which SCEA is considered highly desirable. Developers can only earn this certification after having a lot of experience in software architectural design and working with J2EE, i.e., with a broad range of Java technologies. SCEA is the most attractive certification for developers who are seriously thinking about becoming a software architect. I don’t think the other certifications offer much value.

It’s been my experience that most employers will overlook your certifications unless your resume shows that you have hands-on experience working with a particular technology. At the other end of the spectrum, I have seen examples of successful career building on the base of certifications. In my opinion, this is more a question of a particular certification program and particular holder’s attitude to the certification. Most IT pros take certification exams more for self-learning than for their employer.

courtesy @TechRepublic

Wednesday, November 14, 2007

The ten hottest certs for 2008

The list is based on job growth, sales of certification training material, and “a little guess work.”

1. MCP (Microsoft Certified Professional)

2. CCNA (Cisco Certified Network Associate)

Trapp reasons that most network administrator jobs right now are IP related and they are in more demand at a higher professional level as compared to Microsoft Certifications.

3. MCPD (Microsoft Certified Professional Developer)

Demand for these developers is up over 80% compared to last year. Trapp says there are only a little over 3,000 currently with the certification.

4. SCJP (SUN Certified Java Programmer)

Trapp says that a Java credential is one of the most valuable credentials that a programmer or developer can have, since about 70% of business entities’ development projects are done through J2EE.

5. CISSP (Certified Information Systems Security Professional)

With CISSPs earning $94,070 a year on average, it’s easy to see why Trapp puts this one on the list. (Note that the exam costs $500, lasts up to six hours, and includes 250 multiple choice questions.

6. Comptia A+

By far the most popular entry level certification.

7. Comptia Network +

A good cert to have since the network systems and data communications analyst is ranked Number 2 on the most in demand jobs list.

8. MCTS SQL Server 2005 (The Microsoft Certified Technology Specialist)

Trapp thinks SQL Server 2005 is going to be hot next year since many companies are switching to SQL Server 2005.

9. RHCE (Red Hat Certified Engineer)

RHCE is called the “crown jewel of Linux certifications.” According to a survey by Saugatuck Technology and BusinessWeek Researce Services, about 25% of enterprises will be running mission-critical business applications on the Linux open source operating system by 2009.

10. Comptia Security+

Growth in Security+, which covers topics like communication security, infrastructure security, cryptography, access control and authentication, shows no signs of slowing down. According to Trapp, “Comptia’s Security+ Credential is must have in today’s world.”



A five-step model for configuration management

There are two meanings for the project management process of configuration management.

1. It can be used for the process of identifying, tracking, and managing of all the physical assets of a project. The items that you track under configuration management are called “configuration items” in the Capability Maturity Model (CMMI).

2. It can also refer to the process of identifying, tracking and managing of all the characteristics of the assets of a project. These characteristics can also be referred to as product “metadata.” This is closer to the definition of configuration management in the Project Management Body of Knowledge (PMBOK®) from the Project Management Institute.

The following model describes the five major aspects of configuration management.

Planning. You need to plan ahead to create the processes, procedures, tools, files, and databases for managing the project assets or the metadata. You also may need to gain an agreement on exactly what assets are important, how you will define them, how they will be categorized, classified, numbered, reported, etc. The results of this up-front planning are documented in a Configuration Management Plan.

Part of your planning process should be to assign configuration tracking numbers to each type of configuration item.

Tracking. It’s important to understand the baseline for all configuration items. In other words, for each configuration item, you need to understand what you have at the beginning of the project. In many cases, you may have nothing to start with. In other cases, like physical assets, you may have some assets to begin with. The purpose of your tracking processes is to ensure that you can track all changes to a configuration item throughout the project.

You need processes and systems designed to identify when assets are assigned to your project, where they go, what becomes of them, who is responsible for them and how they’re disposed of. Since a project has a beginning and end, ultimately all the assets need to go somewhere. This could be in a final deliverable, into the operations/support area, scrapped, etc. You should be able to dissect each major deliverable of the project and show where all the pieces and parts came from, and where they reside after the project ends.

Managing. Managing assets means ensuring that they’re secure, protected, and used for the right purposes. For example, it doesn’t do any good to track purchased assets that your project doesn’t need in the first place. Also, your tracking system may show expensive components sitting in an unsecured storage room, but is that really the proper place for them? Managing assets has to do with acquiring what you need and only what you need. You also have to make sure you have the right assets at the right place at the right time.

Reporting. You need to be able to report on the project assets, usually in terms of what you have and where they are, as well as financial reporting that can show cost, budget, depreciation, etc.

Auditing. Auditing involves validating that the actual configuration elements (whatever they are) at any given time are the same as what you expect. Many projects get in trouble when they start to lose track of physical assets (for instance, material, supplies, code or other configuration items) or if the physical characteristics (metadata) of your deliverables is different that what you expect.

The auditing process is used to validate that the configuration elements match up with your expectations. These expectations are based on the original baseline, plus any change requests that you have processed up to the current time.



Wednesday, October 31, 2007

Find errors as early as possible on your project

Project teams generally use three types of quality management activities:

* Quality planning
* Quality control
* Quality assurance

The purpose of quality assurance is to prevent as many errors as possible by having sound processes in place to begin with. The purpose of quality control is to inspect or test the deliverables to find as many remaining errors as possible.

One important aspect of quality control is to find errors and defects as early in the project as possible. Therefore, a good quality control process will end up taking more effort hours and cost upfront. However, there will be a large payback as the project progresses.

For instance, it’s much better to spot problems with business requirements during the analysis phase of the project rather during the testing process. If you see the problem during the requirements gathering process it might just take a call to your client and the quick update of a Word document to fix it. On the other hand, if you discover this problem in the testing phase, it could impact the business requirements, the solution design, and some of the construct work. It will also require you to re-test the solution again. As you can see, this is a potentially huge impact to your project.

Likewise, if you were manufacturing a computer chip, it would be much cheaper to find a problem with a computer chip when the chip is manufactured, rather than have to replace it when a customer brings the computer in for service after a purchase. In fact, if the error isn’t caught until after the chip is sold to the customer, the cost to make the repair might cost more that the entire cost to manufacture the product to begin with.

There was a project early in my career that applied poor shortcuts to the development process. Since the programmers were under time pressure to complete their modules, they figured they would write the code and make sure it compiled cleanly. Then they would then call the module complete, with the attitude that they could “fix it in the testing phase.” They thought that they were just deferring their unit test time until later in the project. But by pushing these errors further downstream, it actually took much longer to fix the problems later - to the detriment to the overall project.

In Figure A, we see a traditional approach to finding errors.
Figure A


On many projects the team plans to find as many errors as possible during the testing process, with some errors not caught until support/maintenance.

In Figure B we see the better approach. It is much better to catch any errors that are introduced as quickly as possible. In other words, errors in the deliverable created in the Analysis Phase should be caught in the Analysis Phase; errors introduced in the Design Phase should be caught during the Design Phase, etc. This greatly minimizes the impact of correcting the errors.
Figure B

The bottom line is that the project team should try to maintain high quality and low defects during the deliverable creation processes, rather than hope to catch and fix problems during the testing phase at the end of the project (or worse, have the client find the problem after the project has been completed).

courtesy @TechRepublic

Thursday, October 25, 2007

Master the art of procrastination

Many IT leaders procrastinate unconscientiously. I think this is a mistake. If you are going to procrastinate-like any other activity that is worth doing-you should conscientiously know what you are doing and… be good at it. Many psychologists would agree that procrastination is a learned behavior. Therefore, I have provided a brief ten lesson course that will help you to master the art of procrastination. Upon completion of this mini-course, you will be an expert at not doing.

Lesson # 1 - Know what procrastination means

It is difficult to be a good procrastinator if you don’t know what procrastination means. The Webster’s Encyclopedic Unabridged Dictionary of the English Language (Gramercy Books: New York, 1989) defines to procrastinate as, “v.t. 1. to defer action; delay. 2. to put off until another day or time; defer; delay.” It is generally accepted by most psychologists that procrastination is merely a way for our overstressed society to deal with the anxiety related to starting any task or making any decision. One who procrastinates is called a procrastinator. There are many people who hold this title. However, there are very few that actually use it. A trained procrastinator will have many opinions about these definitions and will probably tell you about them next week.

Lesson # 2 - Understand the history of procrastination

My research on the history of procrastination proved to be extremely interesting. In turns out, the most authoritative book on procrastination is entitled, “Procrastination through the ages: A definitive history”, (Ringenback, 1971). Further investigation, however, revealed that the book was never written. That’s great because it provides us with the second lesson. To become a master at the art of procrastination, you need to stop putting things off. You will be more effective if you simply did not do them at all.

Lesson #3 - Don’t prioritize your tasks

Most master procrastinators have nightmares about prioritized task lists. Think about it, if your tasks are prioritized, then you know which of them is most important. You will also have a clear picture of the order in which to perform each task. Unfortunately, this means that by the end of the day many of the important (and generally most difficult) tasks will be completed-assuming you cannot address all of the items on your list. Any skilled procrastinator knows that this is totally unacceptable.

Lesson #4 - Develop a short attention span

A long attention span could really be a problem for the procrastinator. That generally means that you are thinking things through. It also means that you will more than likely be extremely focused on the tasks at hand. This could only lead to an action plan for getting things done. Of course, the next logical step is that you would probably be compelled to execute the plan you developed. Not good.

Lesson #5 - Find other fun tasks that avoid work

It is imperative that you keep in mind that there are about a million other things that are a lot more fun than the items on your dreaded “To Do” list. One of my favorites is making necklaces out of paper clips. It doesn’t require a lot of skill; it is a relatively fun activity; it can consume as much time as there are available paper clips (and we all know that there are always paper clips handy); it can give the appearance that you are creative and actually doing something when engaged in idle chat with a co-worker; and there is a serene sense of achievement when you’re done. There are many other pretty effective time wasters you may chose to do that are less fun. For example, you can take your fourth trip across the street for that triple Grande latte mocha with caramel. If you do, don’t forget the whip cream. This could be worth at least another two minutes.

Lesson #6 - Hold lots of meetings

Meetings are really good alternatives to real work. Actually, meetings can be a lot of fun as well. Think about it. You can spend time with a number of people that you like; you can get to draw on flipcharts and boards (this is really neat); you get to feel real important when you sit at the head of the table; and you have the opportunity to provide an endless stream of meaningless recommendations. If you are a good procrastinator, you will get people to accept your recommendations. Of course, you can guess what will happen next. They will form subcommittees that will do what… have meetings!

Lesson #7 - Be a perfectionist

A truly good procrastinator has a high degree of discontent and frustration. This is because rarely is anything accomplished that is completely acceptable to them. Therefore, you should spend as much time as possible trying to find every flaw that exists. Since you and I know that this is virtually impossible, you can outdo everyone in the amount of work you will avoid doing. If you want to be a candidate for the title of Master of Procrastination, you need to nit-pick everything to death. Do you realize the amount of time you can spend nit-picking? Can you believe the amount of not doing that you can accomplish?

Lesson #8 - Delay everything unnecessarily

Highly productive people will get in the way of a good procrastinator. They can even make you look like a poor procrastinator by trying to get you involved in the productive activity. You can’t let that happen. You need to recognize that some of these people will be within your own organization. I have found the best way to keep this from tarnishing your procrastination expertise. You must develop good micromanagement skills as well. By micromanaging every activity and nit-picking every aspect of work (see Lesson #7); you can be assured you will delay just about everything.

Lesson #9 - Don’t be too organized

Organization is a major threat to a skilled procrastinator. Do you know what it means to have all your materials ready before you begin a task? You will more than likely have your daily schedule with you all the time. You will develop a great desire to check off tasks as you complete them. That would lead to activities such as carrying the books you must read around with you; looking up and writing down the phone numbers for those calls you need to make; jotting down some ideas for that report you must write; or laying out the materials you will need to start the next job. Be careful. That means that you are doing things.

Lesson #10

Actually, I had one more lesson to write. I think I will do it another time.

courtesy @TechRepublic

Project management: Pin down how your client defines quality

A good definition of quality management is “to first understand the expectations of your customer in terms of quality and then put a proactive plan in place to meet that level of quality.” The first part of this definition can be the toughest - understanding what quality means to your customer.

Your customer may only tell you that you should build a “good quality solution” or you should build a solution with an “acceptable level of quality.” Your response to that should be “Great. But what the heck does that mean?”

The customer needs to state that the project solution needs to be:

* Reliable
* Easy to use
* Easy to maintain when completed
* Available when needed
* Flexible for future needs
* Intuitive / easy to understand
* Secure
* Minimally defective (Doesn’t have to be perfect)

Once you’ve gotten that far, you need to help the customer drill down further. Let’s say that the customer thinks that a good quality solution needs to be “secure.” Further probing might reveal that for the customer, this means

* The solution should be place in a secure room with password access
* Only authorized people can login
* The password must change every thirty days
* There will be role-based security so people can only see data that is consistent with their roles.

People sometimes ask where this information gets documented. It’s easy - these end up being detailed quality requirements and they’re captured along with all of the other project requirements.

Most project teams don’t make it a point to capture all of their quality requirements. Most project teams focus requirements on understanding features and functions. If you focus on features and functions, many of the quality requirements may come out as well - usually by accident. But if your team is trying to practice formal quality management, you should have a discussion with your clients that focuses on the broader and more specific set of quality requirements.


courtesy @TechRepublic