Tales from the bits

The major problem of project failure is silence. Failure of communication or communicating wrong information is a major problem for many projects. Fear can be a factor of inadequate communication. (Scott, 2007) 

Project communication management has four processes (Schwalbe, 2007 p. 407):

  1. Communication Planning. Finding out who needs what kind of information. This process produces a communication management plan an instrument that guides project communications.  The plan includes both formal and informal communications. Formal communication includes status meeting, weekly meetings, status reports, risk lists, project schedules. Informal communication includes phone calls, emails. A communication matrix can have the following structure:
  2. Subject Communication Type Author Audience Frequency Due Date
    Monthly Status report Hard Copy PM Stakeholders Monthly First of Month

    (Egeland, 2009)

  3. Information distribution.  Addresses how the information will be available to the stakeholders in a timely basis.
  4. Performance Reporting. All reporting that has to do with the status of the project, the progress of the tasks and forecasting.
  5. Managing stakeholders. The project stakeholders need to have reports to know the status of the project, problems and issues in order to resolve them or take appropriate action. Frequent communication starting from the early stages of the project can give the stakeholders a better idea of the project and the benefits. Early communication can help also identify and measure people reaction to the project (either positive or negative) and create a communication strategy and actions to win people’s support. (MindTools ,2009)

The project manager should satisfy each stakeholder expectation for information. The project success relies on satisfying the customer/ sponsor of the project. The expectations management matrix provides a way to document measures of success, priorities, expectations and guidelines to achieve each measure. (Schwalbe, K, 2007. P.421) The expectations management matrix helps the project manager realize what is important for the stakeholder and prepare the relevant reports that will be included in the communications plan.

For India’s 2,3 billion Delhi metro proper communication management helped its project manager Dr. Sreedharan to finish the first 65 km nearly three years ahead of schedule. (PM Network, 2008)

From my experience I know the kind of problems that might emerge if a proper communication plan is not included in a project. Management wants to know the status (cost, time, resources) of the project at frequent intervals. When you know what to expect and you get relevant information you can have, as a manager, a clear picture of what the status, the problems and the resolution of project problems are. Top management hates surprises.

Involve stakeholders in every step to understand their:

  •  priorities,
  •  viewpoints,
  •  needs,
  • support
  •  objections.

 This involvement helps the project manager provide relevant information and manage stakeholder expectations.  

Working also under a quality management framework, like ISO, helps you guide how to document issues, how to perform changes in the process and how to retain knowledge gained from the execution of the project.

References

Brad Egeland (2009). The Project Communications Plan. Project Management Tips Available from: http://pmtips.net/project-communications-plan/

MindTools(2009). Stakeholder Analysis. Available from:  http://www.mindtools.com/pages/article/newPPM_07.htm

PM Network (2008).METRO MIRACLE WORKER. PM Network 22.12: 61-61. Business Source Premier. EBSCO. Available from: <http://search.ebscohost.com.ezproxy.liv.ac.uk/ login.aspx?direct=true&db=buh&AN=35980073&site=ehost-live>.

Scott, Robert.(2007). SILENCE IS DEADLY. Computerworld 41.6  28-28. Business Source Premier. EBSCO.  Available form :  <http://search.ebscohost.com.ezproxy.liv.ac.uk/ login.aspx?direct=true&db=buh&AN=23953421&site=ehost-live>.

Schwalbe, K (2007). Information Technology Project Management (5th Edition). Course Technology.

Code reviews or testing?

April 4th, 2010

What is it better to do, code reviews or testing?

Code review or software inspections are used to spot software errors, omissions and anomalies. The code review as the name implies is to look at the source code for errors and defects. To successful perform a code review a team of at least four people must be formed. The roles are:

  1. Author – programmer: the one who owns the code and is responsible for fixing the errors.
  2. Inspector: Inspects the code and/or the documentation to find errors – omissions.
  3. Reader: Presents the code – documentation
  4. Scriber: Writes the findings of the code review meeting.
  5. Moderator: Manages the process and facilitates the inspection.

It is very important to keep any questions or comment to the code and not to criticize the developer. When done correctly code review is a positive experience for the team and a learning tool for all levels of developers.

In order to initiate a code review you must:

  • Have a complete and precise documentation of the code under inspection.
  • The team must know the coding standards that the organization uses.
  • The code must be updated and must compile, prior to the inspection. It is a waste of time to inspect code that does not compile.

During one hour of inspection about 120 lines of code are reviewed. It is not recommended for the code inspection to last more than one and a half hours.
It is very important during the inspection to read and translate the code in plain English, based on the specifications. This way everyone can examine the logic and validity of the code.

Why should somebody prefer code reviews from testing?

  • During the testing, there is a possibility that an error can mask other errors.
  • Testing does not guarantee the code quality and code efficiency.
  • In applications that use threading errors cannot be caught with testing but only with a thorough code review.

An advice to software project managers:
I would recommend planning time for code reviews in every project. Code reviews is a great way to mitigate code related risks during the early stages of development.

References and useful links

  1. Rober Bogue (2006) Effective Code Reviews Without the pain http://www.developer.com/tech/article.php/3579756/Effective-Code-Reviews-Without-the-Pain
  2. Josh Poley(2007) Best Practices: Code Reviews http://msdn.microsoft.com/en-us/library/bb871031.aspx
  3. Sommerville I (2006) Software Engineering. Addison Wesley; 8th edition
  4. Wikipedia (2010) List of tools for static code analysis http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#.NET_.28C.23.2C_VB.NET_and_all_.NET_compatible_languages.29

Apple – iPad

January 27th, 2010

The newiPad from Apple is simply fantastic. It has a multi-touch high resolution screen which makes surfing on the Internet, reading emails, browsing photos, watching videos a new experience.

Some technical specifications:

Height: 9.56 inches (242.8 mm)
Width:  7.47 inches (189.7 mm)
Depth: 0.5 inch (13.4 mm) — extremely slim!!
Weight: 1.5 pounds (.68 kg) Wi-Fi model;
1.6 pounds (.73 kg) Wi-Fi + 3G model

The display is a 9.7-inch (diagonal) LED-back-lit glossy wide-screen Multi-Touch display with IPS technology. The resolution is 1024-by-768-pixel resolution at 132 pixels per inch (ppi).

The storage capacity:16GB, 32GB, or 64GB flash drive.

The sensors: Accelerometer and Ambient light sensor.

More technical details can be found on the Apple’s web site.

After viewing the presentation videos I just wanted to have an iPad.

According to Microsoft the vulnerability was in the mshtml.dll.  Those who install the update are NOT vulnerable and are protected from all known attack vectors.  There is a full description on Microsoft Security Bulletin MS10-002 – Critical.

From Physorg.com:  A study on mice showed that  even a few days of running or jogging stimulates the brain to grow new cells in a part of the brain involved in memory and recall. The study was done by neuroscientists from University of Cambridge in the UK and the National Institute on Aging in Baltimore in the US.

Running mice grew an average of 6,000 new brain cells per cubic millimeter in the dentate gyrus part of the hippocampus. Exercise keeps the brain healthy by increasing synaptic plasticity and by stimulating the brain to produce new cells(neurogenisis=neuro+genisis[birth]).

Bill Gates launches new site.

January 21st, 2010

The Gates Notes, is the names of the new web site that Bill Gates launched. Todd Bishop in his blog states that Bill will “be writing about what’s on his mind, posting information from his trips, and sharing excerpts from his exchanges with experts and leaders in areas including science, energy, philanthropy and other global issues.”

Communication is a key factor when you want to achieve a goal. It is nice that Bill Gates shares his thoughts and interests and that he is open for conversation. The site has good content. What will be the next step?

The recent attack to Google, Adobe and other companies revealed a vulnerability that exists in many versions of Internet Explorer. According to Wired the attack was ultra sophisticated and targeted source code from Google, Adobe and dozens of other high-profile companies. The level of sophistication was equal to the attacks seen in defense industry. Microsoft has released a Security Advisory (979352). The products that are vulnerable are Internet Explorer 6, Internet Explorer 7 and Internet Explorer 8 on supported editions of Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2. The Advisory explains the vulnerability:
“The vulnerability exists as an invalid pointer reference within Internet Explorer. It is possible under certain conditions for the invalid pointer to be accessed after an object is deleted. In a specially-crafted attack, in attempting to access a freed object, Internet Explorer can be caused to allow remote code execution.”
George Stathakopoulos, of the Microsoft Security Response Center stated that “Based on a rigorous analysis of multiple sources, we are not aware of any successful attacks against IE7 and IE8 at this time……we have teams working around the clock worldwide to develop a security update of appropriate quality for broad distribution to address this vulnerability.”

This security vulnerability is serious for big corporations and governments that use Internet Explorer. The German Federal Office for Security in Information Technology (known as BSI) recommends that all Internet Explorer users switch to an alternative browser.

Personally I doubt that home users will be affected from that vulnerability. Mainly the threat for the time being is for corporate and government users. In any case you should immediately upgrade to Internet Explorer 8. You may also choose to use another web browser until Microsoft releases a fix for this vulnerability.

Josh Romero from IEEE spectrum reports that Plastic Logic’s QUE e-reader was the best e-reader presented at CES. The entire surface of the QUE is a capacitive touch screen.  Plastic Logic replaces the traditional glass backplane with one of thin, flexible plastic. The device will be available in April ($649 for the basic Wi-Fi model and $799 for a 3-G wireless model).

See the video!

Plastic Logic\’s QUE E-Reader

After doing a little more research I totally agree with the article, I think this is a fantastic product.

Microsoft BizSpark

January 14th, 2010

Microsoft BizSparkis a global program designed to help accelerate the success of entrepreneurs and early stage startups. The requirements to join the program are:

  • The core business of the company is software development
  • Be privately held
  • In business for less than 3 years
  • Generate less than 1 million USD annually

The benefits are:

  • Software: You get all the latest tools and software from Microsoft to help you and your team create software. You can run your software-as-a-service business on the following server platforms: Windows Server, SQL Server, Office SharePoint Server, Systems Center, and BizTalk Server
  • Support:2 Technical support incidents per startup. MSDN premium access.
  • Visibility:Great opportunity to create a profile and attract investors and clients  in the online Startup directory, BizSparkDB, on the Microsoft Startup Zone Website.

As a conclusion, I believe that this Microsoft move is a great help for the startups. They have the tools and the opportunity to create new and innovative software solutions without the initial cost of an MSDN subscription. If you qualify get that opportunity.

Open standards are standards that are available to the public and anyone either a developer or a corporation can add them into their software program. Open standards come to fill the need for interoperability. The problem that computer industry had before open standards was how to communicate two systems of different vendors. Each vendor was producing his proprietary solution and communication was almost impossible. Examples are those of Microsoft Windows and Macintosh OS. A good example of open standards is given from the Internet Engineering Task Force , their purpose to develop and maintain an open standard for network communication. (Coyle, Karen, 2002) Examples of platform specific technologies for distributed applications are DCOM and CORBA which although someone can create bridge software their use over the Internet is problematic.

There is a difference between open standards and open software. It is very important to note that open standards can be used by both open source and closed source software programs. There are cases that the reference implementation of an open standard can be available for non-commercial use. (Dave Welsh, 2004).

The open source initiative gives guidelines about what is open source. Open source does not mean only access to the source code of a software program but also includes guidelines for the distribution of the source code.  The license must allow derivate works and modifications.  The license must not restrict the use of the source for a specific field, such as only for non-commercial use or only for research.

The simplest way to make software public is to put it into public domain without any copyright. This method does not protect the source code and the creator of the source code from someone else (individual or corporation) to copy the code, and create proprietary software. Open source licenses come to solve many problems involving with open source. The license is needed for a simple reason to protect open source.  There are many types of licenses including:

  • The GNU General Public License (GPL),
  • The Lesser GPL,
  • The Apache license 2.0
  • and many others.

There are also licenses of free software that are incompatible with the GPL licensing. Such licenses include:

  • The Apache license 1.1,
  • The IBM public license,
  • The Microsoft Public license
  • and many others.

There are many variations of licenses regarding free software. A company must invest a lot of time to read and comprehend the various licenses especially if you want to use some open source library in a commercial product. Some licenses may allow only the distribution of the source code along with the source code of the derivative work or that someone can use the source code and the derivative work can be a closed system. It is worthy to note that open source software does not necessarily means free software.

Richard Stallman initiated the GNU project and the free software movement. The main idea was that users should have the freedom to change the programs in whatever ways they wanted and not to be locked in to a specific product. IBM and Oracle used Linux which is open source and free to weaken Microsoft. Companies started using Linux to and a lot of other open source free software to save money. Companies like Red Hat and Novell are making money by distributing Linux for free and charging for support. The model for free software is not to charge for the software but for the support or the training about the software. Venture Capitalists have invested more than US$ 3 billion in 163 open-source firms between 1997 and 2008. (Economist, 391, no. 8633 p. 69)

Having a free open source product can help a company to have a pull driven marketing approach in contrast to a push marketing approach that closed system companies have. (McInnis, G., 2009, p.81).

As a conclusion, it is evident that open standards with open source is totally different.  Open standards promote interoperability of systems. Open source promotes knowledge because the source code is exposed to everybody to see, learn and correct it. Giving open source software for free has many benefits both to the user and to the producer. The benefits for the producer are:

  • Income from services
  • Income from training
  • Potential large user base (pull marketing)

The benefits for the users are:

  • freedom,
  • Security because the company has the source code and if the publisher of the software disappears they have the source to correct problems,
  • Increased reliability, more eyes inspect the lines of code for errors.

References

Karen Coyle (2002).  “Open source, open standards. ” Information Technology and Libraries  21.1 (2002): 33-36. ProQuest Nursing & Allied Health Source, ProQuest.

McInnis, G.. Competitive actions of companies whose revenue relies on open source software.  Diss. Carleton University (Canada), 2009. Dissertations & Theses: Full Text, ProQuest.

Dave Welsh (2004). Distinguishing between Open Standards and Open Source — Part III of III Available from: http://blogs.msdn.com/dave_welsh/archive/2004/08/28/222206.aspx

Proudly powered by WordPress. Theme developed inhouse. Copyright © Tales from the bits. All rights reserved.