1 |
%$Header: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/webprojs/pamc/gen_a/docs/manual/man_a/c_iov0/c_iov0.tex,v 1.7 2008/02/14 16:44:47 dashley Exp $
|
2 |
|
3 |
\chapter{Introduction and Overview}
|
4 |
|
5 |
\label{ciov0}
|
6 |
|
7 |
\beginchapterquote{``One way to prevent progress is by arguing that
|
8 |
any first step is unfair to somebody.''}
|
9 |
{Unknown}
|
10 |
|
11 |
|
12 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
13 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
14 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
15 |
\section{Overview of \emph{\productbasename{}}}
|
16 |
%Section tag: pov0
|
17 |
\label{ciov0:spov0}
|
18 |
|
19 |
\emph{\productbasename{}} is a server-based and primarily web-based
|
20 |
collaboration product to serve the enterprise that develops software.
|
21 |
The \emph{\productbasename{}}
|
22 |
software (all of which runs on the server-side) will run only
|
23 |
on *nix platforms. The clients that use the software (web browsers)
|
24 |
may be run on any platform; including \emph{Windows}, \emph{Linux}, and
|
25 |
various embedded platforms such as intelligent cellphones and PDAs.
|
26 |
|
27 |
The \emph{\productbasename{}} software may be used in two primary ways
|
28 |
(not mutually exclusive):
|
29 |
|
30 |
\begin{itemize}
|
31 |
\item The product may be used as-is with no modifications.
|
32 |
\item The existing authentication and database framework may be used
|
33 |
to speed development of custom database applications; either
|
34 |
supplanting or completely replacing existing database
|
35 |
functionality.
|
36 |
\end{itemize}
|
37 |
|
38 |
|
39 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
40 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
41 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
42 |
\section{Challenges in the Software Development Enterprise}
|
43 |
%Section tag: CEN0
|
44 |
\label{ciov0:scen0}
|
45 |
|
46 |
Software development is typically characterized by:
|
47 |
|
48 |
\begin{itemize}
|
49 |
\item Awesome complexity and hundreds or thousands of details.
|
50 |
\item The need to resolve every detail correctly (this stems
|
51 |
directly from the nature of software and the requirement
|
52 |
for absolute correctness).
|
53 |
\item The need to create or import workproducts and move them through
|
54 |
a defined process.
|
55 |
\item The need to capture many different forms of data (for example,
|
56 |
scanned documents as
|
57 |
\emph{.PDF}\index{PDF file@\emph{.PDF} file} files or
|
58 |
images of product defects as
|
59 |
\emph{.JPG}\index{JPG file@\emph{.JPG} file} files) and integrate
|
60 |
them into a defined process.
|
61 |
\item The need to integrate individuals who are only peripherally part
|
62 |
of the enterprise (for example, customers and suppliers) into the
|
63 |
process.
|
64 |
\item The need to work and access data securely from remote locations (for example,
|
65 |
from home, from coffee shops, from libraries, from cellphones and PDAs,
|
66 |
from customer sites, and from foreign countries and airport kiosks
|
67 |
while traveling).
|
68 |
\end{itemize}
|
69 |
|
70 |
The complexity and need for correctness conflict directly
|
71 |
with human limitations in the following ways:
|
72 |
|
73 |
\begin{itemize}
|
74 |
\item Humans cannot reliably manage large numbers of details without
|
75 |
the danger of neglecting some of the details.
|
76 |
\item In the presence of large numbers of tasks to be
|
77 |
completed, humans often have difficulty identifying
|
78 |
the tasks that need to be completed and selecting
|
79 |
a task.
|
80 |
\item When forced to switch between tasks, humans cannot
|
81 |
efficiently save and restore context.
|
82 |
Typically, resuming a task
|
83 |
involves a brief period of reviewing the status of
|
84 |
the task and planning how to proceed.
|
85 |
\end{itemize}
|
86 |
|
87 |
Standard web database and
|
88 |
\index{two-factor authentication}two-factor authentication
|
89 |
technology can address all of the needs cited above.
|
90 |
|
91 |
|
92 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
93 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
94 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
95 |
\section{The \emph{buy-versus-build} Decision}
|
96 |
%Section tag: BVB0
|
97 |
\label{ciov0:sbvb0}
|
98 |
|
99 |
\index{buy-versus-build}
|
100 |
|
101 |
Many software development organizations are reluctant to develop collaboration
|
102 |
tools in-house, citing the standard arguments against crafting solutions.
|
103 |
|
104 |
For certain commodity items---such as software development tools, version control
|
105 |
systems, and defect tracking systems---the \emph{buy} decision works well.
|
106 |
|
107 |
However, for non-commodity items, it usually happens that the commercial tools
|
108 |
available for purchase don't precisely fit enterprise processes and can't be
|
109 |
modified or customized. The enterprise is left with two choices:
|
110 |
|
111 |
\begin{itemize}
|
112 |
\item Purchase commercial tools that don't fit enterprise processes, forcing
|
113 |
the enterprise to misuse the tools or modify its processes to fit the
|
114 |
processes supported by the tools.
|
115 |
\item Fail to purchase commercial tools and forego tool support.
|
116 |
\end{itemize}
|
117 |
|
118 |
If, at every opportunity to make a buy-versus-build decision, the enterprise
|
119 |
chooses \emph{buy}, the end result after several years will be persistent gaps
|
120 |
in enterprise tool coverage. Most organizations in fact end up with
|
121 |
persistent gaps in tool coverage.
|
122 |
|
123 |
\emph{\productbasename{}-\productversion{}} is essentially a ``catch-all''
|
124 |
database framework designed to allow an organization to satisfy all unmet
|
125 |
database/collaboration needs in \emph{one} alternate framework.
|
126 |
|
127 |
|
128 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
129 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
130 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
131 |
\section{Obtaining Assistance with \emph{\productbasename{}-\productversion{}}}
|
132 |
%Section tag: OAS0
|
133 |
\label{ciov0:soas0}
|
134 |
|
135 |
TBD.
|
136 |
|
137 |
|
138 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
139 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
140 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
141 |
\section{Records Retention Todos}
|
142 |
%Section tag: RRT0
|
143 |
\label{ciov0:srrt0}
|
144 |
|
145 |
Need to incorporate the following capability into the tool:
|
146 |
|
147 |
\begin{itemize}
|
148 |
\item \textbf{Legal Hold:}\\
|
149 |
Tool must be able to suspend deletion of some or all records
|
150 |
to support ``legal hold'' and similar notions. This probably
|
151 |
means that in addition to suspending records retention deletions,
|
152 |
the database views have to disregard older records as if they have been
|
153 |
deleted (i.e. virtual non-existence).
|
154 |
\item \textbf{Visible Record of Changes:}\\
|
155 |
The tool must not allow changes to be made that are ``silent'' where
|
156 |
the new data appears with no clear record that the data has been changed.
|
157 |
\emph{Bugzilla}, for example, shows changes via ``bug history''. For all data,
|
158 |
there has to be a view of how, when, and by who it was modified.
|
159 |
\end{itemize}
|
160 |
|
161 |
|
162 |
|
163 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
164 |
\noindent\begin{figure}[!b]
|
165 |
\noindent\rule[-0.25in]{\textwidth}{1pt}
|
166 |
\begin{tiny}
|
167 |
\begin{verbatim}
|
168 |
$RCSfile: c_iov0.tex,v $
|
169 |
$Source: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/webprojs/pamc/gen_a/docs/manual/man_a/c_iov0/c_iov0.tex,v $
|
170 |
$Revision: 1.7 $
|
171 |
$Author: dashley $
|
172 |
$Date: 2008/02/14 16:44:47 $
|
173 |
\end{verbatim}
|
174 |
\end{tiny}
|
175 |
\noindent\rule[0.25in]{\textwidth}{1pt}
|
176 |
\end{figure}
|
177 |
|
178 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
179 |
%$Log: c_iov0.tex,v $
|
180 |
%Revision 1.7 2008/02/14 16:44:47 dashley
|
181 |
%Addition of records retention thoughts.
|
182 |
%
|
183 |
%Revision 1.6 2007/07/11 01:36:52 dashley
|
184 |
%Edits.
|
185 |
%
|
186 |
%Revision 1.5 2007/06/05 00:42:10 dashley
|
187 |
%Edits.
|
188 |
%
|
189 |
%Revision 1.4 2007/06/04 06:26:36 dashley
|
190 |
%Edits.
|
191 |
%
|
192 |
%Revision 1.3 2007/06/04 03:26:55 dashley
|
193 |
%Edits.
|
194 |
%
|
195 |
%Revision 1.2 2007/06/03 06:38:55 dashley
|
196 |
%Edits.
|
197 |
%
|
198 |
%Revision 1.1 2007/06/03 04:57:26 dashley
|
199 |
%Initial checkin.
|
200 |
%
|
201 |
%End of $RCSfile: c_iov0.tex,v $.
|