Log on:
Powered by Elgg

Vic Chin :: Blog

June 24, 2008

Why seperate computer science and engineering?
  • Currently /5

Avg rating: 4.7 - based on 9 ratings

5 Stars 6
4 Stars 3
3 Stars 0
2 Stars 0
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

“The differences between engineering and computer science accreditation criteria do not imply that one approach is right and the other is wrong. Their objectives are simply different.  Science programs prepare students to conduct research; engineering programs prepare students to participate in industry.” (McConnell, p.182)

 

Although I agree that there is difference between computer engineering and computer science, I really do not like McConnell’s idea that “Their objective are simply different”.  First, it is not always that easy and simple to draw a clear cut between computer engineering and science.  A lot of overlaps exist between these two.  

Second, why does one need to separate these two?  An engineer could become a good scientist and a scientist could be a good engineer correspondingly.  We have many examples that engineers who did an excellent job in industry went back to school and worked as a professor later in his career.  Combining these two would probably prepare one to understand knowledge in a better way, whatever the knowledge is considered as an “engineering” or “science” horizon.  

Third, I am not sure if the tendency to separate engineering and science is specific to the U.S. or not.  In China where I went to college (in computer science department), a student is required to take both computer science and engineering course to prepare to either go to industry or do further research.  You memorize theories/formulas as well as going to companies for internship and doing practical engineering and telecommunication work such as assembling your own radio, crafting your own circuit board, or installing hardware.  People in general recognize there is difference between the two, but it is not that common to distinguish these two strongly. 

I am not sure if I would buy the U.S. educational dichotomy either.  Think of the Western Medical system vs. the Asian medical system.  In a western health system, if a person is sick, e.g., has a headache, most likely a doctor would give the patient some pills that are supposed to merely cure the headache without considering whether the headache is caused by a source in the head or not (The doctor may also ask the patient to have an X-ray in brain.......).  On the contrary, an Asian doctor may need to examine the whole body and check the vein to identify the headache source before prescribing particular medicine.  In this sense, a student who plans to work in industry should not eliminate the science courese and a student who wants to be a scientist could take many engineering courese as well.  

Posted by Large-Scale Software Summer 2008 - Lei Lei | 4 comment(s)

June 21, 2008

Will a Firm and Fix pricing approach be effective to prevent project overrun?
  • Currently /5

Avg rating: 3.5 - based on 2 ratings

5 Stars 1
4 Stars 0
3 Stars 0
2 Stars 1
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

McConnel raised a queston in page.117 that "For a company that develops custom software, what’s the business value of being able to provide a fixed-price bid with high confidence that the project will not significantly overrun the bid?" It seemed that the indirect software practice (e.g. An Firm and Fix pricing approach with high confidence will reduce project overrun risk and increase business values for an organization.  

However, my question is that: is a firm-and-fixed pricing approach really an effective solution to prevent project overrun?  Where does the high confidence come from?  By taking the F-F approach, the risk of the project may also increase (On the other hand, if it is by a Time & Material approach,  the risk for the organzation to take the bid can be lower than a  Firm and Fix approach because the money is paid in hours although there may also be an upper bound for the total from the client side).  

Posted by Large-Scale Software Summer 2008 - Lei Lei | 1 comment(s)

June 20, 2008

SW-CMM experience
  • Currently /5

Avg rating: 5.0 - based on 2 ratings

5 Stars 2
4 Stars 0
3 Stars 0
2 Stars 0
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

I think I overheard some class members talking about their organization's SW-CMM level.  I've never worked in an organization in which this was a relevant concern for me.  Does anyone have any direct experience in the effort to become accredited at whatever level:  what it entailed and what it, as a practical matter, has meant to the company?  

Posted by Large-Scale Software Summer 2008 - Scott Wood | 1 comment(s)

Managing Brilliant People
  • Currently /5

Avg rating: 3.4 - based on 5 ratings

5 Stars 2
4 Stars 0
3 Stars 2
2 Stars 0
1 Star 1
   * Includes your rating
--(Log in to rate this blog post!)--

Link to article

This article is interesting because at the end of the day, despite the type of project you're managing, its people that you're really managing.  With the rise of the Gen Y's and their knowledge of technology, its hard to manage people using traditional methods.  I think being part of a team of brilliant people without proper management will be as ineffective as being in non.  This article pointed out that brilliant people are expert at what they do and managers should recognize this trait and manage properly.  In situations like this, how does a project manager balance management duties and leadership duties?  

Posted by Large-Scale Software Summer 2008 - Ken Hoang | 2 comment(s)

"Lucky" computer industry?
  • Currently /5

Avg rating: 4.0 - based on 4 ratings

5 Stars 1
4 Stars 2
3 Stars 1
2 Stars 0
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

McConnell brings up the legendary Xerox PARC laboratory inventing so much of the modern computer world, seemingly under Xerox's nose.  IBM has a not dissimilar story with the PC being developed outside of the main corporate culture, and largely ignored by the bulk of the corporation.  

As a result, neither IBM nor Xerox tried to make proprietary a lot of things that, in retrospect, they might have wanted to make proprietary.  

For example, the PC was famously an open system.  IBM has taken a lot of heat in the business press for that decision.  OTOH, I suspect that an open system was required for the micro-computer revolution to take off.  So, if IBM had not made the PC an open system, the industry would have coalesced around some other open design, albeit, it would have taken (a lot?) longer to evolve that way.  

Are there any key technologies that went the other way?  That were proprietary for a long time until finally opened (or, maybe, never opened up), or open competitors emerged?  

 

Keywords: IBM, microcomputers, open systems, PARC, Xerox

Posted by Large-Scale Software Summer 2008 - Scott Wood | 1 comment(s)

Can Coke get its bottlers on a common IT platform?
  • Currently /5

Avg rating: 2.2 - based on 5 ratings

5 Stars 1
4 Stars 0
3 Stars 0
2 Stars 2
1 Star 2
   * Includes your rating
--(Log in to rate this blog post!)--

 

This article from information week Video: Can Coke Get Its Bottlers On A Common IT Platform? focuses on a large scale effort by Coke cola brand to standardize on SAP’s service oriented architecture. There is a video on this page which is an interview with CIO John Mitchell of the company and he talks about how IT has leveraged the company. The focus was on three aspects initially as he mentions “Integrated information and analytics”: to bring the data with finance, marketing and other data together to analyze on getting the key indicators,  “Collaboration” marketing teams around the world to collaborate together without having to travel ex. use of marketing portals  and  “interactive marketing” things like rewards etc.  Goal was to harmonize processes, data and IT. They effectively used IT for "marketing", "innovation" and "right execution daily". The strategy on standardizing the bottlers with SAP’s service oriented architecture was to get senior management of company as well as the bottlers and make them clear on value of the project and also get them involved in governance of project. Secondly they started by executing it on company owned bottlers. He also mentions the use of best practices for making things happen.  

Posted by Large-Scale Software Summer 2008 - KULMAN | 2 comment(s)

June 18, 2008

Thinker vs. Man Thinking
  • Currently /5

Avg rating: 4.2 - based on 6 ratings

5 Stars 1
4 Stars 5
3 Stars 0
2 Stars 0
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

I just have some thoughts on the Thinker versus Men Thinking (aka American Scholar) that I would like to share. Based on Emerson’s definition:

1. A thinker is someone whose sole function is to think. A thinker experiences life second-hand, through other people's books, articles, and descriptions of the active world.

2. A Man Thinking is a robust person who is active in the world, actively engaged in a trade or occupation, who occasionally pauses for reflection.

In addition, “If readers not "braced by labor and invention" get little out of what they read, writers not braced by labor and invention put little into what they write…. As Emerson says, action is essential. Without it, thought can never ripen into truth.”

Apparently McConnell is using Emerson’s point in conjunction with James Fenimore Cooper syndrome to make a point that a true genius is a man thinking, thus he should be the one to write about his insights.

I agree that a practitioner’s writing will be more useful for the people working in the same field, but I am not sure I can agree to these statements as a generalized concept. When I first read it, it made sense, but as I regurgitate a bit. I wonder if there is any great thinker who does/did not have the first hand experience and still able to create valid concepts without making himself a James Cooper. One guy immediately came into my mind, Albert Einstein. He was able to come up with all kinds of theories without being able to experience those theories/conjectures first hand. It’s just simply not possible at the time of the ideas being created. If Einstein is a thinker by definition, then in the Emerson’s world, people would not pay much attention to him. If so, much of the 20th century would be very different. Another person came into my mind is James Maxwell. Long after his death, his theories began to found their way into the modern world. If I remember it right, it was 50 years after his death people start to notice his work.

So maybe we should further generalize the concept a bit. A “true genius” is someone who is able to leverage the known validated truth to extrapolate mental constructs/concepts and have a good possibility getting them right.

If my statement is true, then a men thinking is a validator/do-er. Then a good thinker is a “true genius.” A validator can also be a “true genius”. These two set of people are not mutually exclusive, and all should be writing. The thinkers used invalid assumption will eventually get weeded out by the readers. It’s just that a do-er’s writing is more practical to the people who are trying to accomplish the similar type of tasks, his writings will also go through the same "trial by fire" or natural selection process from readers. Good writings from good thinkers and men thinking would always find audience. We should not enourage practioners to write at the expense of thinkers. We need both the know-hows and the stimulants of creativity.

Well, it’s just my two cents.

 

 

Keywords: Cooper Syndrome, Emerson, Man Thinking, Software Development, Thinker

Posted by Large-Scale Software Summer 2008 - Joseph Tann | 5 comment(s)

June 14, 2008

Protect again scope change vs. budget management
  • Currently /5

Avg rating: 4.5 - based on 2 ratings

5 Stars 1
4 Stars 1
3 Stars 0
2 Stars 0
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

I was reading the "Protecting the Linear SDPM Strategy Project Against the Impact of Scope Change" and Wysocki points out three major methods for this (p.116, Wysocki):

a. Management Reserve: reserve time for managing unforseen schedule adjusts or scope change request.(10% recommended)

b. Create a scope bank: set aside time for processing scope change request and absorbing impacts to existing schedule (10% recommended)

c. Change SDPM strategy: communicate with high-level managers and customers and shift the pattern of PM and SD.

Then it seems to me that when a company bids for an RFP or submits a quote in proposal, there will be >20% time (and somewhat sounds like overhead time) reserved to deal with scope creeping.  However, any RFP usually has a budget constraint. My question is: How to balance the tradeoff between up-scope protection and appropriat pricing? What factors should be concerned so that a project is not over-pricing to lose an opportunity?

 

 

Posted by Large-Scale Software Summer 2008 - Lei Lei | 2 comment(s)

June 07, 2008

Software development vs. Project Management
  • Currently /5

Avg rating: 2.0 - based on 1 ratings

5 Stars 0
4 Stars 0
3 Stars 0
2 Stars 1
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

My first impression after reading the two books is that software development is not just about coding but more similar to IT project management.  One has to have a broad range of generalized knowledge and some deep understanding of a few fields in order to manage software development successfully.

 

 McConnel mentioned that specific languages and programming environments can be completely absent during software engineering because "the body of knowledge emphasizes software engineering principles rather than technology knowledge" (p.46).   I don't quite agree with him.   Although I agree that principles can serve as guidance for practice and a good design may be programmed into many languages, principles may only cover the reality partially and thus rarely reduce the weight of of real juicy technology knowledge in software engineering.  As pointed out in the book, software engineering involves more than ten major fields (requirements, design, implementation, QA/QC, deployment, release, etc),  I don't see any field that does not require specific technology involvement.  See below for involvment example:

    Requirement: contains non-functional requirements which needs specific technology knowledge.

    Design: you gotta consider language choice based on project requirement and select one with strength  

    Implementation:developers implement the design in specific language

    QA/QC and deployment: you test an application/software in that languange and install the corresponding package

    Release: mention known limitations that may come from a specific language. 

  -------

The other thing I am a bit confused about is that McConnel mentioned that the pattern of programmers working overtime and lack of work-life balance "is avoidable by moving from an engineering approach to software development".  I doubt it because I believe the core characteristic of programming (long time involvement required to accomplish a coding task) plays a significant role in determining the characteristics of programmers' working style. 

Posted by Large-Scale Software Summer 2008 - Lei Lei | 1 comment(s)

June 05, 2008

  • Currently /5

Avg rating: - - based on 0 ratings

5 Stars 0
4 Stars 0
3 Stars 0
2 Stars 0
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

That project is really cool as what i see it. If used effectively it can certainly help. But there are issues like Joseph mentioned like packet streaming  etc.

I would like to point out here is that not VR are actually used for games. And a really good example what i beleive is "Second life". I am also not a fan of virtual worlds as Victor but it seems that these things if used effectively can be quite helpful. 

I have a cool article on this(Second Life) open source project by Linden Labs. The cool thing about it is people can actually learn the simple linden language to code and make 3-D models and other things. Though i should mention here is that the graphics is nto quite what i would personally prefer but it works and for the thousands it surely is cool. As a business perspective they have trading with linden money to real world dollars. So individuals can make money by selling what they make. And as a matter of fact many do trading in second life also lot of companies have started using this for promoting their brand and reach out to more audiance. 

I am particulary not in favour of companies setting up there because of numerous reason like time to explore, cost of having extra staff to actually sit in fornt of computer for a million hours as there are flaws in the game. There are lot of issues like security and copyrights that have just started to crop up as people became more money oriented on Second life. 

But for a large scale project i find it to be prestty interesting as how they really thought of such a project and have actually implemeted and are currently managing database of thousands of users, also since this community is really growing rapidly they are faced with more challenges as bandwidth issues and other issues like making sure about backup procedures.  This interview mentions some aspects about the open source approach of the company and why it helped and other things http://www.linuxworld.com/news/2008/042908-second-life.html?fsrc=

the other video interview talks about other things like hardware and software http://www.infoworld.com/video/archives/2007/01/second_life.html

Posted by Large-Scale Software Summer 2008 - KULMAN | 5 comment(s)

<< Back