Friday, July 20, 2012

CMMI vs ITIL


CMMI and ITIL are two distinctly different maturity models. The fundamental difference between CMMI vs ITIL is that while CMMI focuses on software process maturity, ITIL is broader in scope and focus on all areas of infrastructure, including software and hardware.

Origins

Carnegie Mellon University (CMU)’s Software Engineering Institute developed the first Capability Maturity Model (CMM) in 1990, and followed it up with the Capability Maturity Model Integration (CMMI) that integrated multiple CMMs.

The United Kingdom’s Office of Government Commerce (OGC) developed the IT Infrastructure Library (ITIL) in 1986 to provide guidance for service management. These set of guidelines has since then emerged as the international de facto standard framework of best practices for IT service management and infrastructure. ITIL originated as a collection of books, each covering a specific practice within the IT service management.

Scope

CMMI is a proprietary maturity model that consists of the best practices applied in the development of software, derived from the industry. CMMI segregates the best practice knowledge into five levels: initial, managed, defined, predictable, and optimizing, based on the expertise of the organization in applying such best practices. Each level progresses to higher standards and addresses the development and maintenance of products and services through the product life cycle from conception through delivery and maintenance.

ITIL is a set of comprehensive and coherent codes of best practices, and ITIL scope extend to controlling and managing all aspects of IT related operations.

Comparing CMMI vs ITIL, ITIL does not rank or grade the organization based on the extent or level of its compliance. ITIL instead offers three popular certification levels for practitioners: foundation, practitioner and service manager, based on the extent of competency of the individual in ITIL. ITIL is a non-proprietary tool that encourages the private sector to develop services and products such as training, consultancy, and tools to support ITIL.

Application

The basic difference between CMMI vs ITIL lies in application. While CMMI is focused toward software development, maintenance, and product integration, ITIL is broader in scope and provides a framework for IT service management and operations including a hardware life cycle.

CMMI is geared specifically to software development organizations and focuses on continuous improvement, whereas ITIL addresses IT operations issues such as security, change and configuration management, capacity planning, troubleshooting, and service desk functions.

While the application of CMMI helps the organization gain competency and expertise in software or product development, ITIL applications help align the entire IT process and resources of the organization to business processes.

Structure

CMMI is a prescriptive approach that orders process areas along a maturity model with maturity levels. A CMMI model is not a process but a description of effective process characteristics.

Unlike CMMI, ITIL is not prescriptive and orders the processes in sets. CMMI for instance, recommends requirement analysis but does not specify how to do a requirement analysis. ITIL on the other hand, provides solutions on how to undertake the requirement analysis.

Similarities

Both CMMI and ITIL are process maturity frameworks that follow a similar and structured approach. Both emphasize development of processes to improve product development and customer satisfaction and support the coordination of multi-disciplinary activities related to a project.

Although both CMMI and ITIL are similar in structure, the amount of duplication is, however, small and there is no contradiction between the two models, making it possible to apply both CMMI / ITIL models simultaneously in an organization. CMMI is the de facto quality standard for software development, integration, deployment, and maintenance processes in organizations and ITIL is the first choice of organizations for standards related to operations and the infrastructure side of IT.

Implementation of CMMI / ITIL also aids organizations in reducing the cost of quality, improve turnaround times, and arrive at a precise estimate of efforts required that helps in costing products.

References

    * Digite.com. CMMI to ITIL: An obvious graduation?
    * FoxIT. Introduction to The IT Infrastructure Library (ITIL).
    * Serge Thorn. ITIL and CMMI synergies


~~ Show me the data.

Friday, September 17, 2010

More on Scrum

It is one thing to learn something like Scrum, and to go back to the organization to apply it. I was in such situation and it is really a fabulous learning experience for me and the organization I work with.

To summarize the learning,  here is my side of the story. We are attempting very much to apply scrum within the team and within a management environment that base on the waterfall model. It is a difficult part trying to convince the management of what to expect. The 2nd part that differs greatly that the management had a harder time embracing is that: The work that developer commits is based on their estimation. This does not help at all really if you focus very much into the benefits of it.

The solution to the above 2 is that, while internal to the team we practice Scrum, externally, we generate reasonable data and information records for reporting purpose. As for the second issue, the developer commitment will be detailed out as well as time management system continue to be used and required to be filled by all staff.



In addition we had some tools us in the form of VSTS 2008 which has a Scrum template build for those who work on Scrum. We started without, but eventually start to populate the required records such as sprint, start date, target hours of work, planned hours to work and working hours available. The result was using this, we were able to churn out reports much faster and we are able to trace our progress like never before. Though the drawback is that there is a lot of stuff to key in for every sprint.



In the quarterly forum I was also able to meet up with an exert who helped in imparting to me some great ideas if implementation. Mike Sutton from wizewerx.com was the man who gave us the insights.


In a nutshell to move from a waterfall to scrum model, follow the following steps:
1. find a pm, developer, sponsor who is interested
2. find a pilot project
3. do it

~~ Show me the data.

Sunday, September 12, 2010

Process Improvement Tool - 8D

Recently I came across this tool, which one of my client is using. It does not have that much of a publicity but a size-able number of organization actually follows it. Check it out.

8D is a problem-solving methodology for product and process improvement. It is structured into eight disciplines, emphasizing team synergy. The team as whole is better and smarter than the quality sum of the individuals. Each discipline is supported by a checklist of assessment questions, such as "what is wrong with what", "what, when, where, how much".

The Eight Disciplines

1. Use Team Approach
    Establish a small group of people with the knowledge, time, authority and skill to solve the problem and implement corrective actions. The group must select a team leader.

2. Describe the Problem
    Describe the problem in measurable terms. Specify the internal or external customer problem by describing it in specific terms.

3. Implement and Verify Short-Term Corrective Actions
    Define and implement those intermediate actions that will protect the customer from the problem until permanent corrective action is implemented. Verify with data the effectiveness of these actions.

4. Define and Verify Root Causes
    Identify all potential causes which could explain why the problem occurred. Test each potential cause against the problem description and data. Identify alternative corrective actions to eliminate root cause.

5. Verify Corrective Actions
    Confirm that the selected corrective actions will resolve the problem for the customer and will not cause undesirable side effects. Define other actions, if necessary, based on potential severity of problem.

6. Implement Permanent Corrective Actions
    Define and implement the permanent corrective actions needed. Choose on-going controls to insure the root cause is eliminated. Once in production, monitor the long-term effects and implement additional controls as necessary.

7. Prevent Recurrence
    Modify specifications, update training, review work flow, improve practices and procedures to prevent recurrence of this and all similar problems.

8. Congratulate Your Team
    Recognize the collective efforts of your team. Publicize your achievement. Share your knowledge and learning.

~~ Show me the data.

Saturday, March 13, 2010

Systematic Innovation - Darrell Mann

I am honored to have the opportunity to meet with Darrell Mann, one of the many technical or engineering background man who is looking into technical and organizational issues and even improvement capability using a method known as Triz or better known as a systematic way of studying and applying innovation. Darrell has a lot of researcher helping him to continuously study how to innovate things with a method originated from a Russian guy.

Some of the key points during his presentation includes
- successful theory and method of successful innovation
- asking the right question is important in order to solve or even find a way to innovate.
- some tools that is going to help us do the job of innovation
- many application examples to help us see the light



Also we explored areas such as
-Why do so many software companies do the innovation job so badly?
-And essential to that, the area of business, technology and software, and in fact in many organization, opportunities missed because everyone has a silo view. For example, technical problem is perceived as a problem for the technical team only. Business unit is seldom put in to see if they can make any good of the situation.. 

Some ideas here may be in contrast with improvement, as Darrell mentioned that, moving forward, improvement projects may be saturated. It is time to move in with innovation, systematically.

~~ Show me the data.

Agile Methodology - Scrum

Recently, I attended a workshop discussing about an interesting framework of software development. It injects a rather new taste into traditional waterfall software development that I know of. It is called Scrum. Scrum is one of the many Agile methodology founded upon or built up from the Agile Manifesto. The manifesto concentrates on areas that my generation of IT professionals tried to move away from.
1. Individuals and interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan

The catch is items listed on the right is important, Agile adopters 'value' more, the items on the left.

Interestingly enough, a very loosely defined Agile Manifesto now has several framework that is designed based on this manifesto. Some of the more famous ones are: Scrum, Extreme Programming (XP), Lean, Crystal, Feature Driven Development (FDD) and Dynamic Systems Development Method (DSDM).

Scrum in a nutshell is quick shot of software development, that attempts to produce working software within a period of about every 2 - 4 weeks. One period of 2 - 4 weeks is known as a sprint and every sprint produces a working product. Team works things out among themselves and they produce what Product Owner wants with the facilitation of a Scrum Master. The team is independent and the core of how this works is that, the team has to be protected and trusted to get the work done.

The traditional Gantt Chart that serves us so well with a lot of other tracking tools are thrown out if you decide to use Agile. In place of that, we have burndown chart and product/sprint backlog. Though a lot of tracking tools are thrown out, we have to follow a few Scrum rules closely, meaning, it should not be skipped to ensure success.

Of course there is a lot of debate on whether it works, it is not difficult to understand, but it may be difficult to implement and blended into our traditional environment. It may seem that a lot more issues will crop out as it is implemented, but then again, nothing good comes easy. Anyone who has implemented Scrum, do share your experience with me. I am all ready in reading your experience :)


~~ Show me the data.

Friday, March 05, 2010

Embracing yourself for the tough questions

The economic turmoil is far from having fully recovered. Company's management team will look into all aspect to strengthen their stake in the market share pie that they have and also looks for way to expand it. At the same time, they will also be looking for ways to reduce operating costs.

I found some tough questions that I need to address when I attend meetings on operating costs reduction. Below are some of it and I am about to share it with you. See if you face the same problem in your environment and are you addressing it. If you have some good answers, do share it with me

1. Reduction of development team size meant they have less time to address most of the minor bugs. They will only fix the major bugs. As for the rest of the bugs, you may work hard to find the bug, but development team is not going to do much about it. What can the quality team do about this?

2. What does the software tester thinks is best for the quality of the product, agile or waterfall?

3. Is exploratory test better or scripted test better? How can you be sure?

Well I find different people have different argument or thought about this. Do share what you have in mind with me. 

~~ Show me the data.

Monday, January 25, 2010

Trojan Horse….Greek Myth turned Computer Nemesis


We have all heard the term Trojan Horse, but what exactly is it?  A Trojan Horse is a destructive program that masquerades as a harmless application. Unlike viruses, Trojan Horses do not replicate themselves, but they can be just as destructive. One of the most dangerous examples of a Trojan is a program that promises to rid your computer of viruses but instead introduces viruses into your computer.

The Trojan can be tricky. Who hasn’t been online and had an advertisement pop up claiming to be able to rid your computer of some nasty virus?  Or, even more frightening, you receive an email that claims to be alerting you to a new virus that can threaten your computer. The sender promises to quickly eradicate, or protect, your computer from viruses if you simply download their “free”, attached software into your computer. You may be skeptical but the software looks legitimate and the company sounds reputable.  You proceed to take them up on their offer and download the software.  In doing so, you have just potentially exposed yourself to a massive headache and your computer to a laundry list of ailments. 

When a Trojan is activated, numerous things can happen.  Some Trojans are more annoying than malicious.  Some of the less annoying Trojans may choose to change your desktop settings or add silly desktop icons.  The more serious Trojans can erase or overwrite data on your computer, corrupt files, spread other malware such as viruses, spy on the user of a computer and secretly report data like browsing habits to other people, log keystrokes to steal information such as passwords and credit card numbers, phish for bank account details (which can be used for criminal activities), and even install a backdoor into your computer system so that they can come and go as they please.

To increase your odds of not encountering a Trojan, follow these guidelines. 

1.    Remain diligent
Trojans can infect your computer through rogue websites, instant messaging, and emails with attachments.  Do not download anything into your computer unless you are 100 percent sure of its sender or source.
2.    Ensure that your operating system is always up-to-date.  If you are running a Microsoft Windows operating system, this is essential.
3.    Install reliable anti-virus software.  It is also important that you download any updates frequently to catch all new Trojan Horses, viruses, and worms.  Be sure that the anti-virus program that you choose can also scan e-mails and files downloaded through the Internet.
4.    Consider installing a firewall.  A firewall is a system that prevents unauthorized use and access to your computer.  A firewall is not going to eliminate your computer virus problems, but when used in conjunction with regular operating system updates and reliable anti-virus software, it can provide additional security and protection for your computer.

Nothing can guarantee the security of your computer 100 percent. However, you can continue to improve your computer's security and decrease the possibility of infection by consistently following these guidelines.



~~ Show me the data.

Tuesday, December 29, 2009

3 things we need to know to progress, where we are, where we want to be, how to get there. We need to know all 3, think about that.

Thank you 2009, Welcome 2010

My believe is that every year we have to look back and see what progress we have made, do a minor tweak or adjustment and see where we are headed to next. In all reality, 2009 has not been an easy year, as do most years anyway. It will be a waste not to look back and take away learning points. The reality is that the world seems to have gone on a twisted economic cycle. Just to recap some of it the financial meltdown in US, the laying off of workforce all over the world, cutting back of spending from consumer to corporate, the almost always worsening weather and its getting really hot here, political disappointment (the usual picking and biting of each other but as a nation, no real progress), H1N1 another name for another strain of something as common as flu (but it has name because it kills us easily) and inflation on daily items.

So it does look crappy 2009, isn't it? well there was a feel scare but we all survived. And well, for all the stuff mentioned above, it is really beyond my control anyway. What I could do was what I can influence both from my personal action and personal thinking. In spite of all above, it was quite a fruitful year to complement a sad list above :) It is a year that I achieve my PMP, got an award in Software Testing for the organization I service, made a few friends, felt closer to God (yes, we pray more during the tough times), attended Wealth Mastery and preparation for fatherhood. Not that bad at all, I think.

So, come 2010, first of all is making real progress in planning and execution, as well as getting excited and fill my enthusiasm for life itself. I have to be more detailed now, and more precise in execution as this is one of the area I feel lacking the concentration. You know, we can be so distracted sometimes over things we have to do. I am really thinking of a year plan and then breaking them into quarterly plans so that the tracking is much better. From past experience, yearly plans are seldom looked at. Though with quarterly targets, I must live everyday by itself that is, everyday I must make progress and live it to the fullest, in passion, enthusiasm, love and joyfulness. We know we have today, but we do not know whether we really have tomorrow. And all of the daily activity jumbled up really packs it up and well hopefully still giving myself 7 or at least 6 hours of good sleep, plenty of water and pack in a couple of hours of good exercise and sun light every week.

A lot of cutbacks as well for 2010, I must reduce wastage time. Plenty of it, I suppose I should start with less TV, less games (yes, I still do games), less unhealthy food, less negativism, less pessimism and definitely less anger. I find that we live in a world full of pressure and pain. As yet technology has provided us with ample amount of convenience, I do find that with so much convenience, sometimes we do not appreciate life enough as it is. One thing I remembered that Keith Cunningham taught me, is that we have to set aside time to THINK. Have you really sit down and think today? Have we sit down and appreciate each and every present that God has give me and thank God and thank the people around me? Nope, have not done much of that. Come 2010, I definitely will.

One theme I want to make 2010 for me personally, is that 'To make this world a better place, with compelling future and exciting tomorrows for people around me, more so my family, so that the energy and enthusiasm around me will bring me to greater heights with God and understanding him better. To utilize my time so fully that I translate all my plans into outcomes that I wanted through perfect execution, as well as being generous with time for family and friends.

Yes Yes Yes, I can't wait for 2010!!