Solved

How to estimate the cost of the software project?

Posted on 2009-07-12
4
1,139 Views
Last Modified: 2012-06-27
How to estimate the cost of the software project with diagrams or tools used and please explain in detail with reference web links and videos.
0
Comment
Question by:sudhir_gs1
  • 2
4 Comments
 
LVL 4

Expert Comment

by:Archyon
ID: 24838485
Estimating project cost depends on two parameters: size and (let's call it) productivity.
The project's size can be measured or estimated using any of the different methods available. In Holland (where I reside) the method of sizing with Function Points is very popular. This method is originated from the 'old' main server systems and counts user interactions. But when used properly it is still suitable in modern projects. Other sizing methods are based on calculating Use Case Points, Story Points and all kinds of work-breakdown methods. Which to use depends on your situation and environment. I am happy to drill down into it if you can provide some more information on your environment.

Having the size of your project the real fun starts: how to map the size with the actual costs. Some say to just take the cost of one size unit (call it productivity), multiply one with the other and your project costs are written on the wall. But, as productivity depends on the technology used, on the process (e.g. waterfall versus agile), on the competence mix in your team, on the business domain, the non-functional requirements and whether or not you want to reuse existing components - to name a few - deriving the cost of this one unit is the big problem, eh challenge.
The best way to deal with this challenge is to record all project activities, categorize them, calculate their costs and learn from the experiences. Tools and processes take up with this by providing ways to connect planning with work done, by using work items and/or process enactment. The most modern ones even come close to an integration of sizing and calculating productivity, which is maybe a sign towards reaching some maturity of the IT branch?
As with the sizing methods what method fits you best again depends on your environment. Let us know.
0
 

Author Comment

by:sudhir_gs1
ID: 24845892
Hi Archyon,

That's a great question. I am thinking to develop in .net 3.5 framework (asp.net 3.5 with C#) with GOF design patterns & agile process. I am going to develop a collaboration tool having all the features of web 3.0 and includes all the latest features of today's technology like widgets, mashups, and some features similar to netvibes, igoogle, pageflakes, microsoft live etc. For sure, I will reuse the existing components. Please let me know if you have any further questions.

0
 
LVL 4

Accepted Solution

by:
Archyon earned 250 total points
ID: 24847779
Since you are planning to go for C# and an agile process I recommend to look into "SCRUM for Team System". SCRUM is a very popular agile software engineering process that uses Story Points for estimating the size of (portions of) your project. Team System gives you the opportunity to capture all stories (features/requirements) and get instant feedback on the effort taken, which gives you insight on the costs. From this point you may agile learn how in your situation with your team and your project your size estimation relates to the effort and costs.

You may ask "What if I want to know in front how much my project's budget should be?" In this case you may use the following:
try to look at your system in terms of persistency and calculate the number of tables your system would have as it would follow a data-driven architecture (=T). Next count the number of external interfaces (where your system has to communicate with other systems) and call this E.
A very rough estimate for your project's development cost is: $ = (T*25 + E*10) * 650
This assumes you have your team and environment fully operational and competent on developing C# with patterns etc. Please be aware that this formula is only helping to get an educated guess on the order of magnitude for your project's cost.

A very good resource on SCRUM and Team System is www.scrumforteamsystem.com (what else). From here you can also download an add-in to Team System to get all process resources integrated into the development environment.

If you do not have experience with Team System a good idea would be to hire a consultant to set up the environment (both infra and process) and train your complete (!) team to work in this environment. Although very compelling, do not try to learn Team System 'on the fly'.

If you have thoughts for other environments or if this is not working for your situation, please just let us know. There are many more roads to Rome.

Regards, Peter (Archyon)
0
 

Expert Comment

by:s_bobb
ID: 35269344
Thanks.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

5 Tips For Long Jumpers: A Sprinter's Approach to Agile Software Development As a Sprinter, long jumping — applying momentum to progress by leaps and bounds — is a natural and complementary skill. In the following article, I will share my five ti…
It was Monday morning and while heading to work those familiar feelings of frustration began to rise: How was I ever going to get my yard work done?! At the end of every weekend I discovered that I spent more time trying to decide what to work on th…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now