In the mid-seventies, I graduated from New York Institute of Technology with a B.S. degree in Physics and a love of computer programming. I got jobs programming, doing systems analysis, managing projects and managing people. I got married in 1980 and am still married to the same woman. I completed my Masters of Computer Science from New York University. I then went back to N.Y.I.T., where I taught computer science for three years.
In 1987, I went to work for Computer Sciences Corporation. We had had our first and only child, a daughter, later that year. At first, I worked as a methodologist. I helped clients develop their own software development life cycles. Often, I used one of CSCs methodologies as a basis. Then, one of my clients asked me to develop the estimating portion of their life cycle. This led me to look at the tools of the software estimating community, including function points, COCOMO and several other techniques. I began to use these techniques in a staff position at CSC to do estimates, troubleshoot projects and measure programmer productivity. I became a Certified Function Point Specialist and a Certified Software Quality Analyst. I still hold these certifications. I also received my M.B.A in finance from N.Y.I.T.
In 1996, I left CSC and began to consult independently. My focus was on function point analysis, software metrics and estimating. I developed an estimating methodology called Early Lifecycle Functionality Estimating (ELFE). It was taught for a time at the International Function Point Users Group (IFPUG) conferences as their FP-221 course, titled “Estimating Project Size Early in the Lifecycle.” In 2003, I began an executive doctoral program at Pace University. Agile development was fairly new, and much of our course work and research revolved around it. I reworked ELFE to work with user stories and published “An Approach to Early Lifecycle Estimating for Agile Projects” as my thesis. I was awarded a Doctor of Professional Studies in Computing in 2011.
Currently, I continue my consulting activities in function point analysis, software metrics and estimating. IFPUG has released its Software Nonfunctional Assessment Process (SNAP). I have studied it and become a Certified SNAP Professional (CSP). I am now working to incorporate SNAP into ELFE. We must find a way to estimate software development effort and schedule considering both functional and nonfunctional requirements!