Software Development – Table of Content

Building Reliable Systems

First edition; 416 pages
ISBN: 0-13-081246-3
( by: Marc Hamilton )

Table of Content

Contents
Dedication
Acknowledgements
Foreword
Introduction
Part 1: Background Chapter 1: Ten Commandments of Successful Software Development

Chapter 2: Software Development Has Always Been Difficult

  • Software’s Difficult Past
  • The Year 2000 and Other Similar Problems
  • It Is Hard to Structure Development Organizations for Success
  • It Is Hard to Schedule and Budget Correctly
  • It Is Hard to Select the Right Language and Development Tools
  • It Is Hard to Select the Right OS and Hardware Platform
  • It Is Hard to Accomplish a Production Rollout

Chapter 3: Software Development Defined

  • Software Life Cycle Overview
  • Programming Paradigms
  • Procedural Software
  • Modular Software
  • Object-Oriented Software
  • Distributed and Concurrent Software
  • Development Environments
  • System Modeling Tools
  • Software Architectures

Chapter 4: Trends in Software Development

  • The Universal DBMS
  • Packaged ERP Software and its Customization
  • Webtop Computing and Platform Independence
  • Offshore Development
  • Streamlining IT Infrastructure

Part 2: People Chapter 5: Building a Winning Software Development Team

  • The Developer Shortage
  • Software Development Job Descriptions
  • Director of Software Development
  • Chief Software Architect
  • Software Development Manager
  • Senior Software Engineer
  • Software Engineer III
  • Software Engineer II
  • Software Engineer I
  • Toolsmith
  • Webmaster
  • Database Administrator
  • System Administrator
  • Skills Tracking
  • Sample C++ Programming Self-Evaluation
  • Sample Java Programming Self-Evaluation
  • Behavioral Value Assessment Interview
  • Value #1: Initiative
  • Value #2: Dedication
  • Value #3: Flexibility
  • Value #4: Respect
  • Your Software Development Partners

Chapter 6: Organizing for Success

  • The Dimensions of an Organization
  • The Importance of Organizational Structure
  • Streamlining Bureaucracy
  • Sample Organizational Structures
  • Project Centered Organizations
  • Department Centered Organizations
  • Matrix Organizations
  • Product Line Organizations
  • Recurring Organizational Themes
  • Creating a Software Process Team
  • Balancing Centralized versus Decentralized Organization
  • Managing Virtual Teams
  • Thirteen Organizational Structure Mistakes

Chapter 7: Recruiting The Best Talent

  • How to Staff for Growth
  • Internal Referrals
  • Campus Recruiting
  • Agencies
  • Newspapers and Other Media
  • Job Fairs
  • Internet
  • Acquisitions
  • What to Look for and How to Look for It
  • Technical Skills
  • Values

Chapter 8: Retaining the Best Talent

  • Compensation Philosophy
  • Total Compensation Strategy
  • Base Pay
  • Traditional Benefits
  • Creative Benefits
  • Short-Term Incentives
  • Long-Term Incentives
  • Job Rotations
  • Mentoring
  • HR Issues

Chapter 9: Successfully Transitioning Developers

  • Why Transition Developers
  • Mainframe to Client-Server
  • Mainframe to Web-Centric
  • Client-Server to Web-Centric
  • Procedural to Object-Oriented
  • Language-Specific Transition Issues
  • Does Transitioning Work?

Part 3: Processes Chapter 10: The Software Life Cycle

  • The Capability Maturity Model for Software
  • Level One: Initial
  • Level Two: Repeatable
  • Level Three: Defined
  • Level Four: Managed
  • Level Five: Optimized
  • Requirements Analysis and Definition
  • System Architecture and Design
  • Test Plan Design
  • Implementation
  • Validation and Testing
  • Unit Testing
  • Subsystem and System Testing
  • Black-Box and White-Box Testing
  • Alpha and Beta Testing
  • Stress Testing
  • Production Acceptance

Chapter 11: Rapid Application Development

  • Why Another Methodology?
  • Strategic Planning
  • Product Definition
  • Product Design
  • Product Development
  • Product Delivery

Chapter 12: Software Productivity, Metrics, and Quality

  • Code Metrics
  • McCabe Metrics
  • The Impact of Workspace on Productivity
  • Make versus Buy
  • The Value of Domain Knowledge
  • The Importance of Standards
  • Enterprise-Wide Architecture Standards
  • Coding Standards
  • Help Standards

Chapter 13: Web-Centric Production Acceptance

  • The WCPA Chronicle
  • The WCPA Questionnaire
  • Personalized Communications
  • Internal Support Agreements (ISAs)
  • Roles and Responsibilities
  • Internet Engineering
  • Security Engineering
  • Network Engineering
  • WebTone Engineering
  • Technical Support
  • Hardware Support
  • Applications Support
  • The WCPA Process
  • What IT Should/Should Not Support

Part 4: Technology Chapter 14: Programming Language Features

  • C
  • C++
  • FORTRAN
  • Ada
  • BASIC
  • Java
  • COBOL
  • LISP
  • Scripting Languages (Perl, awk, Tcl, ksh)

Chapter 15:Software Development Tools

  • Interactive Development Environments
  • BeanMachine
  • Builder Xcessory Pro
  • CodeWarrior Professional
  • Java Workshop
  • JBuilder
  • SuperCede for Java
  • UIM/X
  • Visual Cafe for Java
  • VisualAge
  • Visual J++
  • GUI Development Tools and Libraries
  • Chart.J
  • Jviews
  • JWave
  • Database Tools
  • Blend.J
  • CocoBase
  • Developer/2000
  • GemStone/J
  • Jaguar CTS
  • NetDynamics
  • Testing Tools
  • JavaScope
  • Pegasus
  • WebLoad
  • Web Authoring Tools
  • Code Editors
  • Compilers
  • Debuggers
  • Code Analysis
  • Performance Analysis Tools
  • Component Tools
  • CASE Tools
  • Version and Baseline Control

Chapter 16: Selecting Your Hardware Environment

  • Developer Desktops
  • Development Servers
  • File Server Benchmarks
  • Compile Server Benchmarks
  • Database Server Benchmarks
  • Web Server Benchmarks
  • Network Infrastructure
  • Disk Storage Architecture
  • Single Function versus General Purpose Servers
  • Architecture Issues Impacting Software Design
  • SMP Architectures
  • MPP
  • NUMA
  • Clustering
  • Highly Available and Fault-Tolerant Systems
  • Relationship of Hardware to OS and Compiler Design

Chapter 17: Component-Based Software Development

  • The History of Components
  • Components versus Object-Oriented Technology
  • Role of Visual Programming in Component Software
  • Component Development Using JavaBeans

Chapter 18:Performance Optimization Techniques

  • How Much Performance Do You Need?
  • How to Identify Bottlenecks
  • Disk Bottlenecks
  • CPU Bottlenecks
  • Memory Bottlenecks
  • Network Bottlenecks

Chapter 19: Multithreaded Programming

  • Multithreading Defined
  • Synchronization Objects

Chapter 20: Developing for the Web

  • Web Browsers and Servers
  • Proxy Web Servers
  • CGI Programming
  • Java Applets
  • Enterprise JavaBeans
  • Other Java Enterprise APIs
  • Java Servlet API
  • JavaServer Pages (JSP)
  • Java Messaging Service (JMS) API
  • Java Naming and Directory (JNDI) API

Chapter 21: Distributed Applications with CORBA, RMI, and DCOM

  • Distributed Objects Using CORBA
  • CORBA Services
  • CORBA Facilities
  • CORBA Application Objects
  • A CORBA Client-Server Example
  • DCOM Objects
  • Distributed Java Applications with RMI

Chapter 22: A Sneak Peak at Jini Technology

  • Jini Infrastructure
  • Discover and Join
  • Lookup
  • Distributed Programming
  • Leasing
  • Distributed Events
  • Distributed Transactions
  • Millennium versus Jini

Appendix A: Software Development Frequently Asked Questions

  • General Questions
  • People Related Questions
  • Process Related Questions
  • Technology Related Questions
  • Software History and Trivia Questions

Appendix B: Java Coding Standard Template

  • Introduction
  • Source Files
  • Source File Naming
  • Source File Organization
  • Naming Conventions
  • Package Naming
  • Class/Interface Naming
  • Field Naming
  • Method Naming
  • Statement Label Naming
  • White Space Usage
  • Blank Lines
  • Blank Spaces
  • Indentation
  • Continuation Lines
  • Comments
  • Documentation Comments
  • Block Comments
  • Single-line Comments
  • Classes
  • Class Body Organization
  • Interfaces
  • Interface Body Organization
  • Statements
  • Simple Statements
  • Compound Statements
  • Labeled Statements

Appendix C: Sample Internal Support Agreement (ISA)

  • Root Authority
  • Server Availability Hours
  • Backups
  • Support Responsibility
  • Function of Each Server
  • Special Requests

Appendix D: How This Book Was Written

Bibliography

Glossary

Marc Hamilton

Marc Hamilton has 16+ years of experience in large-scale software development. At TRW, he worked under mentors such as Dr. Barry Boehm, developer of the legendary “spiral” method. Now at Sun Microsystems in Los Angeles, he is a systems engineering manager helping enterprise customers design business-critical applications.

Published Works

IT Production Services – Table of Content

Building Competitive Advantage

First edition; 208 pages
ISBN: 0-13-065900-2
( by: Harris Kern , Rich Schiesser and Mayra Muniz )

Table of Content

Chapter 1
Background

  • Introduction
  • Summary

    Chapter 2
    Ten Commandments for Building the Ideal IT Environment

  • Introduction
  • Top IT Issues and Challenges
  • The Ten Commandments
  • Summary

Chapter 3
IT Assessments, Planning, and Development

  • Introduction
  • The Need for Assessments and Planning and Development Workshops
  • Struggling With The Issues
  • Selling The CIO
  • The Key to Successfully Building the Ideal IT Organization
  • Not Another Assessment
  • Summary of the Assessment Process
  • IT Planning and Development Workshop
  • The Issues
  • Summary

Chapter 4
Production Services (PS)

  • Introduction
  • Roles and Responsibilities
  • Problems Prevented by a PS Organization
  • Summary

Chapter 5
The Production Acceptance Process

  • Introduction
  • Definition of Production Acceptance
  • The Benefits of a Production Acceptance Process
  • Implementing a Production Acceptance Process
  • Full Deployment of a New Application
  • Distinguishing New Applications from New Versions of Existing Applications
  • Distinguishing Production Acceptance from Change Management
  • Assessing an Infrastructure’s Production Acceptance Process
  • Measuring and Streamlining the Production Acceptance Process
  • Summary

    Chapter 6
    Case Studies

  • Introduction
  • The Seven Companies Selected
  • Types of Attributes
  • Company A
  • Company B
  • Company C
  • Company D
  • Company E
  • Company F
  • Company G
  • Summary

    Chapter 7
    Most Frequently Asked Questions

  • Introduction
  • Summary

    A. Production Services Job Descriptions

  • Production Services Management Position
  • Production Services Staff Position

    B. Issues from Workshop C. Description of Issues from Workshop

  • Data from IT Planning and Development Workshop

Index

IT Production Services – Preface

Building Competitive Advantage

First edition; 208 pages
ISBN: 0-13-065900-2
( by: Harris Kern , Rich Schiesser and Mayra Muniz )

Preface

What ever happened to that sacred production environment where newly developed systems went through a stringent interrogation process before they were allowed entrance? It took an act of God, and then some, to bypass the thorough and intricate mainframe process to rush a new system onto the raised floor of the data center. What made the mainframe environment so successful were the commitments of the people and the robustness of the processes. Even though the tedious and complex operations of mainframes eventually led to their downfall, they built the foundation for what could become robust infrastructures of the future. In the quest to meet unreasonable budgets and impossible schedules at the cost of quality, however, today’s newly developed systems are frequently thrown over the wall and slam-dunked into production. Information Technology (IT) went from an environment that was extremely strict, structured, and disciplined to one that is now lenient, unorganized, and unrestricted.

In this book, we’re introducing a newly designed Production Services function, which addresses the needs of multiple departments within IT, including Applications Development and Computer Operations. Just as important, this function addresses the needs of the customers of all newly developed IT systems being transitioned from Applications Development into production. We also highlight the Production Acceptance process used for every new system moving from the development phase into a production mode. Production Acceptance is the most critical process for addressing:

  • Infrastructure Support requirements
  • Poor communication between IT and its customers regarding newly developed systems
  • Lack of communication between Applications Development and Production/Infrastructure Support
  • Support roles and responsibilities
  • Training and system documentation
  • Customer’s expectations (service levels)

One of the main reasons that 70 percent of all IT organizations today are still labeled as cost centers, and are failing miserably, is because of their infrastructures. Infrastructures are in horrible shape, as we will exhibit in our IT assessment data. We will share with you the data compiled from over 200 IT assessments from Fortune 500 and Global 2000 companies, but more importantly we will share how this new Production Services function resolves many of those issues. We will show you how to design and change your infrastructure into a world-class Information Technology Service Provider (ITSP), not just a high-priced support center.

Let’s not forget organizational structure, which is the number one problem in IT today. We discuss the top organizational issues affecting the staff and executive management and how our ten commandments can help design a cost-effective and efficient IT organization.

To round it out, we will provide documented case studies of our experiences with several major companies across the country. These studies discuss the strengths and weaknesses of each company’s infrastructure environment, and of the lessons learned in addressing their Production Services issues. Finally, we will provide answers to some of the most frequently asked questions relating to IT infrastructures.

This book is intended for CIO’s, CTO’s, management staff, Infrastructure Services staff, and Architects responsible for building a competitive advantage to business IT organizations.

Mayra Muniz

Mayra Muniz has spent the past several years overseeing the coordination of the Harris Kern Enterprise Computing Instititute acclaimed series of books as executive assistant to its founder, Harris Kern. Her experience as an editor, publicist, graphics designer, events manager, and marketing specialist has played a major role in the success of the series. Ms. Muniz is also a contributing co-author to the book titled, “IT Production Services” (Prentice Hall in conjunction with Harris Kern’s Enterprise Computing Institute).

Published Works

Managing IT as an Investment – Table of Content

Partnering for Success

First edition; 191 pages
ISBN: 0-13-009627-X
( by: Harris Kern and Kenneth Moskowitz )

Table of Content

Foreword
Preface
Acknowledgments
Introduction

Chapter 1 : The Maturing of IT as a Business Discipline

  • The Value Chain and the Evolution of Information Technology
  • The Message: Manage IT as a Strategic Asset
    • Partnering for Success
    • The Importance of Relationships
  • Investing in Values

Chapter 2: Consequence-Based Thinking

  • Big-Picture Thinking
  • Tapping In
  • Common Language
    • On the Mark: The Learning Experience Company

Chapter 3 : Partnering

  • The Global Matrix-ed Organization
  • Business Cases
  • Business Teams
  • Operating Principles
  • Partnering within IT

Chapter 4 : Value Management

  • Other Examples of Communication Value
    • Example 1: Analyst Workstation
    • Example 2: Workflow Manager

Chapter 5 : Strategy

  • Business Strategy Formation Process
  • Enterprise Vision
  • Technology Vision
  • Strategy
    • Does the Firm Have Adequate Objectives?
  • Making Strategy Operational
  • The Importance of the Performance Management Process
  • How to Measure Progress (Part of Marketing IT)

Chapter 6 : The Small Picture

  • Communicating the Small Picture
  • How to Translate “Geek Speak”
  • Meeting Management

Chapter 7 : Organization

  • Alignment with the Business
  • Technology Alignment
    • Personal Productivity Services Group
    • Applications Architecture Group
  • The Evolution of Alignment
  • Personal Productivity Services Group
  • Desktop Development Group
  • Training Department Evolution

Chapter 8 : Human Capital Management

  • Quality of Life
  • Recruiting/Hiring
  • Transitioning into the Enterprise
  • Mentoring for Success
  • Managing the Process
  • Performance Management Process
  • The Organization as a Career

Chapter 9 : Investing in Values

  • How We Succeed
    • Values
  • Action as Result of Values
  • The Hidden Harvest
  • Values of the Saturn Car Company
    • Values
    • Mission Statement
    • Results

Chapter 10 : CEO Roles and Responsibilities

  • Leadership
  • Partnership
  • Education
  • Flying Solo
  • The Leadership, Partnership, Education Model

Appendix A
Sample Business Case Template

  • Document Overview
  • Document Amendment History
  • Project Summary
    • Strategic Rationale
    • Overview
    • Action Steps
  • Financial Summary
  • Supporting Information
    • Project Team
  • Preliminary Requirements
    • Preliminary Project Scope
    • Preliminary Time/Cost Estimates
  • Other Considerations
  • Assumptions
  • Risks
  • Sign-Off

Appendix B
Personal Productivity Services Organization Overview

  • Desktop Development Group Overview
    • Mission
    • Charter
    • Benefits
  • Training Department Overview
    • Mission
    • Charter
    • Benefits
  • Help Desk
    • Mission
    • Charter
  • Sample Help Desk Customer Service Survey
  • Technical Support
    • Mission
    • Charter
  • Second-Level Support
    • Mission
    • Charter
    • Benefits
  • Applications Architecture Overview
    • Mission
    • Charter
    • Forms of Engagement
    • Roles of Architecture Group
  • Architecture Group Involvement

Appendix C
Desktop Development Standards and Procedures

  • Project Lifestyle
    • Request Management
    • Gather High-Level Requirements
    • Notifications
  • Requirements Gathering and Analysis
    • Role Definition/Notification
    • Gathering Application Requirements
    • Cost/Benefit Analysis/Feasibility Study
  • Project Acceptance
    • Project Charter
    • Approval/Communication
  • Project Planning
    • List Phases, Activities, and Tasks
    • Identify Resources
    • Publish the Plan
  • Design
    • Reminder
    • Documenting the Design
    • Data Flow Diagram
    • Entity Relationship Diagram
    • Structure Chart
    • Naming Conventions
    • Relational Database: What’s the Big Deal?
  • Prototyping
    • Technical Feasibility Prototype
    • User Interface and Transaction Flow Prototype
  • Scope Freeze
  • Testing (End-User Acceptance)
    • Test Plans and Cases
    • Executing the Test Plan
    • Rework
    • Acceptance
    • Pilot Test
    • IT Pilot
    • Parallel Test
    • Training
    • Course and Documentation Development
    • Timing
    • Resources
    • System Administration Tasks
  • Support
  • Marketing
  • Implementation
    • Technical Standards
    • Rollout Plan
  • Maintenance/Change Control
  • Post-Implementation Follow-Up
    • System Performance
    • Process Performance

Appendix D
Systems Development Contract

    • User Responsibilities
      • Project Ownership
      • Dedicated Resources
      • Sign-Off
      • System Change Control
      • Prioritization of Deliverables
      • Time management
    • IT Responsibilities
      • Project Ownership Estimates
      • Project Documentation
      • Project Delays
      • Application Prototypes
      • System Testing
      • Time Management

Index

Managing IT as an Investment – Preface

Partnering for Success

First edition; 191 pages
ISBN: 0-13-009627-X
( by: Harris Kern and Kenneth Moskowitz )

Preface

This book seeks to demonstrate how the consistent application of a few very basic premises will lead to professional success (and personal satisfaction) in Information Technology.

CEO’s will find what their Information Technology function can contribute and how to maximize its value to the enterprise.

Executive Managers will learn how to market and enhance their value to the enterprise.

Line Managers will learn how to accelerate their career path.

Aspiring Managers will understand and master the “rules of the game.”

Through actual examples, we will provide rules-of-thumb and an intuitive, as well as an intellectual, understanding of these basic principles.

Kenneth Moskowitz

Kenneth Moskowitz is Chief Information Officer of Standard & Poor’s Credit Market Services. Ken is responsible for the planning, design and management of the information technology resources to support Standard & Poor’s Credit Market Services world-wide.

Before joining Standard & Poor’s, Ken was Chief Technology Officer for the Global Merchant Banking Unit of Banker’s Trust Company. Prior to that, Ken was in charge of wholesale banking technology for EAB and was a senior director of management consulting at Coopers & Lybrand.

Ken holds an MBA in Finance from New York University and an M.S. and B.S. in Computer Science and Electrical Engineering from Columbia University.