66\end {savequote }
77
88\chapter {Background }
9- % TODO
10- % * 20% = https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/600465/family-resources-survey-2015-16.pdf
11- % * Reference Disability Discrimintaion Act: http://www.legislation.gov.uk/ukpga/1995/50/contents
12- % * Reference JAWS: http://www.freedomscientific.com/Products/Blindness/JAWS
13- % * Reference WCAG: https://www.w3.org/TR/WCAG20/
14- % *
15- \newthought {20\% of the UK population reported they have a disability} in
16- 2016. That is
17- approximately 13.3 million people. In the physical world, companies are by law
18- bound to ensure that this minority are able to access their services; be it by
9+ \newthought {20\% of the UK population reported they have a disability
10+ \citep {UkGovFamilySurvey }.}
11+ That is approximately 13.3 million people. In the physical world,
12+ companies are by law
13+ bound \citep {DDA } to ensure that this minority are able to access their services; be it by
1914leaving enough room to accomodate wheel chairs; or offering large text prints
2015of their products. In the digital world there are no such laws and thus the web can be a
2116difficult place for these users to consume services and content.
2217
2318A range of assistive
2419tools aim to improve the experience by targeting a selection of
2520disabilities and offering other means to consume the content. For example,
26- JAWS targets visually impaired users; reading the content,
21+ JAWS \citep { JAWS } targets visually impaired users; reading the content,
2722labelling actions and offering keyboard shortcuts to navigate. The
2823problem
2924with all these tools is that they rely upon Software Engineers to produce
30- content semantically (using HTML) and add metadata (WCAG) to enable the tools
31- to better process the content.
32-
33- The core purpose of this project is to enable the development community to
34- produce content which is as 'accessible' as possible.
25+ content semantically (using HTML) and add metadata using, until recently,
26+ very loose specifications \citep {WCAG } to enable the tools to better process
27+ the content.
28+
29+ Although difficult to assess some companies \citep {Slate }
30+ \citep {SightAndSound } believe \textasciitilde 70\% of all websites are
31+ inaccessible to all users. This identifies a clear gap in knowledge within
32+ the development community when it comes to producing accessible web
33+ applications. Thus, the purpose of this project is to enable the development
34+ community through education and 'easy to use' tools to think about and
35+ implement accessibility during development.
3536
3637\section {What is accessibility? }
37- % TODO
38- % * Reference Oxford Dictionary
39- % * Reference Tim Bernes-Lee: https://www.w3.org/standards/webdesign/accessibility
40- % * Reference Adobe: http://www.adobe.com/uk/accessibility/gettingstarted.html
41- % * This feels a bit 'bitty' I think it requires some additional quotes and
42- % reasoning over the meaning
4338"Accessibility" is a subjective term which offers many opinionated
44- definitions. The Oxford English Dictionary defines accessiblity as:
39+ definitions. The \cite* { OxDict } defines accessiblity as:
4540\begin {quote }
4641"The quality of being able to be reached or entered"
4742\end {quote }
4843
49- Tim Berners-Lee 'Inventor of the web' wrote the following:
44+ \cite* { TimBerners } 'Inventor of the web' wrote the following:
5045\begin {quote }
5146"The power of the Web is in its universality. Access by everyone regardless
5247of disability is an essential aspect"
5348\end {quote }
5449
5550Both of these point towards accessibility being the ability to access the
5651information on offer through the web. Which in my opinion is definitely
57- correct. Adobe become more specific, they identify that designers and
52+ correct. \cite* {Adobe } become more specific, they identify that
53+ designers and
5854developers have a key part to play in enabling users to access content.
5955
6056\begin {quote }
@@ -63,7 +59,7 @@ \section{What is accessibility?}
6359used by individuals with disabilities"
6460\end {quote }
6561
66- Finally Jim Bryne founder of Guild of Web Designers offers an interesting
62+ Finally \cite* { JimByrne } founder of Guild of Web Designers offers an interesting
6763insight. He refers to Google as a blind visitor which is technically correct
6864as google will never be able to see all the `pretty' pictures on your website.
6965It can however understand text and markup. This hints at the fact that
@@ -81,28 +77,35 @@ \section{What is accessibility?}
8177structured web page yet it is still totally inaccessible.
8278
8379\section {Business Context \& Requirement }
84- % TODO
85- % * Reference 'public/private' sector company
86- % * Reference Agile Cost Of Change http://www.agilemodeling.com/essays/costOfChange.htm
87- % * Reference John
8880Capgemini undertakes a range of projects across both public and private
8981sector. In the current digital climate most projects involve the
9082development of some form of web frontend. As a Professional Services supplier it
91- is quite common for Software Engineers to be multi-skilled and thus web
92- development may not be a `` core skill" . A common problem is that developers
93- who have not had sufficient experience or training in the area of producing
94- accessible websites/applications are making simple mistakes in both design and
95- implementation which result in a poor experience for users of assistive tools.
96-
97- These mistakes are only identified later in the project when
98- 'assistive tool' testing is performed at which point repetitive and sometimes
99- significant rework may be necessary. This is costly and completely
100- avoidable.
101-
102- This project aims to enable developers with limited experience in web
103- development to write cleaner, more semantic code. It is through educating
104- developers that the primary goal of offering a better experience to users of
105- assistive tools can be achieved. By building a tool that can be used during
83+ is quite common for Software Engineers to be multi-skilled and thus web
84+ development may not be a `` core skill" . A common problem is that developers
85+ who have not had sufficient experience or training in the area of producing
86+ accessible websites/applications are making simple mistakes in both design and
87+ implementation which result in a poor experience for users of assistive tools.
88+
89+ These mistakes are only identified later in the project when
90+ 'assistive tool' testing is performed at which point repetitive and sometimes
91+ significant rework may be necessary. The agile 'Cost of Change' \citep {CostOfChange } curve
92+ shown in Fig.~\ref {fig:costOfChange } demonstrates this.
93+
94+ \begin {figure }[H]
95+ \centering
96+ \includegraphics [width=0.6\textwidth ]{figures/costOfChange}
97+ \captionsetup {justification=centering}
98+ \caption {Scott Amblers agile cost of change curve
99+ \label {fig:costOfChange }}
100+ \end {figure }
101+
102+ With this in mind this project aims to enable developers with limited
103+ experience in web development to write cleaner, more semantic code. It is
104+ through educating developers that the primary goal of offering a better
105+ experience to users of assistive tools can be achieved.
106+
107+
108+ By building a tool that can be used during
106109 the development process the feedback loop on issues will be much
107110 shorter and as described in agile 'cost of change' the cost of remediation
108111 much lower. The tool will be supported by an accessibility guide which can
@@ -112,13 +115,9 @@ \section{Business Context \& Requirement}
112115paragraph about Capgemini's need for a project in this area:
113116\begin {quote }
114117 % TODO - Talk to John RE project business benefits paragraph
118+ Pending paragraph from John.
115119\end {quote }
116120
117- % * Myths in the community
118- % * Expensive
119- % * Ugly
120- % * No user will use it
121-
122121\section {Project Goals }
123122The core aim of this project is to make an impact in both Capgemini and the
124123wider web development community. By discovering the software
@@ -150,61 +149,57 @@ \section{Project Stakeholders}
150149\end {itemize }
151150
152151\section {Methodology }
153- % TODO
154- % * Reference Capgemini Values: https://www.uk.capgemini.com/careers/working-at-capgemini/our-values-culture
155- % * Reference Sprints - SCRUM: https://www.scrum.org/resources/what-is-a-sprint-in-scrum
156- % * Refernece Medium: https://medium.com/
157- % * Reference Contiunous Delivery through 'The Lean Startup': https://continuousdelivery.com/
158- % * Refernece JVM team "How we work": https://capgemini.github.io/development/how-we-work/#share-knowledge
159- % * Reference MIT licence: https://opensource.org/licenses/MIT
160- % * Reference Zach Holman "Deployment should be a boring task": https://zachholman.com/posts/deploying-software
161- % * Reference Travis CI: https://travis-ci.com/
162- % * Reference Github Pages: https://pages.github.com/
163- % * Reference Spiral Model:
164152Capgemini employees are encouraged to follow seven core values. Two of them
165- which stand out to me are `` Boldness" and `` Fun" \cite {CapValues }, it is these
153+ which stand out to me are `` Boldness" and `` Fun" \citep {CapValues }, it is these
166154two that drive me to try out new things in the aim of team (and consequently
167155self) improvement.
168156
169157Although individual, this project serves as no exception and offers an
170158opportunity to experiment for the full duration of a project rather than a
171- few 'sprints' . These 'experiments' will be evaluated at the end of
172- the project for both myself and others to gain value from. Highlighted below
173- are a few aspects in which the traditional academic model for a project will
174- be broken and experimentation will prevail:
159+ few 'sprints' \citep { ScrumSprint } . These 'experiments' will be evaluated at the
160+ end of the project for both myself and others to gain value from. Highlighted
161+ below are a few aspects in which the traditional academic model for a
162+ project will be broken and experimentation will prevail:
175163 \begin {itemize }
176164 \item Project Diary - Typically this is done on paper, or captured later in
177- the project. 'Medium' a blogging platform will instead be used to
165+ the project. 'Medium' \citep {Medium } a blogging platform will instead be
166+ used to
178167 capture key events and entries. At the end of the project this will be
179168 supplemented with notes from meetings between myself and my acadamic
180169 supervisor.
181170 % TODO - Check with HARRY if the below statement is correct. This is
182171 % TODO currently an assumption and may be totally incorrect.
183172 \item Project Deliverables - The products of an academic project are usually
184173 completed in isolation or as part of a group and made available only upon
185- completion of the project. Experimenting with `` Continuous Delivery" ,
186- products of this project will be delivered whilst still undergoing active
187- development. This will enable 'faster feedback' from stakeholders and
188- produce a higher quality product
174+ completion of the project. Experimenting with `` Continuous Delivery"
175+ \citep { ContinuousDelivery }, products of this project will be delivered
176+ whilst still undergoing active development. This will enable 'faster
177+ feedback' from stakeholders and produce a higher quality product
189178 \item Open Source Everything - Capgemini consumes and
190179 produces a lot of open source software! With myself sitting within a team
191180 that are leading this drive, all code produced will be available under a MIT
192- Licence on Github.
193- \item Share Everything - The JVM team has its own 'ethos' that sits on top
181+ Licence \citep {MITLicence } on Github.
182+ \item Share Everything - The JVM team has its own 'ethos'
183+ \citep {JVMHowWeWork } that sits on top
194184 of Capgemini's core values one of these is to share knowledge within the
195185 company and the wider development community. This project will follow that
196186 ethos and everything will be available online.
197187 \item Automation - Another of the JVM teams 'values' . Repetitive boring tasks
198188 should be automated at the earliest possible chance! `` Deployment should be a
199- repetitive boring task" so this will be one of the first things tackled on
189+ repetitive boring task" \citep {ZachHolman } so this will be one of the first
190+ things
191+ tackled on
200192 each deliverable. This will allow its process to be tested and validated
201193 for every change made thereafter; reducing risk of failure later in the
202- project. Travis CI and Github Pages will enable this.
194+ project. Travis CI \citep {TravisCi } and Github Pages \citep {Ghpages } will
195+ enable
196+ this.
203197 \end {itemize }
204198
205199\subsection {Making Better Decisions }
206200% TODO * reference Agile Manifesto
207- Coming from a background in Agile projects, the `` Agile Manifesto" has enabled
201+ Coming from a background in Agile projects, the `` Agile Manifesto" \citep {AgileManifesto } has
202+ enabled
208203me to make and justify difficult decisions under pressure. For example deciding
209204 if a time constrained delivery should be moved into or out of the next
210205 sprint. One of the 'experiments' I wish to undertake is whether having such a
@@ -223,7 +218,8 @@ \subsection{Making Better Decisions}
223218\end {center }
224219
225220\subsection {A Process }
226- Capgemini projects always follow a process to ensure a quality
221+ Capgemini projects always follow a process \citep {CapgeminiSustain } to ensure a
222+ quality
227223product is delivered with the speed being measurable and quantifiable to
228224stakeholders and clients.
229225
@@ -252,7 +248,6 @@ \subsubsection{Why the Unified Process?}
252248each spiral dedicated to risk analysis .
253249
254250\subsection {High Level Planning }
255- % * TODO - GANTT CHART of initial plan
256251At a high level I was aiming for the following to be acheived:
257252\begin {enumerate }
258253 \item {Inception - February}
@@ -299,12 +294,21 @@ \subsection{Change of process}
299294I chose to change from the 'Unified Process' towards a more
300295prototypical/iterative process; 'Evolutionary Prototyping' . This is a form of
301296the prototyping model which often suits tight time scales and fast development
302- lifecycles. The 'Evoloutionary' aspect means rather than the prototype being
303- thrown away and rebuilt at the end, it will instead be iteratively enhanced
304- until a final product is produced.
305-
306- This method enables the code and project to carry some technical debt whilst
307- still using continuous delivery. There is a higher
297+ lifecycles \citep {EvoProto }. The 'Evoloutionary' aspect means rather than the
298+ prototype being thrown away and rebuilt at the end, it will instead be
299+ iteratively enhanced until a final product is produced. Fig.~\ref {fig:proto }
300+ from \citep {EvoProto2 } displays the process.
301+
302+ \begin {figure }[H]
303+ \centering
304+ \includegraphics [width=0.6\textwidth ]{figures/prototyping}
305+ \captionsetup {justification=centering}
306+ \caption {Evolutionary Prototyping
307+ \label {fig:proto }}
308+ \end {figure }
309+
310+ Using this method will enable the code and project to carry some technical debt
311+ whilst still using continuous delivery. There is a higher
308312risk to the quality of the product but as this is an individual process I am in
309313control of that and thus it will be consistent. All technical debt
310314accumulated and areas for improvement will be documented in the
0 commit comments