Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms

Nanyang Technological University



SC207 Software Engineering
Term Paper 2002: Selecting a Project's Methodology

 

Related works

References

 

 

 

 

 

 

Relation to topics discussed in lecture (Back to top)

Related Topics

1. Software Process Models

2. Software Project Management

3. Development methods: OO Method, Function Oriented Method.

 

 

 

 

New contribution made to the Software Engineering Field (Back to top)

Most software implementations often fail due to poor planning and selection of an unsuitable method for the project. The project methodology discussed in this article helps software development teams to handle the selection. There are several principles (technique covered) that underly this methodology design, and has been used by the author on several software development projects successfully. It provides a well-structured approach for the analyst to cater to the project requirements and its resource contraints while understanding the criticality of the project. Using this finalized framework for methodology, analysts can select an initial method and make changes if necessary during the implementation phase of this project if necessary. Software implementation success rate will be greatly increased with the methodology framework introduced in this article.

 

 

 

 

Technique Covered in the article (Back to top)

What is methodology?

In this review document, methodology is defined as "a series of related methods or techniques."

How do we determine the appropriate project's methodology?

4 main principles we need to consider:-

  1. A larger group needs a larger methodology.
    - methodology grows with number of roles in the project rather than the number of people.
  2. A more critical system - one whose undetected defects will produce more damage - needs more publicly visible correctness (greater density) in its construction.
    - Loss of comfort
    - Loss of discretionary moneys
    - Loss of irreplaceable moneys
    - Loss of life
  3. A relatively small increase in methodology size or density adds a relatively large amount to the project cost.
  4. The most effective form of communication (for transmitting ideas) is interactive and face-to-face, as at a whiteboard.
    - small groups and increased personal contact should be emphasized is productivity and costs are key issues.

A methodology grid is designed by dividing into seven project sizes (based of team size), 4 criticality zones (as mentioned in Principle 2) and several possible project priorities. The main idea is to select a methodology based on whether the project sponsors are looking for productivity, visibility, repeatability or correctness and thus using the 4 principles to make a decision. It is often difficult or even impossible to accurately estimate the task to arrive at the appropriate methodology. Using the methodolody framework (methodology grid) it is then possible to make necessary adjustments to the selected methodology by shifting cells in the framework. (Please view original article for a diagram of the methodology grid.) The selected project methodology enables the project team to select notations such as drawing and programming languages; policies such as incremental-development use; and conventions. In other words, it is important to select a good project methodology for effective planning and managing of the project.

 

 

 

 

Related Works (Back to top)

Author(s)
Year
Article
Description/ Relation to main article
Ball of Gold Corporation 2002 Project Management Methodology
Detailed Project Planning Process

This article shows a simple but detailed project planning process which defines the project activities and describes how the activities will be accomplished.

http://www.ballofgold.com/content/methodology/PLANNING.htm

Capterra. The Enterprise Software Center 2001 Capterra's Software Selection Methodology

It employs a different way to select a project methodology. Provides a good comparison to what are the differences in priority to what should be considered before selecting a project methodology.

http://www.capterra.com/detailed_software_selection_methodology.pdf

Melissa L. Russ & John D. McGregor 2000 A Software Development Process for Small Projects

The author's development process integrates portions of iterative, incremental process model with a quality assurance process and a measurement process used for process improvement.

http://www.computer.org/software/so2000/pdf/s5096.pdf

Cognetics Coporation 1999 The LUCID Design Framework

A logical user centered design. The approach is to manage the process of designing an interface in a way which incorporates the best industry practices of user-centered design and usuability engineering.

http://www.cognetics.com/lucid/lucid2a-overview.pdf

 

 

 

 

Relation of the technique to my lab project (Back to top)

It is important that before planning and implementing a project, a detailed analysis must first be done. This article emphasizes on the need to select an appropriate project methodology by looking into the project objectives and requirements and also communication among the team to be placed at high priority. Very often, implementations fail due to poor coporate vision, poor project plan and probably a poor project team. This results only because the team has failed to select an effective methodology. After reading this article, my lab project team has done a careful analysis on what our project aims to complete. With the limited resources on hand, we have selected a suitable methodology to suit this project's needs. According to the methodology framework, our team's project falls under the C8-category. This is to say that the team size is 8 and the criticality (should this project fail) is on the level of a loss of comfort which means that people will only be less comfortable and may have to do more work.

 

 

 

 

Possible extension of ideas (Back to top)

  1. If the project is an existing one, the steps to selecting the project methodology could also include considerations for the cost of modifying the existing system. This way, the analyst can decide whether it is more practical to design a totally new software or to just to work on the existing one.

  2. The article only specifies the various considerations to be made when selecting a project's methodology. The articlet could also include an ordered list of steps of which will help project analysts can follow to choose an appropriate project methodology.

 

 

 

 

Comments on notations/diagrams used in article (Back to top)

  1. Figure 1 shows the elements of a Big-M methodology. The captions explain very clearly the link between the elements. Its a simple diagram but provides a good amount of information.

  2. Figure 2 is a chart drawn in 3D. It is not very clear how the chart works. Perhaps some examples could have been included to explain the idea of the chart.


  3. Figure 4 shows a chart on effectiveness of communication versus the form of communication used. Personally, I feel that effectiveness of the various forms of communication is dependent on individuals. However, this chart provides a general idea. A more thorough understanding of the team workers must be achieved.


  4. Lastly, Figure 5 shows the final methodology grid developed in support of the methodology framework. Its again a simple diagram but is also a summary of the whole methodology framework. The examples given to support this diagram has provided me a much better understand on how the diagram works.

     

 

 

 

Validate and expand on the ideas (Back to top)

A pictorial explanation of the usage of this ideas discussed in the article would be useful. I have attempted to combine the author's ideas together with what I have learnt throughout the SC207 course as well as ideas picked up from the related articles and drawn out a simple diagram to show the necessary steps to take when selecting a project's methodology.

Overview of selecting a project methodology:

 

I would also include a short list of possible questions an analyst could ask himself/herself in the process of selection.

A sample list of questions:

Current system:

1. What are the current shortfalls of the system?

2. Is it more practical to redesign a new system or the modify the current one?

Resources:

1. What are the limitations in terms of manpower?

2. What are the avaliable notations, existing policies and conventions?

3. Any other limitations to consider?

4. Are there other alternatives?

Criticality:

1. What is the criticality level of this project?

2. What are the costs and benefits?

 

 

 

 

Comments on Software Project, Process specified in the article (Back to top)

The process to selecting a project's methodology as discussed in this article is one that is very effective. It has taken into considerations underlying principles to understand the need for various processes and methodologies. The 4 principles covered are very unique ideas which I agree to be very important in making a good choice of methodology. The final design of the methodology framework also made changing of methodology during the implementation of the project to be possible. Hence the whole process of developing the project becomes highly flexible and increases the success rate. The author himself has put the methodology framework into practice and it has proven to be usable. The next step is therefore to tailor a methodology to the idiosyncrasies of any particular project fast enough to get the benefits of the tailoring before the end of the project.

 

 

 

 

Relevance to immediate future (Back to top)

The success rate of Software Projects will be much higher. Project teams will not face major problems when realising a need to change the type of methodology when implementing the project midway. It is possible to make suitable adjustments and continue with the project implementation as planned. Tailoring a methodology to the idiosyncrasies of a project will enable a more efficient way of getting the benefits before the project ends.

 

 

 

 

References (Back to top)

1. N.B Harrison and J.O. Coplien, "Patterns of Productive Software Organizations," Bell Labs Technical J., Vol. 1, No. 1, Summer 1996, pp. 138 - 145.

2. T. DeMarco and T. Lister, Peopleware: Productive Projects and Teams, 2nd ed., Dorset House, N.Y., 1999

3. A. Cockburn, Surviving Object-Oriented Projects, Addison-Wesley, Reading, Mass., 1998.

4. A. Cockburn, Crystal/Clear: A Human-Powered Methodology for Small Teams, to be published by Addison-Wesley, Reading, Mass., 2000.

5. Ball of Gold Corporation, "Project Management Methodology Detailed Project Planning Process", On-line at: http://www.ballofgold.com/content/methodology/PLANNING.htm

6. Capterra. The Enterprise Software Center, "Capterra's Software Selection Methodology", On-line at: http://www.capterra.com/detailed_software_selection_methodology.pdf

7. Melissa L. Russ & John D. McGregor, "A Software Development Process for Small Projects", On-line at: http://www.computer.org/software/so2000/pdf/s5096.pdf

8. Cognetics Coporation, "The LUCID Design Framework", On-line at: http://www.cognetics.com/lucid/lucid2a-overview.pdf

 

 

 

 

Acknowledgements (Back to top)

Asst. Prof. Edmond C. Prakash for answering my queries and providing me with valuable advices on how to approach this topic.

 

 

 

 

 



Done by: Tan Hwee Lin

Tutorial Group: S5