Programming Practices By Joe Feliu in conjunction with Harris Kern s Enterprise Computing Institute

Similar documents
Summary of Contents LIST OF FIGURES LIST OF TABLES

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

"Charting the Course... ITIL 2011 Operations Support Analysis (OSA) Certification Program. Course Summary

SWEBOK. The Emerging Consensus on the Software Engineering Body of Knowledge. A. Abran, NSERC Ottawa, February 18, 2002

WHO SHOULD ATTEND COURSE OUTLINE. Course Outline :: PROJECT MANAGEMENT PROFESSIONAL (PMP) EXAMINATION PREPARATORY COURSE::

"Charting the Course... MOC C Deploying Windows Desktops and Enterprise Applications. Course Summary

"Charting the Course... MOC 6435 B Designing a Windows Server 2008 Network Infrastructure Course Summary

KENYA SCHOOL OF GOVERNMENT EMPLOYMENT OPORTUNITY (EXTERNAL ADVERTISEMENT)

Standard Course Outline IS 656 Information Systems Security and Assurance

SERVICE TRANSITION ITIL INTERMEDIATE TRAINING & CERTIFICATION

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

Integrating ITIL and COBIT 5 to optimize IT Process and service delivery. Johan Muliadi Kerta

"Charting the Course to Your Success!" MOC D Installing and Configuring Windows Server Course Summary

Institute of Engineering & Management. CONTACT HOURS: 6 (weekly) CODE COURSE NAME DESCRIPTION SE M CS201 Basic Computation & Principles of Computer

The Value of Migrating from Cisco Tidal Horizon to Cisco Process Orchestrator

COURSE BROCHURE. ITIL - Intermediate Service Transition. Training & Certification

CRITERIA FOR ACCREDITING COMPUTING PROGRAMS

Certified Information Security Manager (CISM) Course Overview

"Charting the Course to Your Success!" MOC Planning, Deploying and Managing Microsoft System Center Service Manager 2010.

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Contents. viii. List of figures. List of tables. OGC s foreword. 3 The ITIL Service Management Lifecycle core of practice 17

COURSE BROCHURE. ITIL - Expert Managing Across Lifecycle Training & Certification

"Charting the Course... MOC B Active Directory Services with Windows Server Course Summary

Information Security Incident Response Plan

1. Management Information Systems/ MIS211 (3 Crh.) pre. CS104+ BA Programming & Data Structures / MIS 213 (3 Cr.h.) pre CS104 (Computer Skills)

"Charting the Course B Configuring, Managing and Troubleshooting Microsoft Exchange Server 2010 Course Summary

ROJECT ANAGEMENT PROGRAM AND COURSE GUIDE

"Charting the Course... Certified Information Systems Auditor (CISA) Course Summary

"Charting the Course... ITIL 2011 Managing Across the Lifecycle ( MALC ) Course Summary

ISSMP is in compliance with the stringent requirements of ANSI/ISO/IEC Standard

SOLUTION BRIEF RSA ARCHER IT & SECURITY RISK MANAGEMENT

Ryan Stephens. Ron Plew Arie D. Jones. Sams Teach Yourself FIFTH EDITION. 800 East 96th Street, Indianapolis, Indiana, 46240

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computing Accreditation Commission Version 2.0 CRITERIA FOR ACCREDITING COMPUTING PROGRAMS

STATEMENT OF WORK BETWEEN UNIVERSITY SERVICES PMO and ENVIRONMENTAL SYSTEMS RESEARCH INSTITUTE INC. for the GIS Interactive Campus Web Map Project

IT Governance ISO/IEC 27001:2013 ISMS Implementation. Service description. Protect Comply Thrive

Totality of Project Management leading to the. Certificate In Project Management (CIPM)

COSO Enterprise Risk Management

Information Security Incident Response Plan

Tools & Techniques I: New Internal Auditor

Presenter: Ian Musweu FCCA, FZICA, CRA. Head of Risk and Assurance Professional Insurance

Microsoft Core Solutions of Microsoft SharePoint Server 2013

CAPM TRAINING EXAM PREPARATION TRAINING

Standard PMI e certificazioni professionali: novità 2009

3. LABOR CATEGORY DESCRIPTIONS

ISC2. Exam Questions CAP. ISC2 CAP Certified Authorization Professional. Version:Demo

Intellectual Properties, Trademarks and Copyrights

Expert Test Manager: Operational Module Course Outline

"Charting the Course... ITIL 2011 Service Offerings & Agreement (SOA) Certification Program. Course Summary

U.S. Japan Internet Economy Industry Forum Joint Statement October 2013 Keidanren The American Chamber of Commerce in Japan

IT SECURITY OFFICER. Department: Information Technology. Pay Range: Professional 18

OG0-091 Q&As TOGAF 9 Part 1

Part 5. Verification and Validation

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Procedures for nomination and involvement of EQUASS auditors

ITIL - Lifecycle Service Transition Course

ASSIUT UNIVERSITY. Faculty of Computers and Information Department of Information Technology. on Technology. IT PH.D. Program.

The ITIL Process Map for Microsoft Visio. Examples and Overview of Contents

CAPM & PMP Exam Preparation Boot Camp

Preface. This Book and Simulation Software Bundle Project

VMware BCDR Accelerator Service

PECB Certified ISO Lead Auditor. Master the Audit of Occupational Health and Safety Management System (OHSMS) based on ISO 45001

ITIL 2011 Foundation Course

ERP/CRM System Implementation Methodology

Revision of standards ISO 9001:2015 and ISO 14001:2015

Commercial Catalog & Pricelist. Effective Date: January 1, 2019

COURSE BROCHURE CISA TRAINING

Digital Forensics Readiness PREPARE BEFORE AN INCIDENT HAPPENS

MLR Institute of Technology

Information Systems and Tech (IST)

ITIL Service Transition Lifecycle

Menggang Li. Research on Industrial. Security Theory. Springer

Advanced Tester Certification Test Manager

KillTest *KIJGT 3WCNKV[ $GVVGT 5GTXKEG Q&A NZZV ]]] QORRZKYZ IUS =K ULLKX LXKK [VJGZK YKX\OIK LUX UTK _KGX

Program SLOs Computer Information Science

BCS EXIN ITAMOrg Software Asset Management Specialist Syllabus Version 1.1 December 2016

American Society for Quality

Janice Sipior, Villanova Joe Valacich, Washington State. Panelists:

COSO Enterprise Risk Management

Accounting Ethics and Auditing

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

Requirements. CxOne Standard

Reference Framework for the FERMA Certification Programme

ASSIUT UNIVERSITY. Faculty of Computers and Information Department of Information Systems. IS Ph.D. Program. Page 0

Improving a Trustworthy Data Repository with ISO 16363

EXAM PREPARATION GUIDE

SERVICE OPERATION ITIL INTERMEDIATE TRAINING & CERTIFICATION

Accelerate Your Enterprise Private Cloud Initiative

Controlled Document Page 1 of 6. Effective Date: 6/19/13. Approved by: CAB/F. Approved on: 6/19/13. Version Supersedes:

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

Framework for Improving Critical Infrastructure Cybersecurity

Content Enrichment. An essential strategic capability for every publisher. Enriched content. Delivered.

Designing and Implementing a Server 2012 Infrastructure

COURSE OUTLINE. IST 253 Database Concept 3 Course Number Course Title Credits

Credit Card Data Compromise: Incident Response Plan

"Charting the Course... MOC C: Developing SQL Databases. Course Summary

ITIL Service Operation Lifecycle Classroom

An international Consensus on the Software Engineering Body of Knowledge

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

The Evolution of IT Service Management

Transcription:

Programming Practices By Joe Feliu in conjunction with Harris Kern s Enterprise Computing Institute Description: Is programming an art or a science? This debate, dating back to the early days of software development, still makes for good water cooler discussion. What is generally accepted, however, is that certain standard operating procedures in the development and maintenance of software are essential to an effective operation of an IT organization. What constitutes programming best practices? This is a broad topic, which depends heavily on the language and operating systems that exist within your infrastructure. An in depth discussion is beyond the scope of this book. However, certain fundamental concepts apply across most environments, from basic code design through the release management process that transitions code to the production environment. In the example below, you will find a comprehensive set of topics that should be considered in constructing your programming practices and standards document. Benefits: Among the seemingly countless benefits you can derive from developing and enforcing good programming practices are: 1. Easier code maintainability resulting from less complex, more readable and more reusable code 2. Greater programmer interchangeability as standards are followed 3. Improved productivity resulting in more timely delivery of higher quality code 4. Fewer surprises 5. Improved communication among development teams and with customers 6. Higher quality; reduced rework First Steps: If there are no standard programming practices in place in your development group, take the following actions 1. Convene a team of senior developers who would be willing to engage a standards/practices effort; if facilitation is needed, contract with a expert in the field to assist the team 2. Select a small number of high impact standards/practices to start (typically, we would suggest you start with naming and coding standards, along with formal code reviews), and have the team document and disseminate them 3. Ensure that management enforces the standards/practices 4. Systematically expand the effort Example: Perhaps the most comprehensive categorization of software development practices is included in the IEEE Software Development Professional Certification examination specification. Figure 1 includes these categories along with their relative weighting in the examination.

I. Business Practices and Engineering Economics (3-4%) A. Engineering Economics B. Ethics C. Professional Practice D. Standards II. Software Requirements (13-15%) A. Requirements Engineering Process B. Requirements Elicitation C. Requirements Analysis D. Software Requirements Specification E. Requirements Validation F. Requirements Management III. Software Design (22-24%) A. Software Design Concepts B. Software Architecture C. Software Design Quality Analysis and Evaluation D. Software Design Notations and Documentation E. Software Design Strategies and Methods F. Human Factors in Software Design G. Software and System Safety IV. Software Construction (10-12%) A. Construction planning B. Code design C. Data design and management D. Error processing E. Source code organization F. Code documentation G. Construction QA H. System integration and deployment I. Code tuning J. Construction tools V. Software Testing (15-17%) A. Types of Tests B. Test Levels C. Testing Strategies D. Test Design E. Test Coverage of Code F. Test Coverage of Specifications

G. Test Execution H. Test Documentation I. Test Management

VI. Software Maintenance (3-5%) A. Software Maintainability B. Software Maintenance Process C. Software Maintenance Measurement D. Software Maintenance Planning E. Software Maintenance Management F. Software Maintenance Documentation VII. Software Configuration Management (3-4%) A. Management of SCM Process B. Software Configuration Identification C. Software Configuration Control D. Software Configuration Status Accounting E. Software Configuration Auditing F. Software Release Management and Delivery VIII. Software Engineering Management (10-12%) A. Measurement B. Organizational Management and Coordination C. Initiation and Scope Definition D. Planning E. Software Acquisition F. Enactment G. Risk Management H. Review and Evaluation I. Project Close Out J. Post-closure Activities IX. Software Engineering Process (2-4%) A. Process Infrastructure B. Process Measurement C. Process Definition D. Qualitative Process Analysis E. Process Implementation and Change X. Software Engineering Tools and Methods (2-4%) A. Management Tools and Methods B. Development Tools and Methods C. Maintenance Tools and Methods D. Support Tools and Methods XI. Software Quality (6-8%)

A. Software Quality Concepts B. Planning for SQA and V&V C. Methods for SQA and V&V D. Measurement Applied to SQA and V&V