Thursday, March 24, 2005

Commanding Topic

This week in my Human Computer Interaction class I am discussing the various interfaces:  Direct Manipulation, Menu/Form Completion/Buttons and Command Line.  I have to admit that many times I favor the command line interface above all else for many tasks.  Yes, I still use Emacs and vi and feel a bit frustrated at times over the inability to bend the menu  items of Word or Power Point to my needs.  I also have not found a direct manipulation interface the I totally like although Apple's OS X  comes close.  I really dislike X Windows, always have, even when I had a SPARC I pizza box with purple feet.



(You have to be old to understand that one.  Basically the first Sun SPARC had a large pizza box form factor and its feet, rubber squares to elevate for heating and protect the desk top, were purple.  The day they unvieled the Sparc I, which was revolutionary, all the engineers were wearing purple speakers and it wasn't until the unveiling that folks in the audience got the subtle hint.  Whew, what a digression.)



All of this reminded me of Neal Stephenson's essay, turned into book, In the Beginning was the Command Line.  Although he referred to folks using command lines as Moorlocks, a not so kind reference from H. G. Wells, Time Machine (read the book, the movie was horrible), it is a great essay/book.  Even better, a version of the essay is on line with updated comments by a fan.  You can find it here.  Although I appreciate that the fan, Garret Birkel, made it available, I would focus on the original Stephenson text and  then return and read Garret's comments.



I hope you enjoy it!  Later.



Tuesday, February 22, 2005

Is there an architect in the house?

Julia Ryan, from my Stevens Architecture and Design class, wants to know how many software system projects use architects. Do you use them in your company?  Does it matter if it is a new or existing project?  Exert some care in your answer, since there arre many companies that provide the title of architect, but use it to mean a variety of tasks.  An architect for the purposes of this discussions matches Fred Brooks notion, that there is a single architect for a project that defines and fosters the conceptual integrity of the product.  Follow the link to get more information on what Brooks means.  We would appreciate your comments.  My development groups, regardless of size use an architect.  Later!



Julia Ryan's post:



Architecture is a fuzzy subject for me.  I think that the fuzziness stems from the fact that I have not been exposed to architecture at work.  I work on large software programs so I am surprised that I haven't seen it.  I wonder if it is because I work on legacy systems?  By legacy I mean, the code was originally developed years ago, and we are currently working on software upgrades (adding/removing functionality, code improvements, etc).  Or is it because Architecture is not yet widely practiced?  I'm curious to see if other organizations employ architects and architecture development on their programs and if they do, to what extent?



Wednesday, February 9, 2005

NKS Talk Wolfram

Attached is an email I received from Wolfram Science advertising talks by Wolfram in the metro area.  If you are interested in this controversial figure it would be a good opportunity.  In an earlier posting I mentioned that you can access the entire text of his book, A New Kind of Science, online.  You can access it here.  If anyone does attend his lecture, please post your impressions as a comment to this page.



I am hopefully going to be posting more actively again.  Later!


We thought you would like to know that Stephen Wolfram will
shortly be giving public lectures in your area.



Tuesday, February 15, 2005, 6:30 p.m.
University of Pennsylvania School of Design
Philadelphia, PA
http://www.design.upenn.edu/new/about/eventsdetail.php?eid=158
Room B1 Meyerson Hall



Wednesday, February 16, 2005, 6:00 p.m.
Princeton University School of Architecture
Princeton, NJ
Jean Labatut Memorial Lecture
http://www.princeton.edu/~soa/
McCosh Hall, Room 50



Thursday, February 17, 2005, 6:00 p.m.
Pratt Institute School of Architecture
Brooklyn, NY
Spring Lecture Series
http://www.pratt.edu/arch/
Higgins Hall



Friday, February 18, 2005, 1:00 p.m.
Rutgers University / DIMACS
Piscataway, NJ
http://dimacs.rutgers.edu/Events/2005/abstracts/wolfram.html
Busch Campus Center
http://maps.rutgers.edu/building.aspx?44



Dr. Wolfram will discuss new ideas and discoveries from his book
A NEW KIND OF SCIENCE (http://www.wolframscience.com), and their
implications for science, technology, mathematics and the arts.



The lectures are free and open to the public, though space may be
limited.



Tuesday, December 21, 2004

Mind the Gap!

Mind the Gap is an enigmatic phrase in the London Underground ostensibly referring to the space between the platform and the train and cautioning travelers to be aware of it.  This post is contributed by Lee Moss who is in the Executive Master's in Technology Management program at the University of Pennsylvania.   It discusses the technique of Earned Value Management  which, among other things tracks the gaps between Budgeted Cost of Work Scheduled, Actual Cost of Work Scheduled and Budgeted Cost of Work Performed. 





Everybody talks about how hard it is to estimate the cost and schedule of a software system project, but nobody wants to do anything about it.  That's what I got from the reading this week, so I went off on my own to see if some of the Program Management Best Practices (Boeing and otherwise) could be applied.  The first best practice that I looked at was Earned Value Management.

The first place I went on the web was a Google search for "software engineering earned value management." I found a number of useful links.

http://www.niwotridge.com/Resources/DomainLinks/EarnedValue.htm
is a wealth of links.

http://www.stsc.hill.af.mil/crosstalk/1998/07/index.html is an excellent paper by Quentin Fleming
& Joel Koppelman titled "Earned Value Project Management: A
Powerful Tool for Software Projects." that provides very good insight to the EVMS novice, particularly on how EVM can be applied to a software project.  Editor's:  note:  I added the title of the article to the text and I also recommend the journal Crosstalk, from the US Department of Defense.  Subscription to it is free.  Check out the link.

http://www.stsc.hill.af.mil/crosstalk/2000/12/lipke.html
appears to be another interesting article where statistical process controls were implemented in a SW project.  I didn't read this article in any great detail, but I have the link to return to if I need this in my tool kit someday. 

http://www.stsc.hill.af.mil/crosstalk/1999/03/lipke.asp talks about applying Management Reserve to SW projects- something every PM should be interested in.  In this article, they say "A nightmare for software project managers is "extras" thrown at them by the customer. Of course, revised requirements are supposed to be renegotiated and reflected by a revised project baseline that includes a new completion date and changed cost. However, many times the "requirements creep" seems so trivial that project managers forego the perfect practice and merely adjust their funding reserve to account for the change. For many situations, the effort required to re-baseline the project and negotiate the change is far greater than the amount of reserve lost. As an internal practice, we
advise customers that changes are being accrued and that we reserve the right to negotiate them once it is apparent the effort to do so is worthwhile; however, until payment occurs for revised requirements, the reduction in funding reserve will be reflected in decreased TFA and thus
a lower cost ratio."  I'm not sure that I am comfortable with this particular approach, because it seems to encourage incremental creep that goes unaccounted.

http://www.stsc.hill.af.mil/crosstalk/2000/06/lipke.html is more on statistical process control and software engineering.

In general, unlike the weather, it seems that a lot has been done relating SW projects to other program management tools.  I'll look at some of the other best practices another time.





Wednesday, November 24, 2004

No Honor!

In most of my Software Engineering courses this time in the semester is devoted to Human Computer Interaction.  I mentioned in class this site that discusses poorly designed web pages.  Vincent Flanders hands out a daily award for really bad web sites and he is usually on the mark and he has been doing this since 1996.



Another source for web site critiques and advice is the book by Jakob Nielsen, Designing Web Usability: The practice of simplicity, New Riders Publishing, 2000, isbn:156205810X. 



Don Norman's books are always worthwhile and great reads.  Check out his web site here.    Note the web site url, www.jnd.org.  Those that have taken my courses should know what the abbreviation means, for those of you that do not it refers to just noticable differences.  Later!



Wednesday, November 17, 2004

Search Hints 2

PJM Interconnection, a utilities company (electric power) outside of Philadelphia is looking for software folks.   They are located at this web site.  I will continue to alert you to companies I know are hiring.  Soon there will be a web page associated with my homepage where you can browse the most recent entries.  (I realize that blog entries aren't the most efficient way to alert you of openings.)
Later.




Thursday, November 11, 2004

European Vacation


No, not the National Lampoon movie!  This post is a vacation from the predominant way developers view Object Oriented design and development, that is, not only as a design methodology but also as a vehicle for reuse.  After a slow start in generating reusable artifacts, the patterns movement has certainly provided a great deal of success in reuse and has greatly influenced, if not dominated,  the teaching of Object Oriented design and development.



In the European School of programming, also known as the Scandinavian School of programming design and development is considered to be modeling and simulating a real or imaginary part of the world through objects and classes. The focus was on developing this model, not on reuse.  You can find a description of the thought behind it hereKristen Nygaard is considered to be the founder of the Scandinavian School of programming.  His site is fascinating and it is particularly interesting how during his life he combined his work in Object Oriented research and computer science (which he preferred to call Informatics) with his interest in social issues.  An example of this unique combination can be found in this paper by Nygaard.



Nygaard along with Ole-Johan Dahl developed the first family of OO languages, Simula.  For those of you who are programming language mavens, beta is a more recent effort. 



There is much more to say about Nygaard, Dahl and the entire Scandinavian school of programming.  In fact I am considering it as a potential book (or at least long paper) project.  This will not be the last post on the school in this blog.  If you have other links, papers or experience with the Scandinavian/European school of Object Oriented programming and design, share them in a comment.  Later!