summaryrefslogtreecommitdiff
path: root/spm-slides.tex
diff options
context:
space:
mode:
Diffstat (limited to 'spm-slides.tex')
-rw-r--r--spm-slides.tex331
1 files changed, 183 insertions, 148 deletions
diff --git a/spm-slides.tex b/spm-slides.tex
index a349383..19c09cc 100644
--- a/spm-slides.tex
+++ b/spm-slides.tex
@@ -490,9 +490,17 @@ Many Distractions, One True North.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\foilhead{Rhythm of Releases}
+Successful software releases new versions regularly, e.g., \href{https://wiki.ubuntu.com/Releases}{Ubuntu}.
+To do that, the developers must have a release plan.
+Users know people behind the software are still improving it.
+Therefore, they feel more secure on continue using the software.
+
+A new release is like a booster shot to boost users' interest.
+
+Make sure you give people at least one Big booster shot yearly.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -609,7 +617,7 @@ Make themselves successful.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\foilhead{Software demo}
-Software demo is a marketing effort.
+Software demo is a marketing effort for ``\href{https://www.joelonsoftware.com/2002/02/13/the-iceberg-secret-revealed/}{speculative}'' software.
Image matters most.
@@ -666,230 +674,230 @@ Customer acquisition.
%A record of the past activities for future reference.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\foilhead{Choosing a license and applying it}
+\foilhead{Choosing a license and applying it}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{The nature of software engineering}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{The nature of software engineering}
-{\em Software is hard. -- Jamie Zawinski}
+%% %% {\em Software is hard. -- Jamie Zawinski}
-\begin{itemize}
-\item Complex
-\item Iterative
-\item Creative and cooperative
-\item Changing technology
-\end{itemize}
+%% %% \begin{itemize}
+%% %% \item Complex
+%% %% \item Iterative
+%% %% \item Creative and cooperative
+%% %% \item Changing technology
+%% %% \end{itemize}
-Common problems in software industry: unrealistic
-requirements/expectations, vague specifications, poor staff
-management, and ignoring user feedback.
+%% %% Common problems in software industry: unrealistic
+%% %% requirements/expectations, vague specifications, poor staff
+%% %% management, and ignoring user feedback.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{Triple constraints for software projects}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{Triple constraints for software projects}
-Time, Cost and Quality.
+%% %% Time, Cost and Quality.
-{\em Defer the activity of detecting and correcting software problems
-until late in the project, i.e., in the “test and validation” phase
-after the code has been developed. There are two main reasons why
-this is a mistake: (1) Most of the errors have already been made
-before coding begins; and (2) The later an error is detected and
-corrected, the more expensive it becomes. - Barry W. Boehm}
+%% %% {\em Defer the activity of detecting and correcting software problems
+%% %% until late in the project, i.e., in the “test and validation” phase
+%% %% after the code has been developed. There are two main reasons why
+%% %% this is a mistake: (1) Most of the errors have already been made
+%% %% before coding begins; and (2) The later an error is detected and
+%% %% corrected, the more expensive it becomes. - Barry W. Boehm}
-The following figure shows ``increase in cost to fix or change software
-throughout life cycle''.
+%% %% The following figure shows ``increase in cost to fix or change software
+%% %% throughout life cycle''.
-\begin{center}
-\includegraphics[width=0.80\textwidth]{fig/BoehmCurve_real}
-\end{center}
+%% %% \begin{center}
+%% %% \includegraphics[width=0.80\textwidth]{fig/BoehmCurve_real}
+%% %% \end{center}
-{\bf Important lesson: the longer you wait to detect and correct an error, the more it costs you - by a long shot.}
+%% %% {\bf Important lesson: the longer you wait to detect and correct an error, the more it costs you - by a long shot.}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{Aspects of management}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{Aspects of management}
-Organisational policy management. Specific organisation-wide procedures for designing, implementing, estimating, tracking and reporting. Beneficial in the long-term.
+%% %% Organisational policy management. Specific organisation-wide procedures for designing, implementing, estimating, tracking and reporting. Beneficial in the long-term.
-Personnel management. Specific organisation-wide procedures for hiring, training, motivating and promoting people.
+%% %% Personnel management. Specific organisation-wide procedures for hiring, training, motivating and promoting people.
-Communication management.
+%% %% Communication management.
-Portfolio management. Having an overall vision not only of the software under development, but also of the software already in use in an organisation.
+%% %% Portfolio management. Having an overall vision not only of the software under development, but also of the software already in use in an organisation.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{Elements of project management}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{Elements of project management}
-People, Product, Process, Project.
+%% %% People, Product, Process, Project.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{The people}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{The people}
-The \underline{people factor} is the most important factor in SPM. Anyhow, we need right people to do the right thing.
-The manager who forgets that SE work is an {\em intensely human endeavor} will never success in project management.
+%% %% The \underline{people factor} is the most important factor in SPM. Anyhow, we need right people to do the right thing.
+%% %% The manager who forgets that SE work is an {\em intensely human endeavor} will never success in project management.
-\newpage
-VP1: I guess if you had to pick one thing out that is most important to our environment, I'd say it is not the tools that we use; it is \underline{the people}.
+%% %% \newpage
+%% %% VP1: I guess if you had to pick one thing out that is most important to our environment, I'd say it is not the tools that we use; it is \underline{the people}.
-VP2: The most important ingredient that to be success on this project was having \underline{smart people}...very little else matters in my opinion.
+%% %% VP2: The most important ingredient that to be success on this project was having \underline{smart people}...very little else matters in my opinion.
-VP3: The only rule I have in management is to ensure I have \underline{good people} -- real, good people -- and that I grow good people -- and that I provide an environment in which good people can produce.
+%% %% VP3: The only rule I have in management is to ensure I have \underline{good people} -- real, good people -- and that I grow good people -- and that I provide an environment in which good people can produce.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{People Capability Maturity Model}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{People Capability Maturity Model}
-Capability Maturity Model Integration.
+%% %% Capability Maturity Model Integration.
-A maturity model describes maturity level of an organisation.
+%% %% A maturity model describes maturity level of an organisation.
-Originally called SEI, now called CMMI Institute. CMU (now acquired by ISACA), adopted and funded by U.S. DoD.
+%% %% Originally called SEI, now called CMMI Institute. CMU (now acquired by ISACA), adopted and funded by U.S. DoD.
-Generic, not just for software engineering.
+%% %% Generic, not just for software engineering.
-For organisations, for organisations seeking to improve their process, for appraising/evaluating an organisation's maturity level (1-5).
+%% %% For organisations, for organisations seeking to improve their process, for appraising/evaluating an organisation's maturity level (1-5).
-For people, PCMM is an integrated set of best practices that improves performance and key capabilities for organizations that want to improve their critical people management processes.
+%% %% For people, PCMM is an integrated set of best practices that improves performance and key capabilities for organizations that want to improve their critical people management processes.
-\begin{center}
-\includegraphics[width=0.95\textwidth]{fig/PCMM}
-\end{center}
+%% %% \begin{center}
+%% %% \includegraphics[width=0.95\textwidth]{fig/PCMM}
+%% %% \end{center}
-\begin{center}
-\includegraphics[width=0.95\textwidth]{fig/P-CMM}
-\end{center}
+%% %% \begin{center}
+%% %% \includegraphics[width=0.95\textwidth]{fig/P-CMM}
+%% %% \end{center}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{The product}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{The product}
-Define product \underline{objectives} and \underline{scope}. Consider alternative solutions.
+%% %% Define product \underline{objectives} and \underline{scope}. Consider alternative solutions.
-Objectives: overall goals for the product (from the customer's point of view) without considering how these goals will be achieved.
+%% %% Objectives: overall goals for the product (from the customer's point of view) without considering how these goals will be achieved.
-Scope: primary data, functions, behaviours that charaterises and bounds these characteristics in a quantitative manner.
+%% %% Scope: primary data, functions, behaviours that charaterises and bounds these characteristics in a quantitative manner.
-Alternatives: do we have better alternatives, considering the constraints on delivery deadline, budgets, personnel availability, etc.
+%% %% Alternatives: do we have better alternatives, considering the constraints on delivery deadline, budgets, personnel availability, etc.
-%Talk about OMG's SRS.
+%% %% %Talk about OMG's SRS.
-%SE\_UserRequirementsDocument.
+%% %% %SE\_UserRequirementsDocument.
-%{\tiny https://lumos-hello.readthedocs-hosted.com/en/latest/}
+%% %% %{\tiny https://lumos-hello.readthedocs-hosted.com/en/latest/}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{The process}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{The process}
-Use new and existing processes to move a project forward to success.
+%% %% Use new and existing processes to move a project forward to success.
-Waterfall
+%% %% Waterfall
-\begin{center}
-\includegraphics[width=0.80\textwidth]{fig/waterfall_marsic}
-\end{center}
+%% %% \begin{center}
+%% %% \includegraphics[width=0.80\textwidth]{fig/waterfall_marsic}
+%% %% \end{center}
-Prototyping
+%% %% Prototyping
-The spiral model (Boehm)
+%% %% The spiral model (Boehm)
-Agile (popular nowadays)
+%% %% Agile (popular nowadays)
-\begin{center}
-\includegraphics[width=0.80\textwidth]{fig/ExtremeProgramming}
-\end{center}
+%% %% \begin{center}
+%% %% \includegraphics[width=0.80\textwidth]{fig/ExtremeProgramming}
+%% %% \end{center}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{The project}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{The project}
-Projects: 26\% failed, 46\% experienced cost and schedule overruns.
+%% %% Projects: 26\% failed, 46\% experienced cost and schedule overruns.
-We have to conduct {\em planned} and {\em controlled} software projects.
+%% %% We have to conduct {\em planned} and {\em controlled} software projects.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{PMBOK}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{PMBOK}
-Project Management Body of Knowledge includes the following KAs (knowledge areas):
+%% %% Project Management Body of Knowledge includes the following KAs (knowledge areas):
-project integration
+%% %% project integration
-project scope
+%% %% project scope
-project time
+%% %% project time
-project cost
+%% %% project cost
-project quality
+%% %% project quality
-project human resource
+%% %% project human resource
-project communication
+%% %% project communication
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{SWBOK}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{SWBOK}
-A closely related body of knowledge (Software Engineering Body of Knowledge).
+%% %% A closely related body of knowledge (Software Engineering Body of Knowledge).
-\begin{center}
-\includegraphics[width=0.50\textwidth]{fig/swebok_wiki}
-\end{center}
+%% %% \begin{center}
+%% %% \includegraphics[width=0.50\textwidth]{fig/swebok_wiki}
+%% %% \end{center}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{Measurement and management}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{Measurement and management}
-Management without measurement suggests a lack of rigor.
+%% %% Management without measurement suggests a lack of rigor.
-Measurement without management suggests a lack of purpose or context.
+%% %% Measurement without management suggests a lack of purpose or context.
-Management and measurement without \underline{expert knowledge} is equally ineffectual.
+%% %% Management and measurement without \underline{expert knowledge} is equally ineffectual.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{The top 5 factors found in successful projects}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{The top 5 factors found in successful projects}
-%{\tiny \texttt{http://www.umsl.edu/_titlt_sauterv/analysis/6840_f03_papers/frese/}}
-\begin{itemize}
-\item \underline{User Involvement}
-\item Executive Management Support
-\item Clear Statement of Requirements
-\item Proper Planning
-\item Realistic Expectations
-\end{itemize}
+%% %% %{\tiny \texttt{http://www.umsl.edu/_titlt_sauterv/analysis/6840_f03_papers/frese/}}
+%% %% \begin{itemize}
+%% %% \item \underline{User Involvement}
+%% %% \item Executive Management Support
+%% %% \item Clear Statement of Requirements
+%% %% \item Proper Planning
+%% %% \item Realistic Expectations
+%% %% \end{itemize}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{The top 5 indicators found in challenged projects}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{The top 5 indicators found in challenged projects}
-\begin{itemize}
-\item Lack of \underline{User Input}
-\item Incomplete Requirements \& Specifications
-\item Changing Requirements \& Specifications
-\item Lack of Executive Support
-\item Technical Incompetence
-\end{itemize}
+%% %% \begin{itemize}
+%% %% \item Lack of \underline{User Input}
+%% %% \item Incomplete Requirements \& Specifications
+%% %% \item Changing Requirements \& Specifications
+%% %% \item Lack of Executive Support
+%% %% \item Technical Incompetence
+%% %% \end{itemize}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{All the top factors found in {\em failed} projects}
+%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% \foilhead{All the top factors found in {\em failed} projects}
-\begin{itemize}
-\item Incomplete Requirements
-\item Lack of \underline{user involvement}
-\item Lack of Resources
-\item Unrealistic Expectations
-\item Lake of Executive Support
-\item Changing Requirements \& Specifications
-\item Lack of Planning
-\item Didn't Need it Any Longer
-\item Lack of IT management
-\item Technical Illiteracy
-\end{itemize}
+%% %% \begin{itemize}
+%% %% \item Incomplete Requirements
+%% %% \item Lack of \underline{user involvement}
+%% %% \item Lack of Resources
+%% %% \item Unrealistic Expectations
+%% %% \item Lake of Executive Support
+%% %% \item Changing Requirements \& Specifications
+%% %% \item Lack of Planning
+%% %% \item Didn't Need it Any Longer
+%% %% \item Lack of IT management
+%% %% \item Technical Illiteracy
+%% %% \end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\foilhead{Effort and reward}
@@ -897,28 +905,55 @@ Management and measurement without \underline{expert knowledge} is equally ineff
When \underline{effort} and \underline{reward} do not correlate reliably, most people will lose faith and stop investing effort.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\foilhead{Form and substance}
+\foilhead{Form and Substance}
+
+Non-technical management.
+
+Language of customers (pretty pixels) versus language of programmers (data structure and algorithms).
+
+You should {\em look} prepared.
Appearances matter.
+Iceberg Secret: 90\% underwater is programming work. 10\% which customers can see is user interface work. \href{https://www.joelonsoftware.com/2002/02/13/the-iceberg-secret-revealed/}{People Who Aren’t Programmers Do Not Understand This}.
+
Form is substance. E.g., project presentation gives people an {\em immediate first impression}.
-Project home page is the first thing (maybe also the last thing) a visitor learns about a project.
+Joel Spolsky's Corollaries:
-Project home pages:
+\begin{itemize}
+ \item If you show a nonprogrammer a screen which has a user interface that is 90\% worse, they will think that the program is 90\% worse.
+ \item If you show a nonprogrammer a screen which has a user interface which is 100\% beautiful, they will think the program is almost done.
+ \item When you’re showing off, the only thing that matters is the screen shot. Make it 100\% beautiful.
+\end{itemize}
-* vim: https://www.vim.org/
+Project home page is the first thing (probably also the last thing) a visitor learns about a project.
-* emacs: https://www.gnu.org/software/emacs/
+Text editor project home pages:
-* notepad++: https://notepad-plus-plus.org/
+\begin{itemize}
-* nano: https://www.nano-editor.org/
+\item nano: https://www.nano-editor.org/
+
+\item vim: https://www.vim.org/
-How would you describe each look and feel? ``Your time will not be wasted if you get involved''.
+\item emacs: https://www.gnu.org/software/emacs/
+
+\item notepad++: https://notepad-plus-plus.org/
+
+
+\end{itemize}
+
+How would you describe each's look and feel?
+
+Convey this message: ``your time will not be wasted if you get involved.''
One most important principle to make a project home page: people should have a rough idea where a link goes before clicking on it.
+Supply information, also supply comfort.
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\foilhead{Canned hosting}