tamm: roles: rename chapter
[ti-agile-manual/ti-agile-manual.git] / introduction.tex
index 02ffe7d27cec467628597da783520ffe0a18ee73..3c059038d11fa85553646bb93d73726aad2a33ad 100644 (file)
@@ -7,18 +7,30 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \chapter{Introduction}
+\label{chap:introduction}
 
 \paragraph{}
-Texas Instrument's \textit{Linux Core Product Development} team has recently
-decided to implement
+Welcome to \textit{Linux Core Product Development}'s Agile Methodology Manual.
+Here you will find enough information to get acquainted with our development
+process and also learn a bit of history about the team.
+
+\paragraph{}
+We have decided to implement
 \href{http://en.wikipedia.org/wiki/Scrum\_(development)}{Scrum} for Linux
-Kernel development.
+Kernel development as means to improve our deliveries and decrease the amount
+of rework necessary due to Software errors.
 
 \paragraph{}
 It's uncommon for Linux Kernel engineers to implement any Software Development
 Methodology at all, however the enterprise development environment needs
-visibility on feature readiness and Agile Methodologies seem to impose the least
-amount of process overhead to engineers.
+visibility on feature readiness. The Agile Methodologies seem to impose the
+least amount of process overhead to engineers, which gives the team maximum
+amount of engineering hours and decreases the amount of time wasted in phone
+calls and meetings.  An additional advantage of Scrum is that developers
+are given focused time within each Sprint to accomplish their tasks without
+being re-assigned or re-prioritized.  Customer support efforts are prioritized
+as part of the common backlog and not as interrupts.  The Sprint concept is
+discussed more in chapter \ref{chap:the-sprint}.
 
 \paragraph{}
 This document aims at setting up a few foundations for the team in order to
@@ -26,3 +38,47 @@ have a general agreement on the deployment of
 \href{http://en.wikipedia.org/wiki/Scrum\_(development)}{Scrum} to decrease
 the amount of rework when developing features for customers and the mainline
 Linux Kernel tree.
+
+\paragraph{}
+This book is organized as follows. In chapter \ref{chap:scope} we will define
+the scope of this document. Why is it needed and who's going to use it.
+
+\paragraph{}
+An in-depth description of Scrum is available on chapter \ref{chap:scrum}. We
+will look at traditional Scrum practices, what Scrum is, the daily scrum, etc.
+Note, however, that Scrum is a management process and it needs a companion
+engineering process such as Continuous Integration, Test-Driven Development,
+and many, many others.
+
+\paragraph{}
+Chapter \ref{chap:roles} will discuss about the three roles within a
+Scrum Team. What they are, what are their responsibilities, how they should
+communicate with each other.
+
+\paragraph{}
+A thorough discussion about the Sprint will be carried throughout chapter
+\ref{chap:the-sprint}. We will look at sprint duration, process, artifacts and
+more.
+
+\paragraph{}
+A discussion about how to break tasks into small pieces will be exposed in
+chapter \ref{chap:breaking-tasks-up}. We will learn tricks which will help us
+understand how to break e.g. \textit{Development of QSPI driver} into smaller,
+bite-sized pieces which can done in the course of one sprint.
+
+\paragraph{}
+After being able to break tasks into small pieces, we need to come up with
+proper estimates (in hours) in order to have an idea of how long a certain task
+will take in order to be completed. Such discussion is left for chapter
+\ref{chap:estimating} and will be as thorough as possible while analyzing a
+ficticious scenario.
+
+\paragraph{}
+Lastly, chapter \ref{chap:definition-of-done} will put forth our
+\textit{Definition of Done} which will be used by all scrum teams. A global
+definition of done helps us increase quality by helping team members becoming
+more methodical about testing and validation.
+
+\paragraph{}
+We hope our readers have lots of fun while reading this manual and implementing
+it in their daily job.