|
|
|
Nanyang
Technological University
SC207 Software
Engineering
Term Paper 2002: Selecting a Project's Methodology
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:-
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. |
| 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. |
| 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. |
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)
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