Thursday, October 3, 2013

Software Development Process



Common Process Framework

          Framework activities - applicable to all software projects
        Customer communication
        Planning
        Risk analysis
        Engineering
        Construction and release
        Customer evaluation

          Umbrella activities - applicable across entire software process
        Project tracking and control
        Technical review
        Quality assurance
        Risk management
        Software configuration management
        Measurements
        Metrics collection


Purpose of Software Metrics:

        Continuous improvement of a process
        Estimation
        Quality control
        Productivity assessment


Software measurement is a quantified attribute of a characteristic of a software product or the software process. It is a discipline within software engineering. The content of software measurement is defined and governed by ISO Standard ISO 15939



Process metrics

          Private process metrics
        (e.g. defect rates by individual or module) are known only to the individual or team concerned.
          Public process metrics
        enable organizations to make strategic changes to improve the software process.
          Metrics should not be used to evaluate the performance of individuals.
          Statistical software process improvement helps an organization to discover its strengths and weaknesses.




        the requirements description
        the design of the solution
        the code / program produced
        the tests used to find errors



Project evaluation is an integral part of the planning process. At the stage of preparation of projects, it implies examining the relative profitability of a project via-à-vis other projects to enable planners in the choice of priority projects. Thus projects are appraised before they are actually put into operation. But project evaluation does not end here. The projects are also appraised during their execution in order to find out their operational success or otherwise. At the operational or the implementation stage, the objective of project evaluation is to suggest remedial measures and point out appropriate steps to improve upon its working.

Lastly exercise is repeated at the end of completion of a project. This post completion appraisal of projects is undertaken to find out whether all ends have been achieved in Toto or project is a partial success only. What are the lessons to be learn? How mistakes can be met and unexpected difficulties can be surmounted?

Present performance must act as an essential aid to future policy which may be immunized against the recurrence of similar mistakes. Projects evaluation is thus involved throughout various stages of formulation, implementation, completion and post completion analysis of projects. In the end of every project must ultimately be accepted or rejected on the basis of a subjective judgement about its worth.


   


 Program management: Individual project needs to be seen as components of a program and should be evaluated managed as such. 
     A program is a collection of projects that all contribute to the same overall organizational goals. Effective program management requires that there is a well-defined program goal and that all the organization’s projects are selected and tuned to contribute to this goal.
     A project must be evaluated according to how it contributes to this program goal and its viability, timing, resourcing and final worth can be affected by the program as a whole.
     In order to carry out a successful strategic assessment of a potential project there should therefore be a strategic plan clearly defining the organization’s objectives.
      Even where there is no explicitly defined program, any proposed project must be evaluated within the context of the organization’s overall business objectives. Moreover, any potential software project will form part of the user’s organization’s overall IS and must be evaluated within the context of the existing IS and the organization’s   IS strategy.


     Payback period is the time taken to break even or payback the initial investment. Normally, the project with the shortest payback period will be chosen on the basis that an organization will wish to minimize the time that a project is “in debt”.
     The advantage of the payback period is that it is simple to calculate and is not particularly sensitive to small forecasting error. Its disadvantage is that it ignores the overall profitability of the project– in fact it totally ignores any income (or expenditure) once the project has broken even.
4.

     The return on investment (ROI), also known as the accounting rate of return (ARR), provides a way of comparing the net profitability to the investment required. A straightforward calculating ROI is:
     ROI= (average annual profit/total investment/total investment)X100
   Ex.  Calculate the ROI for different projects using data given in the last table.
     The return on investment provides, a simple, easy to calculate measure of return on capital and is therefore quite popular.
      Disadvantages:
Ø        It takes no account of timing of the cash flows.
Ø        It is tempting to compare the rate of return with current interest rate. 
        


Cash flow forecasting

     A cash flow forecast will indicate when expenditure and income will take place.
     Accurate cash flow forecasting is not easy, as it is generally needs to be done early in the project’s life cycle (at least before any significant expenditure committed) and many items to be estimated (particularly the benefits of using software or decommissioning costs) might be some years in the future.   
     When estimating future cash flow, it is usual to ignore the effect of inflation increases the uncertainty of the forecasts. Moreover, if expenditure is increased due to inflation it is likely that income will increase proportionately.



Technical assessment

     Technical assessment of a proposed system consists of evaluating the required functionality against hardware and software available. Where an organization has a strategic IS Plan, this is likely to place limitations on the nature of the solutions that might be considered. The constraints will, of course, influence the cost of the solution and this must be taken into account in the cost-benefit analysis.



No comments:

Post a Comment