February 3, 2016

Estimation for Mobile and Cloud Environments


Estimation of cost, effort and schedule is a very important aspect in commercial software development and maintenance. For most types of development and maintenance, effort is usually the predominant cost driver in software development. Until recently, estimation was not an issue for mobile and cloud software. Mobile was the domain of young developers who crafted the first version of an app and distributed it to the world, bringing software to the cloud was usually a boardroom decision where the result was more important than the estimation of cost and effort.

But mobile and cloud are maturing as fast as they gain market share. For all business software that requires serious computing power, cloud is becoming the standard. Mobile is no longer the exclusive domain of hip young techies, since more and more business software is available on mobile platforms, backed up by the computing power of a back-office in the cloud. Now mobile and cloud has become serious business, the estimation of cost, effort and schedule requires serious attention as well.

For all types of software, the dominant determinant for effort is the size of the software. Organizations engaged in software engineering have struggled for years in search of acceptable quantitative methods for measuring process efficiency and effectiveness, and for managing software costs, for the systems they acquire, develop, enhance or maintain. One critical, and particularly elusive, aspect of this measurement requirement has been the need to determine software size. In the late 1970’s the concept of ‘functional size’ was developed, which enabled companies to build estimates on that figure before any code was written. IFPUG and Nesma established function point analysis methods to formalize the way functional size was calculated. These methods are based on the model that storage, processing and presentation of data takes place within a single application.

Mobile and cloud software use architectures in which these elements are separated. Apps present functionality to end-users without knowledge how this data has been assembled and processed and totally oblivious about where the base data might be stored. In the cloud, storage and processing of data are – at least logically – separated, offering functionality to all or authorized mobile devices by means of an API. Traditional methods to determine functional size have very limited use in these environments.

The basic COSMIC principles
For mobile and cloud environments the COSMIC method is well-suited to serve as a basis for estimating cost, effort and schedule. The basic principles on which the method is built, are architecture-independent. This means that all software, whether it is only a small component or a full-range business system, can be sized with this method. This size can be used to estimate the investment in money, development capacity and time to realize this software. The method is developed and maintained by an open-source community from all over the world and is actively supported by a number of companies and research institutions.


Last week, the latest book in the series on Advances in Systems Analysis, Software Engineering, and High Performance Computing was released: Modern Software Engineering Methodologies for Mobile and Cloud Environments. It also contains a chapter how the development and maintenance of these types of software can be estimated by using the COSMIC method. If you are responsible for estimating mobile or cloud software, this chapter will give you the basics you need, illustrated with examples. 

If you want to know more about the COSMIC method, please visit their website cosmic-sizing.org.

September 30, 2013

Succesful IT projects really do exist

We regularly encounter failed IT projects in the news headlines, feeding the perception that it is virtually impossible to finish an IT project succesfully.
It is true that still (too) many IT projects fail, but there are plenty examples that have completed succesfully. From those succesful IT projects we could learn a lot about the factors that lead to success, rather than trying to avoid known pitfalls. That's why I have done a retrospect and noted several observations that can support more IT projects to be succesful.

Succesful IT projects really do exist!

June 19, 2013

Adoption of the EPS-framework for packaged software estimation

 
On the IWSM 2012 conference in Assisi in October last year the NESMA presented the EPS-framework for the estimation of packaged software. A working group of NESMA has developed this estimating framework which supports the estimation of all costs related to the implementation and maintenance of packaged software. This framework can be the reference for comparison and benchmarking of package software estimates. The details for all six stages will be ready at the end of this year, but Comarch from Poland has already adopted the framework for some of their package implementation offers.
 
 
 

February 28, 2013

From rules to principles : COSMIC


Up to 1998 all methods to express functional size of software were rule-based. Performing the measurement rules led to a number of points that we call the size. Whether they were object points, use case points or function points, all these methods have a measurement procedure to award a part of the Fuctional User Requirements that satisfies a number of assessment criteria, with a defined number of points. To determine the number of points you must apply the rules. A group of people who were involved in the conception of ISO/IEC 14143 wanted to use the principles they had described to create a new generation of Functional Size Measurement method with a clear and defined measurement unit. Based on that unit a method could be created, based on principles to identify instances of that unit, rather than on rules. Out of that process, COSMIC was born.
Here is a piece of COSMIC history.

February 14, 2013

What is a second generation FSM method


Every now and again there is debate amongst practitioners of Functional Size Measurement about the best Functional Size Measurement method. In essence there is nothing wrong with such a debate.
Professionals should always be seeking ways to improve their profession. Discussions about the best way to do so are a logical part of such a quest. But they should be done based on the right arguments. And one of those arguments is often wrong in my point of view. That is the generation argument. I notice that there is a lot of misconception about what is meant with generation in relation to Functional Size Measurement. In my blogpost of January I discussed the first generation. In this one I will discuss the second generation of Functional Size Measurement.

January 29, 2013

The first generation of Functional Size Measurement

Every now and again there is debate amongst the practitioners of Functional Size Measurement about the best Functional Size Measurement method. In essence there is nothing wrong with such a debate.
nothing wrong with a good debateProfessionals should always be seeking ways to improve their profession. Discussions about the best way to do so are a logical part of such a quest. But they should be done based on the right arguments. And one of those arguments is often wrong in my point of view. That is the generation argument. I notice that there is a lot of misconception about what is meant with generation in relation to Functional Size Measurement.
 

January 17, 2013

Most used Functional Size Measurement methods

What are the most used Functional Size Measurement methods. Most people can quickly come up with the five methods that are standardized by ISO, but what else is there. Here is the Top 20 - in alphabetical order from Capers Jones, taken from the third edition of Applied Software Measurement. Since this book was published in 2008, I have added some new kids on the block.