Coupon Accepted Successfully!


Software Project Management

In many ways managing a software project is like managing any other engineering project.  However, it is also true that software project management is more difficult. Perhaps the most important reason is the product is intangible.  Monitoring the completion status of an entity that one cannot see or feel is a formidable challenge.  Also standard processes and designs do not exist in the software field in the same way that they are found in handbooks of other engineering disciplines.  People are the crucial element in project management and can be organized in teams that vary in their level of autonomy from traditional hierarchical structures to the “self-organizing” teams of the new agile paradigm.


People Capability Maturity Model (P-CMM)

P-CMM is a framework for continuously improving the management and development of the human assets of an organization.  It provides guidance in the following:

  • Characterizing the maturity of workforce practices
  • Setting priorities for immediate action
  • Integrating workforce development with process improvement
  • Becoming an employer of choice

P-CMM can be used alone or in conjunction with the SEI software process improvement programs.


Project Estimation


Early in a project the software development group and management must establish estimates for resources required, work to be done and time to delivery.  Project planning is crucial to success.  Technical people frequently do not take planning activities as seriously as they should and project cost; quality and time to delivery are often affected as a result. Cost estimating techniques are available based on metrics accumulated from past similar project experiences. The usual approach is to use several methods and compare values. If these values vary widely, then this variance is taken as an indication of the need for more information. COnstructive COst MOdel (COCOMO) II is a popular estimation model for conventional software. The parameters in this model have been derived from data from over 4,000 software projects. Estimation methods have also been developed for object-oriented and agile development.


An important management observation is that software development time is not solely a function of the number of people on the project. One should not succumb quickly to the temptation to add more people to a late project. Adding more people could actually make it later. 

Risk Management

Anticipating and having a plan for potential project problems will help avoid “crisis management” when problems do occur.  The Spiral Process Model discussed earlier provides a framework for dealing with this issue. An investment of project management time in risk identification and monitoring can help keep potential problems to a minimum. Some examples of project risks are: changing requirements, low estimates of components reuse, high technical staff turnover and change in delivery deadline.


Software Security


Everyone is aware that security is one of the most important issues in the computer field today. What is not apparent to everyone is that the security challenges today are frequently software problems. The weak points are the applications at the ends of the communications link and therefore represent the points of greatest vulnerability to attack.


Three trends are often cited as introducing security risks into systems and contributing to the magnitude of the security problem today.

1.  The increasing complexity of systems make them more difficult to understand and hence more difficult to secure.

2.  Increasing access to applications through various computer network technologies adds considerably to the security risks.

3.  Software is being increasingly designed to be extensible with the incremental addition of functionality making it impossible to anticipate the kind of mobile code (updates) that may be downloaded.


Can Security be Defined?


A good question is “Can we ever declare a software application secure?”. Unfortunately security, like many other engineering goals, is a relative quantity and 100 percent security is unachievable. A better question is to be more specific and ask “Secure against what and from whom?”.  Some  consider security to be a subset of reliability.


Test Your Skills Now!
Take a Quiz now
Reviewer Name