Completed - Intermediate Concepts of CMMI 
Monday, September 19, 2005, 03:27 PM - CMMI, CMMI Publications, Intermediate Concepts, Personal
Finally, it is over and even better I passed the Intermediate Concepts of CMMI training with excellent rating.

I must say it is one of the most interesting learning exercises I have ever had. It basically converts the static built up CMMI knowledge from the Intro course and self study into a clear, lively and vivid picture of a better way of making software. I think it can be best compared to the difference of looking at house blueprints and taking tour of a constructed building.

The course it self takes five days. The first day covers the CMMI model concepts – capability levels, maturity levels, representations, model components. The next three days are dedicated to review of the 25 process areas and some practical exercises. The great part is that the process areas are presented largely by the students and a very good discussion of each area occurs following the formal presentation. The exercises are also very well designed to help combine the knowledge of the different process areas into one idea of an interrelated process model.

The last day is dedicated to examination on the contents of the CMMI standard. The examination is not hard if you have studied thoroughly the standard, but I think one has to do quite a bit of self reading to pass. In my case I had spend great deal of my time in the last two months going over the complete standard and the first 6 chapters of both representations. If I have to give advice on the preparation it is best to get the Addison-Wesley book on CMMI. It combines both representations into single reading material and contains small modifications making the reader's life much easier.

So as they say the more you know the better your understanding is of how much more there is to learn. I have now started my journey into PSP and Six Sigma as two supporting bodies of knowledge to help better implement the CMMI. About PSP there is an excellent PSP self study course available from SEI site, it is free, but requires registration and is for private use only. For those wanting to just get feel of what this process thing is about an interesting Video Presentation with Watts S. Humphrey is available as well.

  |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 4168 )
Learning Aids 
Monday, September 5, 2005, 11:44 PM - CMMI, CMMI Implementation, Intermediate Concepts, Personal
To facilitate my learning of the CMMI I have developed an Excel sheet containing the titles of all CMMI key elements Process Areas (arranged by maturity level and Category), Specific Goals, Specific Practices, Generic Goals and Generic Practices.

I hope it may be of use to someone else trying to get grasp of this vast body of knowledge.


CMMI_breakdown.xls


  |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 2161 )
Going for ‘Intermediate Concepts of CMMI’ course 
Wednesday, August 31, 2005, 05:14 PM - CMMI, CMMI Publications, Intermediate Concepts, Personal
As the start of the course approaches I am now investing a lot of time in studying CMMI standards.

I have now completed my pre class assignment for the course. I would like to make it available to all as a possible help in understanding Integrated Project Management process area better, here is the link to it Integrated Project Management.ppt. It is also available in the 'Files' section on the right side bar.

I will try to put narration to it in the coming days to make it easier to use and more informative.

Please if anyone gets the presentation let me know what you think of it.

-Kiril

  |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 3378 )
I am back from vacation 
Tuesday, August 30, 2005, 02:49 PM - Personal
Here I am back form vacation. I was for a first time on an "all inclusive" type of vacation. I must admit this is the laziest way to spend some time. I was with my family (daughter and girl friend) at Hotel Rubin in the St. Kostantin & Elena resort in north Bulgaria on the Black Sea coast.

Above is a picture of the beach, sea and the swimming pool in front of our hotel.

Here is my daughter on the side of the pool in front of the hotel. Our room was on second floor, exactly behind my daughter's head on the picture.

  |  [ 0 trackbacks ]   |  permalink  |   ( 3.1 / 2955 )
Going on vacation/study 
Sunday, August 14, 2005, 12:21 AM - CMMI, CMMI Implementation, Personal
Hello

I have not made any new postings for a while. Reason is I were busy.

I am now going for vacation so posts will be missing for at least two more weeks.

Good news is I will make some interesting posts afterwards. As I will be studying the CMMI models very hard next two weeks to assure success at the Intermediate concepts of CMMI course.

Also below I include one of my posting to the
cmmi_process_improvement Yahoo group (It is very good, join in case you are not a member yet). It is about estimation of software projects, it may be interesting to some of the visitors.


here is my 2 cents on the matter

It is probably best to get some reading on estimation.
There are many ways for estimating software projects.
Reality is estimation is more expert work(art) and
less defined formula. What you can do by formalizing a
process is to make your artists better (by avoiding
errors e.g. "I forgot we have to buy licenses" -
assignable deviation) and allow a newbie to quickly
step up and work like the experienced guys. Below I
have described what I use in estimation and have found
to be good approach. It is illustrative of the size
vs. effort dilemma.

First few introduction words. In my view "size
estimate" should be an estimate that does not take
into account schedule constraints, resource skill
level, associated risks, availability of tools etc..
Such estimate one can later use for comparing
projects, analyzing performance and influence of
different factors.

A good example is the use of sq. feet to measure the
area of a house; this metric has relation to the cost
and duration of construction, but is not the only
factor. Comparing price per sq. feet gives good idea
of how luxurious a place is supposed to be.

A very simple example why you should not jump directly
to effort estimate is "a single woman gives birth in 9
months, but 9 women cannot give birth in 1 month" i.e.
timeline does not relate in linear manner to team size
to achieve same goal. Thus effort depends on project
duration and the esimtate for a single task effort
cannot be correct without taking the big picture of
the whole porject. There are many constraints you
have to account for some acting on task level
(resource efficiency) some acting on global project
scale (ramp up, integration, testing, number of
defects made that need fixing, schedule constraints
etc.).

Having said this I suggest you the following:

1. Ask your guys when looking at specifications to
assign relative numbers to each item they estimate –
call these "estimation points". Similar to task
duration, but without thinking "John is not good in VB
it will take him longer, so I say 5 days" i.e. use
what extreme programming does estimate ideal
development hours without time for maintenance,
learning etc. This of course means you have to make a
WBS alike structure i.e. spilt work in small pieces
that can be compared amongst each other and can be
estimated with good degree of certainty. I most often
assign value of 10 to some very obvious item that is
often repeated pattern in the application e.g. master
detail form in a database application. Sometimes you
may create several different estimates based on
different solution alternatives refer to CMMI ML 3
Requirements Development and Technical Solution areas.

2. Sum the estimated values for all tasks

3. Next build list of all factors that influence the
project in a good or bad way. In my experience
organization wide checklist of items works very well.
The list may also contain some guidance for
quantification of the item. Some things to look at:
a. Is the technology new to the company? Is the
technology very new for everyone (likely to be risky)?
b. How senior are the people assigned?
c. What training is required? What is the ramp up
time i.e. how long would a person need to get
comfortable with the requirements
d. How much testing effort will be needed?
(proportional to development)
e. How much time and resource will you need for
integration and fixes, again proportional?
f. How much project management time will you need per
week or as percent of development?
g. How well have you performed on similar projects
even if you do not precisely know why e.g. you may
know that a particular customer is problematic and
things often do not work well.
h. Do you have to give warranty? How much resource
you need for this?
i. Is there some transition period during which you
have to provide extended support?

4. Taking into account the factors from point 3 above
estimate how long would it take to complete 10
"estimation points" from point 1 above. Apply only
those that influence single task like experience of
people, availability of hardware and other tools i.e.
ramp up, project management and testing do not go
here.

5. Multiply the number from point 2 by the duration
from point 4 and divide by 10. This is the ideal
development time wihtout management, fixes,
integration or testing.

6. Taking into account project wide factors from point
3 (that were ignored in point 4) create the time
schedule for your project and the complete effort
estimate (ramp up time, project management, testing,
integration and any interdependencies come into play
here). As a rule of thumb team size you plan should
not exceed the square root of the project duration in
months e.g. if total effort is 9 months – team should
be of 3 or less people working for more then 3 months.
You can use Excel ot Project to lay out work. Useful
is to define milestones/phases(lifecycle) there are
many approaches to do this waterfall, iterative,
spiral (build guidance and provide training for your
guys when to use which; some organizations pick one
and work with it, until need for change is apparent).

7. Now add to the effort cost any additional costs –
equipment, licenses, travel, vacations (checklist
guidance helps here as well) this produces your cost
estimate.

You should try several times this on small scale
projects.

Use you gurus to build your own solid process i.e.
good checklists and guidance, they will be very happy
to feel part of the effort and will ultimately like
more to work with things they made rather then things
you give them.

Data from estimation you should store in a global
location and later when analyzing the project or
milestones you will probably spot omissions in the
checklists, process or their use. This is how
improvement works.

I hope this is of some value to you. Basically you
should look at the bigger picture when costing
projects not only work needed by particular individual
for particular task. This will allow you to compare
efficiency of projects and teams to detect problems
and successes ultimately becoming better at what you
do.


  |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 629 )

Back Next