VARIATIONS IN SOFTWARE DEVELOPMENT PATTERNS. June 24, 2013 Draft 3.0
|
|
- Blake Hopkins
- 8 years ago
- Views:
Transcription
1 VARIATIONS IN SOFTWARE DEVELOPMENT PATTERNS June 24, 2013 Draft 3.0 Keywords Activity-based costs, Capers Jones data, function points, Namcook Analytics data, software costs, software development, software methodologies, software occupations, pattern matching, Abstract Software projects of various sizes and types use different patterns of development. These patterns are useful for both benchmark data collections and also for predicting the results of new applications before they start. Some of the factors that influence software patterns include the size of the application, its class, its type, and even the country in which the application will be built. This paper illustrates six different patterns for software projects whose size ranges between 1 and 100,000 function points. It also illustrates six different patterns used for systems software, embedded software, commercial software, and other classes. In total there are some 122 factors that influence software patterns. With 122 total elements the combinations of software patterns total to 214,200,000. Capers Jones, CTO and Vice President Namcook Analytics LLC Web Capers.Jones3@gmail.com Copyright 2013 by Capers Jones. All Rights Reserved.
2 INTRODUCTION Software development is not a one size fits all kind of activity. Small projects of 10 function points or 500 lines of code are not built the same way as large systems of 10,000 function points or 500,000 lines of code. Military software projects are not built the same way as civilian software projects. Namcook Analytics LLC has developed a sizing and estimating method based on pattern matching. The method uses 122 factors and the total number of patterns is 214,200,000. There is also a set of algorithms for sizing and estimating applications which might be unique. Two of the more interesting factors used in pattern matching are application size and application type, which are discussed in this report. Variations in Software Development Patterns by Size of the Application Software development has many patterns based on application size and application type. These patterns involve occupation groups, methods of quality control, and other key factors that affect software project outcomes. Pattern matching is an important emerging technology. In many industries building large products is not the same as building small products. Consider the differences in specialization and methods required to build a rowboat versus building an 80,000 ton cruise ship. A rowboat can be constructed by a single individual using only hand tools. But a large modern cruise ship requires more than 500 workers including many specialists such a pipe fitters, electricians, steel workers, painters, and even interior decorators. Software follows a similar pattern: Building a small application of 10 function points can be done by a single software engineer with little or no help. Building large system in the 10,000 to 100,000 function point range is more or less equivalent to building other large structures such as ships, office buildings, or bridges. Many kinds of specialists are utilized and the development activities are quite extensive compared to smaller applications. Table 1 illustrates the variations in development activities noted for the six size plateaus using the author s 25-activity chart of account for software development projects:
3 Table 1: Development Activities for Six Project Size Plateaus ,000 Function Function Function Function Function n P o i n t s Activities Performed Point Points Points Points Points 01 Requirements X X X X X X 02 Prototyping X X X 03 Architecture X X 04 Project plans X X X 05 Initial design X X X X X 06 Detail design X X X X 07 Design reviews X X 08 Coding X X X X X X 09 Reuse acquisition X X X X X X 10 Package purchase X X 11 Code inspections X X X 12 Ind. Verif. & Valid. 13 Change control X X X 14 Formal integration X X X 15 User documentation X X X X 16 Unit testing X X X X X X 17 Function testing X X X X 18 Integration testing X X X 19 System testing X X X 20 Beta testing X X 21 Acceptance testing X X X 22 Independent testing 1 0 0, F u n c t i o
4 23 Quality assurance X 24 Installation/training X X X 25 Project management X X X X Activities Below the plateau of 1000 function points (roughly equivalent to 50,000 source code statements in a mid-level language such as Java or C#) less than half of the 25 activities are normally performed. But large systems in the 10,000 to 100,000 function point range perform more than 20 of these activities. Since all of these 25 activities have time and costs associated with them, variations in software development patterns is one of the reasons why large systems cost more than small applications.
5 The Impact of Size Patterns on Software Costs Knowing patterns associated with application size is key topic for both software estimation and measurement. Assuming a flat rate of $7,500 per staff month the approximate costs per function points for applications by size for a general IT application would be: Size in Function Points $ per Function Point 1 $ $ $550 1,000 $850 10,000 $1, ,000 $2,500 Not only are the activities different from size range to size range but the work content differs too. For example for a small application of 100 function points only requirements, design, and a user manual might be produced in terms of paper documents. For a large system of 10,000 function points more than 50 documents will be produced including requirements, architecture, initial and detailed design, formal test plans, development plans, tutorial materials, and many more. Variations in Software Development Patterns by Type of Software The second factor that exerts an influence on software development activities is the type of software being constructed. For example, the methods utilized for building military software is very different from civilian norms. The systems and commercial software domains also have fairly complex development activities compared to management information systems. The outsource domain, due to contractual implications, also uses a fairly extensive set of development activities. Table 2 illustrates the differences in development activities that the author has noted across the six types of software:
6 Table 2: Development Activities for Six Project Types Activities Performed Web MIS Outsource Commercial Systems Mili tary 01 Requirements X X X X X 02 Prototyping X X X X X X 03 Architecture X X X X 04 Project plans X X X X X 05 Initial design X X X X X 06 Detail design X X X X X 07 Design reviews X X X X 08 Coding X X X X X X 09 Reuse acquisition X X X X X X 10 Package purchase X X X X X X 11 Code inspections X X X X 12 Ind. Verif. & Valid. X 13 Change control X X X X X 14 Formal integration X X X X X 15 User documentation X X X X X 16 Unit testing X X X X X X 17 Function testing X X X X X 18 Integration testing X X X X X 19 System testing X X X X X X 20 Beta testing X X X 21 Acceptance testing X X X X X 22 Independent testing X 23 Quality assurance X X X X 24 Installation/training X X X X X 25 Project management X X X X X Activities As can be seen from, the activities for outsourced, commercial, systems, and military software are somewhat more numerous than for MIS projects where development processes tend to be rudimentary in many cases. Here too this is a partial explanation for why systems software takes longer and is more expensive than a web project of the same size and complexity level.
7 The Impact of Type Patterns on Software Costs Knowing patterns associated with application types is also key topic for both software estimation and measurement. Assuming a flat rate of $7,500 per staff month and a fixed size of 1000 function points the approximate costs per function point for applications by type would be: Application Types $ per Function Point Web $700 MIS $850 Outsource (offshore) $675 Outsource (domestic) $800 Commercial $1,100 Systems $1,300 Military $2,000 Not only are the activities different by type but there are other significant differences too. U.S. Department of Defense standards cause military software projects to create about three times as many paper documents as civilian projects of the same size and complexity level. In fact for defense software the costs of paper documents is higher than the cost of source code. For MIS and web projects, and especially those developed under the Agile method, paperwork costs are less than 10% of total software development. The important point is that patterns are a key factor for both benchmarks and estimates.
8 Patterns of Software Occupation Groups Not only are there different activities carried out for different patterns, but there are also important differences in the kinds of specialists and software occupations. In total in 2013 software employs about 116 different occupations. Some large systems such as IBM s and Microsoft s operating system, ERP packages, and large telecom switching systems employ as many as 50 occupations. Table 3 illustrates some of the more common occupation patterns by software application size. Table 3: Software Occupation Groups For Six Size Plateaus , ,000 Function Function Function Function Function Function Occupation Groups Point Point Point Point Point Point 1 Architects X X 2 Configuration control X X X X 3 Cost analysis X X 4 Cost estimating X X 5 Customer support X X 6 Data administration X X 7 Data base design X X 8 Data quality X X 9 Education/training X X 10 Function point analysis X 11 Globalization X 12 Graphics X X 13 Human factors X 14 Integration X X X 15 Librarians X X X X 16 Metrics/measures X 17 Networks X X 18 Performance analysis X 19 Programming X X X X X X 20 Project management X X X 21 Project planning X X 22 Quality assurance X X X 23 Reliability X 24 Reusability X 25 Security X 26 Software engineering X 27 Standards X X 28 Systems analysis X X 29 Technical writers X X X 30 Testing X X Occupation Groups
9 Both software benchmarks and software cost estimates should include the contributions of all software occupations; not just coding or software engineering. One of the standard features of Software Risk Master (SRM) is both measurement and prediction of software occupations. Because all of these occupations may have individual compensation ranges, it is quite challenging to calculate the costs of large systems when 30 or more occupations are working on 25 or more activities. To simplify cost estimates it is also possible to use the average or aggregated costs for the entire set of occupation groups. Patterns Associated with Software Methodologies There are many different software methodologies in 2013 and they do not all use the same patterns of software development. For example agile applications are famous for dividing projects into sprints and using daily scrum sessions. Other methodologies such as team software process (TSP) are more linear and include frequent inspections. For the 34 methodologies supported by Software Risk Master (SRM) more than 75 different development patterns have been observed. For example every method is different for large and small projects. Every method has different patterns for new projects and for enhancements. Every method has different patterns when used on civilian or military projects. There are too many methodology variations to illustrate all of them here, but the 34 methods supported by SRM for measurements and estimation are shown in table 4: Table 4: Thirty Four Software Methodologies 1 Mashup 2 Hybrid IntegraN 3 ova 4 TSP/PSP 5 Microsoft Solutions Framework 6 RUP 7 XP Agile/Sc 8 rum Data state 9 design 10 T-VEC Informat ion engineer 11 ing (IE) Object 12 Oriented 13 EVO
10 14 RAD 15 Jackson 16 SADT 17 Spiral 18 SSADM Open 19 source Flow 20 based 21 Iterative Crystal develop 22 ment 23 V-Model 24 Prince2 25 Merise 26 DSDM Clean 27 room 28 ISO/IEC 29 Waterfall Pair program 30 ming DoD Proofs of correctn 32 ess 33 Cowboy 34 None Here too pattern matching is useful for sizing, measurements, benchmarks, and estimation of future projects using patterns from historical projects. In order to produce useful accurate estimates it is necessary to know the set of project patterns associated with its nature, its size, its class, its type, and the occupation groups that will be working on the project. This is why pattern matching from historical projects is useful for estimating future projects. A Taxonomy of Software Application Patterns Software size and software type are only two of the topics that form important patterns for software projects. The taxonomy for pattern matching developed by Namcook Analytics LLC for measuring and estimating software projects includes: 1. Project nature (new, enhancement, maintenance, etc.)
11 2. Project scope (1 to > 100,000 function points) 3. Project class (internal use, marketing, SaaS, etc.) 4. Project type (systems, embedded, web, military, etc.) 5. Problem complexity (difficulty of the algorithms) 6. Code complexity (cyclomatic complexity) 7. Data complexity (size and interconnections of data files) These factors are evaluated by means of multiple-choice questions used for application sizing. There are 122 total factors and the combinations yield a total of 214,200,000 combined patterns. Many of these patterns are not likely to occur. A nucleus of about 20,000 patterns is common for the software projects used by most industries to date. Many other factors are also important for understanding software costs, schedules, and other quantified data. Some of these additional topics include but are not limited to: 1. Programming language or combination of languages 2. Methodology used (Agile, RUP, TSP, waterfall, etc.) 3. Volume of reusable materials available 4. Use of pre-test static analysis and inspections 5. Test stages and test methods (automated, manual, etc.) 6. CMMI level of the organization 7. Country where the software will be developed 8. Client experience 9. Project management experience 10. Development team experience 11. Test team experience 12. Maintenance team experience As an example of why these other topics are important, the nominal work week in the United States is 40 hours; in Japan it is 44 hours; in Canada it is 36 hours. The same application developed in Japan would have a shorter schedule than in either the U.S. or Canada due to the longer work week in Japan. All of these other factors form larger patterns that explain software quality, software costs, and software schedules. SUMMARY AND CONCLUSIONS Software patterns are useful for understanding requirements, for improving designs of software applications, and for both benchmark data collections of historical data and for estimation of future software projects. A weakness of software engineering to date has been a need to expand the numbers of patterns that are available for both technical engineering and also for software estimation. Pattern
12 matching is a powerful technology with great promise for improving software development, maintenance, quality, benchmarks, and estimation.
13 ADDITIONAL INFORMATION ON SOFTWARE PATTERNS For additional information on software patterns and the effect that they have on software development and maintenance, refer to the following books by Capers Jones: Jones, Capers and Bonsignour, Olivier; The Economics of Software Quality; Addison Wesley Longman, Boston, MA; ISBN 10: ; 2011; 585 pages. Jones, Capers; Software Engineering Best Practices; McGraw Hill, New York, NY; ISBN ; 2010; 660 pages. (Being translated into Chinese by IBM China.) Jones, Capers; Applied Software Measurement; McGraw Hill, New York, NY; ISBN ; 2008; 662 pages. (Available in English, Japanese, and Chinese editions) Jones, Capers; Estimating Software Costs; McGraw Hill, New York, NY; 2007; ISBN-13: (Available in English and Japanese editions) Jones, Capers; Software Assessments, Benchmarks, and Best Practices; Addison Wesley Longman, Boston, MA; ISBN ; 2000; 657 pages. BOOKS BY ADDITIONAL AUTHORS Boehm, Barry Dr.; Software Engineering Economics; Prentice Hall, Englewood Cliffs, NJ; 1981; 900 pages. Booch Grady, Object Solutions: Managing the Object-Oriented Project; Addison Wesley, Reading, MA; Capability Maturity Model Integration; Version 1.1; Software Engineering Institute; Carnegie-Mellon Univ.; Pittsburgh, PA; March 2003; Brooks, Fred: The Mythical Man-Month, Addison-Wesley, Reading, Mass., 1974, rev Charette, Bob; Software Engineering Risk Analysis and Management; McGraw Hill, New York, NY; Charette, Bob; Application Strategies for Risk Management; McGraw Hill, New York, NY; Cohn, Mike; Agile Estimating and Planning; Prentice Hall PTR, Englewood Cliffs, NJ; 2005; ISBN DeMarco, Tom; Controlling Software Projects; Yourdon Press, New York; 1982; ISBN ; 284 pages. Ewusi-Mensah, Kweku; Software Development Failures; MIT Press, Cambridge, MA; 2003; ISBN pages. Gack, Gary; Managing the Black Hole The Executives Guide to Project Risk; The Business Expert Publisher; Thomson, GA; 2010; ISBSG10: Galorath, Dan; Software Sizing, Estimating, and Risk Management: When Performance is Measured Performance Improves; Auerbach Publishing, Philadelphia; 2006; ISBN 10: ; 576 pages. Garmus, David & Herron, David; Measuring the Software Process: A Practical Guide to Functional Measurement; Prentice Hall, Englewood Cliffs, NJ; 1995.
14 Garmus, David and Herron, David; Function Point Analysis Measurement Practices for Successful Software Projects; Addison Wesley Longman, Boston, MA; 2001; ISBN ;363 pages. Glass, R.L.; Software Runaways: Lessons Learned from Massive Software Project Failures; Prentice Hall, Englewood Cliffs; Hill, Peter R. Practical Software Project Estimation; McGraw Hill, 2010 Harris, Michaael; Herron, David; and Iwanicki, Stacia; The Business Value of IT: Managing Risks, Optimizing Performance, and Measuring Results; CRC Press (Auerbach), Boca Raton, FL: ISBN 13: ; 2008; 266 pages. Humphrey, Watts; Managing the Software Process; Addison Wesley, Reading, MA; IFPUG Counting Practices Manual, Release 4, International Function Point Users Group, Westerville, OH; April 1995; 83 pages. International Function Point Users Group (IFPUG); IT Measurement Practical Advice from the Experts; Addison Wesley Longman, Boston, MA; 2002; ISBN X; 759 pages. Johnson, James et al; The Chaos Report; The Standish Group, West Yarmouth, MA; Park, Robert E. et al; Software Cost and Schedule Estimating - A Process Improvement Initiative; Technical Report CMU/SEI 94-SR-03; Software Engineering Institute, Pittsburgh, PA; May Park, Robert E. et al; Checklists and Criteria for Evaluating the Costs and Schedule Estimating Capabilities of Software Organizations; Technical Report CMU/SEI 95-SR-005; Software Engineering Institute, Pittsburgh, PA; January McConnell; Software Estimating: Demystifying the Black Art; Microsoft Press, Redmund, WA; Roetzheim, William H. and Beasley, Reyna A.; Best Practices in Software Cost and Schedule Estimation; Prentice Hall PTR, Saddle River, NJ; Strassmann, Paul; Information Productivity; Information Economics Press, Stamford, Ct; Strassmann, Paul; Information Payoff; Information Economics Press, Stamford, Ct; Strassmann, Paul; Governance of Information Management: The Concept of an Information Constitution; 2 nd edition; (ebook); Information Economics Press, Stamford, Ct; Strassmann, Paul; The Squandered Computer; Information Economics Press, Stamford, CT; Stukes, Sherry, Deshoretz, Jason, Apgar, Henry and Macias, Ilona; Air Force Cost Analysis Agency Software Estimating Model Analysis ; TR-9545/008-2; Contract F D-0003, Task 008; Management Consulting & Research, Inc.; Thousand Oaks, CA 91362; September Wellman, Frank, Software Costing: An Objective Approach to Estimating and Controlling the Cost of Computer Software, Prentice Hall, Englewood Cliffs, NJ, ISBN , Whitehead, Richard; Leading a Development Team; Addison Wesley, Boston, MA; 2001; ISBN 10: ; 368 pages.
15 Yourdon, Ed; Death March - The Complete Software Developer s Guide to Surviving Mission Impossible Projects; Prentice Hall PTR, Upper Saddle River, NJ; ISBN ; 1997; 218 pages. Yourdon, Ed; Outsource: Competing in the Global Productivity Race; Prentice Hall PTR, Upper Saddle River, NJ; ISBN ; 2005; 251 pages.
16
Software Quality Metrics: Three Harmful Metrics and Two Helpful Metrics. June 6, 2012
Software Quality Metrics: Three Harmful Metrics and Two Helpful Metrics June 6, 2012 Capers Jones, VP and Chief Technology Officer Namcook Analytics LLC Abstract The cost of finding and fixing bugs or
More informationthe state of the practice Variations in Software Development Practices
focus the state of the practice invited article Variations in Software Development Practices Capers Jones, Software Productivity Research My colleagues and I at Software Productivity Research gathered
More informationPOSTIVE AND NEGATIVE INNOVATIONS IN SOFTWARE ENGINEERING. Version 3 December 24, 2006
POSTIVE AND NEGATIVE INNOVATIONS IN SOFTWARE ENGINEERING Version 3 December 24, 2006 Abstract The software engineering field has been a fountain of innovation. Ideas and inventions from the software domain
More informationSoftware development is a troubling
Project Management Tools and Software Failures and Successes Capers Jones Software Productivity Research, Inc. The construction of large software systems is one of the most hazardous activities of the
More informationFunction Points as a Universal Software Metric. Draft 10.0 July 13, 2013. Blog: http://namcookanalytics.com; Web: WWW.Namcook.com
Function Points as a Universal Software Metric Capers Jones, VP and CTO Namcook Analytics LLC Draft 10.0 July 13, 2013 Blog: http://namcookanalytics.com; Web: WWW.Namcook.com Keywords Capers Jones data,
More informationSoftware Project Management Practices: Failure Versus Success
This article is derived from analysis of about 250 large software projects at or above 10,000 function points in size that were examined by the author s company between 1995 and 2004. (Note that 10,000
More informationSOFTWARE ESTIMATING RULES OF THUMB. Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007
SOFTWARE ESTIMATING RULES OF THUMB Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007 Abstract Accurate software estimating is too difficult for simple rules of thumb. Yet in spite
More informationSOFTWARE QUALITY IN 2012: A SURVEY OF THE STATE OF THE ART
Namcook Analytics LLC SOFTWARE QUALITY IN 2012: A SURVEY OF THE STATE OF THE ART Capers Jones, CTO Web: www.namcook.com Email: Capers.Jones3@GMAILcom May 1, 2012 SOURCES OF QUALITY DATA Data collected
More information3 Six Forms of Software Cost Estimation
Chapter 3 Six Forms of Software Cost Estimation Among our clients about 80 percent of large corporations utilize automated software-estimation tools. About 30 percent utilize two or more automated estimation
More informationOptimizing Software Development: Pattern matching, Dynamic visualization, and Reusable components to exceed 100 Function Points per Month
Optimizing Software Development: Pattern matching, Dynamic visualization, and Reusable components to exceed 100 Function Points per Month Version 2.0 April 2, 2013 Abstract Capers Jones, VP and CTO Namcook
More informationLaws of Software Engineering Circa 2014. Version 7.0 February 17, 2014. Capers Jones, VP and CTO, Namcook Analytics LLC.
Laws of Software Engineering Circa 2014 Version 7.0 February 17, 2014 Capers Jones, VP and CTO, Namcook Analytics LLC. Copyright 2014 by Capers Jones. All rights reserved. Introduction Software development
More informationA Software Development Simulation Model of a Spiral Process
A Software Development Simulation Model of a Spiral Process ABSTRACT: There is a need for simulation models of software development processes other than the waterfall because processes such as spiral development
More informationA SHORT HISTORY OF SOFTWARE ESTIMATION TOOLS. Version 12.0 August 26, 2013
A SHORT HISTORY OF SOFTWARE ESTIMATION TOOLS Version 12.0 August 26, 2013 Keywords Activity-based costs, Capers Jones data, function points, Namcook Analytics data, software costs, software development,
More informationEnterprise Services for Defense Transformation
Enterprise Services for Defense Transformation Prof. Paul A. Strassmann George Mason University, February 19, 2007 1 Case Study Hewlett-Packard Cost Reduction 2 Example of Application Simplification Domain
More informationSoftware Cost Estimating Methods for Large Projects
Software Cost Estimating Methods for Large Projects Capers Jones Software Productivity Research, LLC For large projects, automated estimates are more successful than manual estimates in terms of accuracy
More informationFuture Technologies possible today in 2014. Copyright 2014 by Capers Jones. All rights reserved.
Future Technologies possible today in 2014 Copyright 2014 by Capers Jones. All rights reserved. Capers Jones, VP and CTO Namcook Analytics LLC Web: www.namcook.com Blog: http://namcookanalytics.com Email:
More informationSoftware Process and Models
Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for
More informationSoftware Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
More informationSoftware Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar vijsy003@students.unisa.edu.au School of Computer and Information Science University of South Australia,
More informationAn Introduction to Software Engineering
An Introduction to Software Engineering Software engineering is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it
More informationExcerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk Physical Architecture As stated earlier, architecture can be defined at both a logical
More informationCOMPARATIVE STUDY OF SOFTWARE TESTING TOOLS ON THE BASIS OF SOFTWARE TESTING METHODOLOGIES
International Journal of Advance Research In Science And Engineering http://www.ijarse.com COMPARATIVE STUDY OF SOFTWARE TESTING TOOLS ON THE BASIS OF SOFTWARE TESTING METHODOLOGIES 1 Lav Kumar Dixit,
More informationSOFTWARE DEFECT ORIGINS AND REMOVAL METHODS. Capers Jones, Vice President and Chief Technology Officer. Draft 5.0 December 28, 2012
SOFTWARE DEFECT ORIGINS AND REMOVAL METHODS Capers Jones, Vice President and Chief Technology Officer Namcook Analytics LLC www.namcook.com Draft 5.0 December 28, 2012 Abstract The cost of finding and
More information"Bezpieczny Projekt"
Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010 www.omec.pl Software Development with Agile SCRUM Chandrashekhar Kachole 22 nd of June 2010 1 Let s keep the cell phones in Silent mode 2 Agenda
More informationPROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty
More informationThree Things I Wish I Learned in School
Three Things I Wish I Learned in School www.construx.com 2008 Construx Software Builders, Inc. All Rights Reserved. #1 Motion = Progress The Cost of Defects 50 100X Phase in which a Defect Is Introduced
More informationDriving Quality Improvement and Reducing Technical Debt with the Definition of Done
Driving Quality Improvement and Reducing Technical Debt with the Definition of Done Noopur Davis Principal, Davis Systems Pittsburgh, PA NDavis@DavisSys.com Abstract This paper describes our experiences
More informationSoftware Engineering for Software-Intensive Systems: III The Development Life Cycle
Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Foundations III The Development
More informationI219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
More informationSWEBOK Certification Program. Software Engineering Management
SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
More informationComparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations
International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya
More informationSOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
More informationOutline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process
Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation
More informationAgile Project Management
Boehm Page 1 Raymond E Boehm Software Composition Technologies Abstract- This presentation will educate measurement professionals to the real issues surrounding agile development. It gives an overview
More informationThe 10 Step Software Estimation Process For Successful Software Planning, Measurement and Control
The 10 Step Software Estimation Process For Successful Software Planning, Measurement and Control Daniel D. Galorath Galorath Incorporated www.galorath.com Abstract An effective software estimate provides
More informationHow To Choose A System Development Life Cycle
EVALUATING THE SYSTEMS DEVLOPMENT LIFE CYCLE Dr. Roy A. Boggs, Florida Gulf Coast University, Rboggs@fgcu.edu David DeMoya, Florida Gulf Coast University, ddemoya@swfla.rr.com ABSTRACT The Systems Development
More informationAP3M-SW An Agile Project Management Maturity Model for Software Organizations
AP3M-SW An Agile Project Management Maturity Model for Software Organizations Felipe Santana Furtado Soares UFPE/CIn Informatics Center Federal University of PE C.E.S.A.R - Recife Center of Advanced Studies
More informationAn Approach for assessing the Quality of Software for small and medium sized firms
An Approach for assessing the Quality of Software for small and medium sized firms N. Veeranjaneyulu Associate Professor, School of Computing, Vignan University, Vadlamudi, India 1 Abstract: Software quality
More informationCHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
More informationHow To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
More informationTHE ECONOMICS OF SOFTWARE MAINTENANCE IN THE TWENTY FIRST CENTURY. Version 3 February 14, 2006
THE ECONOMICS OF SOFTWARE MAINTENANCE IN THE TWENTY FIRST CENTURY Version 3 February 14, 2006 Abstract All large companies utilize software in significant amounts. Some companies exceed 1,000,000 function
More informationTRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
More informationMeasuring Software Process Efficiency. By Gary Gack, Process-Fusion.net
Measuring Software Process Efficiency By Gary Gack, Process-Fusion.net This article is the second in a series of three. The first article, Measuring Software Process Effectiveness describes use of the
More informationLaboratório de Desenvolvimento de Software
Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2015/16 Ademar Aguiar Nuno Flores Rui Maranhão Hugo Ferreira Luís Teixeira url: moodle http://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationApplication of software product quality international standards through software development life cycle
Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University
More informationBusiness Case for Better Software Practices
BEST PRACTICES WHITE PAPER Business Case for Better Software Practices Steve McConnell, Chief Software Engineer, Construx Software Version 1, June 2008 In software organizations, the best organizations
More informationChapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
More informationA Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
More informationWeighted Total Mark. Weighted Exam Mark
CMP2101 Software Engineering Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 00 30 60 100 40 100 4 Rationale Software
More informationRUP for Software Development Projects
RUP for Software Development Projects George Merguerian www.bmc-online.com 1 Specialists in Global Project Management Brussels Frankfurt Houston Istanbul Milan Ottawa Shanghai Singapore Warsaw Washington
More informationApplying Lean on Agile Scrum Development Methodology
ISSN:2320-0790 Applying Lean on Agile Scrum Development Methodology SurendRaj Dharmapal, Dr. K. Thirunadana Sikamani Department of Computer Science, St. Peter University St. Peter s College of Engineering
More informationClassical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
More informationAkhil Kumar 1, Bindu Goel 2
Factors Influencing Agile Practices: A Survey Akhil Kumar 1, Bindu Goel 2 1 (University School of Information Technology, GGS Indraprastha University, New Delhi-110075) 2 (University School of Information
More informationSoftware Project Management
Software Project Management Learning Guide Information for Students 1. Description Grade Master Universitario en Ingeniería del Software European Master on Software Engineering Module Area Project Management
More informationThe difference between failure and success is the difference between doing something almost right and doing something right.
In: The Story of Managing Projects: A Global, Cross Disciplinary Collection of Perspectives, Dr. E. G. Carayannis and Dr. Y. H. Kwak, editors, Greenwood Press / Quorum Books, 2002 Chapter X. AGILE PROJECT
More informationSoftware Engineering. An Introduction. Fakhar Lodhi
Software Engineering An Introduction Fakhar Lodhi 1 Engineering The science concerned with putting scientific knowledge to practical use. Webster s Dictionary Physics versus Electrical Engineering 2 Software
More informationManoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007
Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007 New ICT technologies makes software development more
More informationStakeholder Communication in Software Project Management. Modelling of Communication Features
Stakeholder Communication in Software Project Management. Modelling of Communication Features IOAN POP * and ALEXANDRA-MIHAELA POP ** * Department of Mathematics and Informatics ** Department of Industrial
More informationInternational Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise
More informationEffective Methods for Software and Systems Integration
Effective Methods for Software and Systems Integration Boyd L. Summers CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 CRC Press is an imprint of Taylor
More informationIntroduction to Function Points www.davidconsultinggroup.com
By Sheila P. Dennis and David Garmus, David Consulting Group IBM first introduced the Function Point (FP) metric in 1978 [1]. Function Point counting has evolved into the most flexible standard of software
More informationThe W-MODEL Strengthening the Bond Between Development and Test
Andreas Spillner Dr. Spillner is working as Professor at the Hochschule Bremen (University of Applied Sciences) where he is responsible for software engineering and real time systems. Dr. Spillner has
More informationSoftware Project Management using an Iterative Lifecycle Model
Software Corporation Software Project Management using an Iterative Lifecycle Model 1 Objectives of this Presentation To understand what the Unified Process is To understand the iterative lifecycle approach
More informationSoftware Composition Technologies Helping People Gain Control of Software Development
Software Composition Technologies Helping People Gain Control of Software Development Agile Project Management Raymond Boehm 19 Homer Place, Metuchen, NJ 08840-2006 Voice: 732.906.3671 Fax: 732.906.5728
More informationIntroduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
More informationImplementing Models and Standards for Software Development Benefits and Risks
Implementing Models and Standards for Software Development Benefits and Risks Tsvetelina Kovacheva, Quality Manager Musala Soft June 19, 2007 Agenda Difference between Model and Standard Software Development
More informationSoftware Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
More informationToward Quantitative Process Management With Exploratory Data Analysis
Toward Quantitative Process Management With Exploratory Data Analysis Mark C. Paulk Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Abstract The Capability Maturity Model
More informationAn e-newsletter published by Dec 2010 Software Quality Consulting, Inc. Vol. 7 No. 5
An e-newsletter published by Dec 2010 Software Quality Consulting, Inc. Vol. 7 No. 5 Welcome to Food for Thought TM, an e-newsletter from Software Quality Consulting. I've created free subscriptions for
More informationUmbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
More informationSystems Oriented Architecture, Unified Process Life Cycle, and IS Model Curriculum Compatibility: Meeting Industry Needs
Systems Oriented Architecture, Unified Process Life Cycle, and IS Model Curriculum Compatibility: Meeting Industry Needs Frederick Kohun kohun@rmu.edu David Wood wood@rmu.edu Joseph Packy Laverty laverty@rmu.edu
More informationSoftware Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
More informationIntroduction to Software Engineering (ESE : Einführung in SE)
Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz Selected material courtesy of Prof. Serge Demeyer, U. Antwerp ESE Introduction Lecturers Assistants Lectures Exercises
More informationCOURSE OUTLINE OLG 611 : STRATEGIC HUMAN RESOURCE MANAGEMENT THE OPEN UNIVERSITY OF TANZANIA FACULTY OF BUINESS MANAGEMENT
COURSE OUTLINE OLG 611 : STRATEGIC HUMAN RESOURCE MANAGEMENT THE OPEN UNIVERSITY OF TANZANIA FACULTY OF BUINESS MANAGEMENT DEPARTMENT OF LEADERSHIP AND GOVERNANCE MASTER OF BUSINESS ADMINISTRATION PROGRAMME
More informationCRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY
N ft n il Ionel CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY The Academy of Economic Studies Bucharest, Management Faculty, 6 Romana Square, Sector 1, Bucharest, Management Chair, E-mail:
More informationAgile Offshore Outsourcing
Agile Offshore Outsourcing Concepts and Practices for Flexible Integration of Offshore Development Services Agile Business Conference 2006 Joachim Sauer Agenda Challenges and common solutions of applying
More informationGoal-Setting Theory of Motivation
VOLUME 15, NUMBER 1, 2011 Goal-Setting Theory of Motivation Fred C. Lunenburg Sam Houston State University ABSTRACT Locke and Latham provide a well-developed goal-setting theory of motivation. The theory
More informationProcesses in Software Development. Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008
Processes in Software Development Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008 Software hall of shame Classic mistakes ACM Code of Ethics
More information10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
More informationA Contrast and Comparison of Modern Software Process Models
A Contrast and Comparison of Modern Software Process s Pankaj Vohra Computer Science & Engineering Department Thapar University, Patiala Ashima Singh Computer Science & Engineering Department Thapar University,
More informationMoving from a Plan Driven Culture to Agile Development
Moving from a Plan Driven Culture to Agile Development Lessons Learned ICSE 2005, St. Louis, 20-May-2005 Michael Hirsch Zühlke Engineering AG hm@zuehlke.com Topic of this Talk In scope: Experiences and
More informationDESIGN AND DEVELOPMENT OF A QUOTING SYSTEM FOR A FASTENER MANUFACTURER
19 th International Conference on Production research DESIGN AND DEVELOPMENT OF A QUOTING SYSTEM FOR A FASTENER MANUFACTURER E. Shayan, V. Chitroda Faculty of Engineering and Industrial Siences Swinburne
More information2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
More informationCMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS
CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS 1 2 C. SenthilMurugan, Dr. S. Prakasam. PhD Scholar Asst., Professor 1,2 Dept of Computer Science & Application, SCSVMV University, Kanchipuram 1 Dept of MCA,
More informationTOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
More informationThe most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
More informationQuality in an Agile World BY SCOTT AMBLER Ambysoft, Inc.
TALKING POINTS Quality is an inherent aspect of true agile software development. The majority of agilists take a test-driven approach to development where they write a unit test before they write the domain
More informationHow To Scale Agile Development With Knowledge Management
Managing Knowledge in Development of Agile Software Mohammed Abdul Bari Department of Computer Science, College of Science & Arts University of Al-Kharj Wadi Al-Dawasir-11991, Kingdom of Saudi Arabia Dr.
More informationComparative Analysis of Different Agile Methodologies
Comparative Analysis of Different Agile Methodologies Shelly M. Phil (CS), Department of Computer Science, Punjabi University, Patiala-147002, Punjab, India Abstract: Today s business, political and economic
More informationThe ROI of Systems Engineering: Some Quantitative Results
The ROI of Systems Engineering: Some Quantitative Results Barry Boehm Center for Systems and Software Engineering University of Southern California boehm@usc.edu Ricardo Valerdi Lean Aerospace Initiative,
More informationIntroduction to Software Engineering
CS1Ah Lecture Note 7 Introduction to Software Engineering In this note we provide an overview of Software Engineering. The presentation in this lecture is intended to map out much of what we will study
More informationISO, CMMI and PMBOK Risk Management: a Comparative Analysis
ISO, CMMI and PMBOK Risk Management: a Comparative Analysis Cristine Martins Gomes de Gusmão Federal University of Pernambuco / Informatics Center Hermano Perrelli de Moura Federal University of Pernambuco
More informationSYLLABUS. OFFICE AND HOURS: Karnoutsos 536 (Access through K506) M 12, T 1, R 10, 12, 2 or by appointment. I am available by e-mail at all times.
SYLLABUS COURSE TITLE: PreCalculus COURSE NUMBER: MATH0165 REFERENCE NUMBER: 1980 PREREQUISITE: MATH0112 Intermediate Algebra or equivalent INSTRUCTOR: Dr. Riggs OFFICE AND HOURS: Karnoutsos 536 (Access
More informationSelecting a Development Process. Agenda
Selecting a Development Process Mike Cohn Founder Mountain Goat Software Boulder, CO mike@mountaingoatsoftware.com Agenda The processes Team Software Process Scrum Extreme Programming The Unified Process
More informationISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, rob@cl.uh.edu ABSTRACT In recent years, there has been a surge of
More informationCS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
More information270015 - IES - Introduction to Software Engineering
Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 747 - ESSI - Department of Service and Information System Engineering Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS
More informationCOST ESTIMATION OF GLOBALLY OUTSOURCED IS DEVELOPMENT PROJECTS
Journal of Information Technology Management ISSN #1042-1319 A Publication of the Association of Management COST ESTIMATION OF GLOBALLY OUTSOURCED IS DEVELOPMENT PROJECTS SACHIDANANDAM SAKTHIVEL BOWLING
More information