Posts

Showing posts from March, 2011

Software Quality Trends

Franco et al state that there are the 4 R's with regards to trends in Software Quality Assurance i ; Risk ROI Regulations and Compliance Rich Customer Experience ROI is defined as “ Return on Investment” this term is borrowed directly from the financial industry and refers to how much of a return is gained from a given investment. ii ROI is calculated using the following formula: ROI = (Investment Gain - Investment Cost)/ Investment Cost) The ROI of Software Quality Assurance can be calculated by utilizing COCOMO based estimations iii . Basic COCOMO utilized thousands of lines of code as a base metric of calculation; it also has only three classes of Software Project team size: Organic Small teams with extensive experience and non-rigid requirements Semi-Detached Medium sized mixed teams with mixed experience and rigid requirements Embedded Tight Constraints such as hardware or operational environments Basic Equations are as follows: Effort Applied in Man-Months: where KLO...

CPM and Earned Value

Image
Objective Achievement Comparison We may assume that Xrider has formal methods for project management and reporting in place to manage each of these departments including formal methods of Gantt Charting [i] and project cost tracking; these charts would include costs and milestone tracking and would be managed by the assigned project managers for each of the departments. To develop any formal method of achievement analysis and comparison we would first require data and methods to be documented and available within a database. With respect to Xrider we would be using the total cost of development and the project burn rates for comparison. The daily project burn rate for a given software project will be defined as the total project development cost per day. This may be calculated with the following formula: 1/CPI Where CPI equals the Cost performance Index. Documenting Software Projects Projects may be documented by Mile-stones and by using requirements to function maps. These maps wou...

The grain and it's beach

A software unit is defined by the IEEE in 1008-1987 as i : “ The smallest unit of a software program.” Depending on the type of program being tested the software unit may represent a single function, sub-routine, or given algorithm. The languages may be functional, procedural, low level or object-oriented, however each language and program will have a defined function and desired operation. Since all software applications are composed as the “sum of their parts” however simple or complex the program may be; each of the parts plays a role in the operations of said program. There are numerous philosophies around what makes a high quality reliable software; the Unix paradigm states that a program should be as small as possible and have only one function ii . This Bottom-Up approach has created Linux and the entire open-source movement. Top down approaches exist and most formal testing and development methods are top-down in nature, Agile and XP and SCRUM are examples of methodologies...