Archive for April, 2010

Code Complete – Personal Test Records

Excerpt from Code Complete :

“In addition to project-level test records, you might find it useful to keep track of your personal test records. These records can include both a checklist of the errors you most commonly make as well as a record of the amount of time you spend writing code, testing code, and correcting errors.”

What do you think about this practise ?

How well it will be integrated with “5 Why” approach from the Toyota management? In my humble opinion it will be gratefull!

No Comments

An interesting idea from the book “Code Complete”.

If you can’t repeat it, you can’t improve it.

Author:  Steve McConnell

No Comments

What impressed me in “Code Complete” !

The results of the TSP and cleanroom projects confirm another version of the General Principle of Software Quality: it’s cheaper to build high-quality software than it is to build and fix low-quality software. Productivity for a fully checked-out, 80,000-line cleanroom project was 740 lines of code per work-month. The industry average rate for fully checked-out code is closer to 250–300 lines per work-month, including all noncoding overhead (Cusumano et al 2003). The cost savings and productivity come from the fact that virtually no time is devoted to debugging on TSP or cleanroom projects. No time spent on debugging? That is truly a worthy goal!

No Comments

The New Fashion “Pair Management”

Today I read the post Pair Management of Michael Feathers. There is something interesting that wasn’t mention in the post. This is hte  fact that pair management will reduce the risk in taking decision but this fact  probably must be proof from the researchers in the Management science.  Probably you know that every decision on management level costs 100 to 1000 times more time than a software mistake so you can imagine what influence could have pair management in software projects.

No Comments

Brainware Improvements

Today I read this post “Study shows brief meditation helps cognition” of Andy Hunt which is very important for every professional software developer. If you have some interests in this area please read  the post, you will like it!

No Comments

The Guerilla Tactics In The Software Development.

There is a very old and famous TV serial in Bulgaria “On Every Kilomerter.”.  It’s a film for Bulgarian Guerrillas during The Second World War. I haven’t watched this film from more than 20 years! But today when I heard my colleague to mention the word Trac for the 99th time for the last 2 weeks, I remembered  the phrase of a hero with a nick Mitko the Bomb.  In the film Mitko The Bomb blurts out “Why don’t we throw a hand grenade!”  in almost every situation during the whole serial. :D Probably I have to give a nick to my colleague “Nick The Trac” ! It’s funny but sometimes I notice that many software developers use the guerrila tactics for the software development. What I mean is the fact that many people don’t want to get the bull for the horns and make effort to find a good decision or to implement the best code according to their capabilities. So they respond with duty action or phrase. For example if you have to prepare mockups for the meeting with the clients these week you start writing tasks in the Trac or creating a new division of components and insert a new component with the genius name “Questions to the client”.  Now Please Go Back and Reread The Bolded Words In The Previous Sentence!!! Do you think it’s reasonable to loose almost a day for talking with all possible managers and do stupid actions like this with organization of the Trac, when you don’t have enough time to prepare the mockups? The interesting part is that you report that you made reorganization of the Trac and complained in front of the managers about lack of time to make all mockups and you need somebody to help you !!! This tactic do its job 100% every time. Even you offer to the client to install him a Trac or transfer all problems and questions to the client in csv format to be transferred in their tracking system !!! If you think that the example above is not enough I will give another one with my other colleague. The nick I gave to my colleague is “Kevin The Forum”. Kevin the forum couldn’t work with people and doesn’t listen the senior people above him at all. So every time when Kevin the forum meet a minor problem, he posts a question in some big forum and report to the manager that he met a serious problem and was waiting for response from the forum !!! Please read again the last sentence I know that I am insolent but I consider that this is very stupid action to ask the world for a stupid question before you ask you senior who has 10 to 20 times more experience than you in these domain. If you think that this is not enough probably I have to mention the colleague with the nick given by me “Dan the public static member” who thinks that he thinks that he knows OOP because he is developer for 10 years and use thoroughly public static members. Please re….. !!! The interesting part is the daily report to the manager that actually he was ready but had to make some improvements !!! Have you ever heard this phrase ? Yeah, I know you heard it almost every day. What could you say to a colleague that he alleged to know design patterns but he didn’t know design pattern names ? Please re … !!! I couldn’t understand why the software developers use one and the same guerrilla tactic and expect every time somebody to do their job, to make the design, to implement the new decision and so on.  If I have to mention the idea of Taiichi Ohno that if you look in reverse order from the client side the software process you will see that the product of software developer is the source code not the Trac reorganization,  writing posts into forum, or some excuse that you have finished the task but you need time to polish the task or mockups a day or two.   Please re…. !!!

I will finish my post with an idea of Bob Colwell that every craftsman could be discerned by the tools.

P.S. Now what do you think regarding guerilla tactics ?

I excuse of my bad English ! At the moment like this I sorry that I am not proficient in English to depict the situation and my feelings in depth !

!!! GOD HOW MUCH PAIN THERE IS ON THIS EARTH !!!

6 Comments

Scala Variables

Last week I read about Scala’s variable definition. I note an interesting way to define a variable which make me write this post.  Scala has two type of variables which can be defined with var and val. These key words shows how to use a variable. For example if we define variable with varvar name : String = “Some Name” ‘ that’s mean that we can change the value of the variable. Usage of val val name : String = “Some Name” ‘  is that we define constant value for some reason. If you try to assign a value to variable defined with val you will receive error “reassignment to val”.

What I like in this approach of defining variable is the fact that you  can show your desire to not change value for given variable very easy and you don’t need of modifiers which sometimes must be carried with the variable in some languages like C# and C++.

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint Exupery
No Comments

HTML5 and WebSockets Avalanche

Recently, I read two articles regarding HTML5 and WebSockets.  In my opinion these technologies will be the new big wave in web technologies. Today I read this blog and understood that this will be our tools very soon !

No Comments

The Design of Design

The last book of Frederick P. Brooks “The Design of Design: Essays from Computer Scientists” has just been released and I have just bought it. I think you will like it too ! ;-)

Tags: ,

No Comments