Compare View
Commits (121)
-
…articles into oss_2018
-
…articles into oss_2018
-
…articles into oss_2018
-
…articles into oss_2018
-
…articles into oss_2018
-
Conflicts: icse2018/content/01-introduction.tex
-
…articles into oss_2018
-
Conflicts: oss2018/content/03-methods.tex oss2018/spb-oss-2018.bib
-
…articles into oss_2018
-
…articles into oss_2018
Showing
38 changed files
Show diff stats
@@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
1 | +TARGET=spb-oss-2018 | ||
2 | + | ||
3 | +all: $(TARGET).tex | ||
4 | + pdflatex $(TARGET).tex | ||
5 | + bibtex $(TARGET) | ||
6 | + pdflatex $(TARGET).tex | ||
7 | + pdflatex $(TARGET).tex | ||
8 | + evince $(TARGET).pdf & | ||
9 | + | ||
10 | +edit: | ||
11 | + gedit Makefile *.bib *.tex & | ||
12 | + | ||
13 | +clean: | ||
14 | + rm -f $(TARGET).pdf *.out *.aux *.log *.blg *.bbl *.dvi *.ps *.toc *.lot *.lof *.idx *~ | ||
15 | + |
@@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
1 | +\begin{abstract} | ||
2 | + | ||
3 | +Government and academia can collaborate on bringing innovation and filling | ||
4 | +design-reality gaps in e-government projects. However, differences in project | ||
5 | +management methods employed by the organizations is often a challenge for | ||
6 | +collaborative works. Bearing that in mind, we investigated a 30-month | ||
7 | +government-academia partnership to find appropriate ways to get around this | ||
8 | +obstacle. From the analysis of \textit{post-mortem} data as well as the results | ||
9 | +of questionnaires and interviews with project participants, we present a set of | ||
10 | +best practices based on FLOSS and agile software development approaches that | ||
11 | +favors team management in government-academia collaborations in e-government | ||
12 | +development projects. | ||
13 | + | ||
14 | +\end{abstract} | ||
15 | + | ||
16 | +\keywords{Open Source Software, Free Software, Agile Methods, Best Practices, | ||
17 | +Project Management, E-Government.} |
@@ -0,0 +1,49 @@ | @@ -0,0 +1,49 @@ | ||
1 | +\section{Introduction} | ||
2 | + | ||
3 | +E-government projects differ from others due to their complexity and extension | ||
4 | +\cite{anthopoulos2016egovernment}. They are complex because they combine | ||
5 | +development, innovation, information \& communications technologies, politics, | ||
6 | +and social impact. They are extensive, on the other hand, regarding their | ||
7 | +scope, target audience, organizational size, time, and the corresponding | ||
8 | +resistance to change. Developing an innovative e-government project that meets | ||
9 | +the needs of society is a issue that may be addressed alternatively through | ||
10 | +collaborative projects between government and academia. However, this | ||
11 | +collaborative work has challenges, such as organizing the collaboration | ||
12 | +project, aligning goals, synchronizing the pace of between government and | ||
13 | +academia, and overcoming the failure trend of e-government projects | ||
14 | +\cite{goldfinch2007pessimism}. | ||
15 | + | ||
16 | +One of the leading causes of e-government project failure is poor project | ||
17 | +management \cite{anthopoulos2016egovernment}. In this sense, the proper | ||
18 | +management of the collaboration project should be a relevant concern when | ||
19 | +government and academia combine efforts to develop an e-government solution. | ||
20 | +Academia commonly works on cutting-edge development methodologies while the | ||
21 | +government still relies on traditional techniques. Changing the development | ||
22 | +process of one of this large-size institutions represents an organizational | ||
23 | +disturbance with impacts on structure, culture, and management practices | ||
24 | +\cite{nerur2015challenges}. As a result, government and academia have to | ||
25 | +harmonize their view to increasing the chances of success in projects with | ||
26 | +tight deadlines and short budgets. | ||
27 | + | ||
28 | +We have investigated the adoption of recommended community standards from | ||
29 | +Free/Libre and Open Source Software (FLOSS) and agile values as a strategy to | ||
30 | +harmonize different management approaches, due to the plurality of FLOSS | ||
31 | +ecosystems and the diversity favored by agile methodologies. Open | ||
32 | +communication, project modularity, the community of users, and fast response to | ||
33 | +problems are just a few of the FLOSS ecosystem practices \cite{capiluppi, | ||
34 | +warsta}. Individuals and interactions, working software, customer | ||
35 | +collaboration, responding to change are the values agile | ||
36 | +development~\cite{beck}. With this in mind, FLOSS and agile practices may | ||
37 | +improve the cooperation of distinct teams. | ||
38 | + | ||
39 | +In this work, we examine the empirical method developed during 30 months | ||
40 | +of a government-academia project that helped to harmonize the differences | ||
41 | +between both organization management cultures. We discuss both quantitative | ||
42 | +and qualitative analyses of the benefits of FLOSS and agile practices in an | ||
43 | +e-government project. We identify and trace the best practices based on | ||
44 | +FLOSS ecosystems and agile methodology. We collect and analyze data from the | ||
45 | +project repository. Finally, we conduct a survey target at projects | ||
46 | +participants to find their perception around the set of best practices, and | ||
47 | +which of them are useful to government-academia collaboration. In doing so, we | ||
48 | +aim to help academia better understand critical issues they will be confronted | ||
49 | +with when engaging in a government-academia software project. |
@@ -0,0 +1,60 @@ | @@ -0,0 +1,60 @@ | ||
1 | +\section{Related work} | ||
2 | +\label{sec:relatedwork} | ||
3 | + | ||
4 | +Discussions on how to introduce new management methods into an organization are | ||
5 | +present in several works. Nerur et al. recognized critical issues concerning | ||
6 | +the migration from traditional to agile software development by comparing | ||
7 | +practices of both methodologies \cite{nerur2015challenges}. The authors point | ||
8 | +out managerial, organizational, people, process, and technological issues to be | ||
9 | +rethought and reconfigured in an organization for a successful migration. | ||
10 | +Strode et al. investigated the relationship between the adoption of agile | ||
11 | +methodologies and organizational culture \cite{impactOfOrganizationalCulture} | ||
12 | +by evaluating nine projects. They identified a set of six factors directly | ||
13 | +linked to agile methods and concluded that the presence of these aspects in an | ||
14 | +organization is proportional to the value of agile methodologies usage for | ||
15 | +their projects. As Nerur et al., Strode et al. also said that the adoption of | ||
16 | +agile development techniques does indeed produce changes in an organization's | ||
17 | +culture. | ||
18 | + | ||
19 | +Some works also discuss how academia can collaborate with the industry in the | ||
20 | +management of software projects. Chookittikul et al. evaluated the increasing | ||
21 | +use of the agile techniques in software development companies in Thailand. The | ||
22 | +authors suggested that universities should create curricula that develop in | ||
23 | +their undergraduate students practical skills required by industry (mainly | ||
24 | +agile practices) to promote growth in local software businesses | ||
25 | +\cite{cho2011gap}. Sandberg et al. report the use of Scrum in an | ||
26 | +industry-academia research consortium (involving ten industry partners and five | ||
27 | +universities in Sweden) \cite{sandberg2017iacollaboration}. Through a case | ||
28 | +study, they demonstrate that being able to bring together the meaningful | ||
29 | +activities of the stakeholders is essential to the success of collaborative | ||
30 | +research between industry and academia. | ||
31 | + | ||
32 | +Complex and large-scale organizations, such as the public administration, have | ||
33 | +to deal with multiple project variables. Alleman et al. describe a production | ||
34 | +deployment for the US government, focusing on the methodology applied to | ||
35 | +address long-term planning and value estimation \cite{alleman2003making}. In | ||
36 | +the Brazilian context, Melo et al. \cite{melo2013agileBr} investigates the | ||
37 | +growing adoption of agile methodologies in this country's IT industry. The | ||
38 | +results of their survey highlight some mismatch that companies faces when | ||
39 | +developing software for public administration. | ||
40 | + | ||
41 | +Several works tried to highlight the FLOSS practices, while others attempted to | ||
42 | +determine the relationship between FLOSS practices and agile methods. Capiluppi | ||
43 | +et al. examined about 400 projects to find FLOSS project properties | ||
44 | +\cite{capiluppi}. In their work, they extracted generic characterization | ||
45 | +(project size, age, license, and programming language), analyzed the average | ||
46 | +number of people involved in the project, the community of users, and | ||
47 | +documentation characteristics. Warsta et al. found differences and similarities | ||
48 | +between agile development and FLOSS practices \cite{warsta}. The authors argued | ||
49 | +that FLOSS development may differ from agile in their philosophical and | ||
50 | +economic perspectives, on the other hand, both share the definition of work. | ||
51 | +Finally, Eric Raymond describes many of his experiences and decisions in his | ||
52 | +work with FLOSS communities \cite{raymond}, and his report in 1999 has many | ||
53 | +intersections with the agile manifesto in 2001. | ||
54 | + | ||
55 | +This paper differs itself from others by studying the government-academia | ||
56 | +collaboration for developing a production-level solution. From questionnaires, | ||
57 | +interviews, and development activities data, we extracted best practices that | ||
58 | +helped to harmonize the interactions between two different development process | ||
59 | +and satisfied the management process of both sides. We analyzed the decisions | ||
60 | +made from the FLOSS and agile perspectives. |
@@ -0,0 +1,135 @@ | @@ -0,0 +1,135 @@ | ||
1 | +\section{Research Design} | ||
2 | +\label{sec:researchdesign} | ||
3 | + | ||
4 | +We studied practical alternatives to harmonize the software project lifecycle | ||
5 | +when confronting different development processes from crucial stakeholders. We | ||
6 | +are interested in the relationship between government and academia from the | ||
7 | +project management perspective, without the enforcement of changing their | ||
8 | +internal processes. We present two research questions that guided this work: | ||
9 | + | ||
10 | +\textbf{RQ1. }\textit{How to introduce FLOSS and agile best practices into | ||
11 | +government-academia collaboration projects?} | ||
12 | + | ||
13 | +\textbf{RQ2. }\textit{What practices favor effective team management in | ||
14 | +government-academia collaborative projects?} | ||
15 | + | ||
16 | +To answer these questions, we used the case study as research method. We | ||
17 | +selected as a case the evolution of the Brazilian Public Software (SPB) portal | ||
18 | +\cite{meirelles2017spb}, a government-academia collaborative project based on | ||
19 | +FLOSS systems. To validate our answers, we covered three different points of | ||
20 | +view: developers, government agent, and data collected from the project | ||
21 | +repository. | ||
22 | + | ||
23 | +\subsection{The case study} | ||
24 | + | ||
25 | +The project to evolve the SPB portal was a partnership between government and | ||
26 | +academia held between 2014 and 2016 \cite{meirelles2017spb}. The old version of | ||
27 | +SPB suffered from maintenance problems and design-reality gaps. In this sense, | ||
28 | +The Ministry of Planning (MPOG) decided to join the University of Brasília | ||
29 | +(UnB) and the University of São Paulo (USP) to develop a new platform. This | ||
30 | +platform had as its primary requirement to be based on existing FLOSS projects | ||
31 | +and integrate multiple systems into one, providing the end user with a unified | ||
32 | +experience. | ||
33 | + | ||
34 | +In short, the SPB portal evolved into a Collaborative Development Environment | ||
35 | +(CDE) \cite{booch2003}. It was a novelty in the context of the Brazilian | ||
36 | +government, due to the technologies employed and its diverse features. The | ||
37 | +portal includes social networking, mailing lists, version control system, and | ||
38 | +source code quality monitoring. All software is integrated using a | ||
39 | +system-of-systems framework \cite{meirelles2017spb}. | ||
40 | + | ||
41 | +The platform development took place at the Advanced Laboratory of Production, | ||
42 | +Research, and Innovation in Software Engineering (LAPPIS/UnB) and the FLOSS | ||
43 | +Competence Center at USP (CCSL/USP). Undergraduate interns, IT professionals and | ||
44 | +professors formed a partially distributed development team. While interns and | ||
45 | +professors worked in-person, most IT professionals worked remotely. Their | ||
46 | +activities followed the workflow of biweekly sprints and 4-month releases. | ||
47 | + | ||
48 | +On the managerial aspect, at the project | ||
49 | +beginning, the collaboration management and strategic discussions happened only | ||
50 | +once a month, when project leaders and MPOG directors met in person at the | ||
51 | +ministry's headquarters. Table~\ref{tab:gov-academia-diff} summarizes the | ||
52 | +organizational differences in both involved sides. | ||
53 | + | ||
54 | +\vspace*{-.5cm} | ||
55 | + | ||
56 | +\begin{table}[h] | ||
57 | +\centering | ||
58 | +\def\arraystretch{1.2} | ||
59 | +\setlength\tabcolsep{0.2cm} | ||
60 | +\resizebox{\textwidth}{!}{% | ||
61 | +\begin{tabular}{m{4.3cm}!{\color{white}\vrule}m{7cm}!{\color{white}\vrule}m{8cm}} | ||
62 | +\rowcolor[HTML]{c0d6e4} | ||
63 | +\textbf{Collaboration peaces} & \textbf{Academia} & \textbf{Goverment} \\ | ||
64 | +\rowcolor[HTML]{f2f2f2} | ||
65 | +\textbf{Responsibilities} & Platform development activites & Contracts and collaboration management \\ | ||
66 | +\rowcolor[HTML]{fafafa} | ||
67 | +\textbf{Team size} & | ||
68 | +\begin{tabular}[c]{@{}l@{}} 42 undergraduate interns \\ 2 professors \\ 6 senior developers with significant \\ experience in FLOSS projects\\ 2 Designers (UX specialists) \end{tabular} & | ||
69 | +\begin{tabular}[c]{@{}l@{}} 1 director \\ 1 coordinator \\ 2 requirement analysts \end{tabular} \\ | ||
70 | +\rowcolor[HTML]{f2f2f2} | ||
71 | +\textbf{Workplace} & LAPPIS at UnB and CCSL at USP & MPOG headquarters \\ | ||
72 | +\rowcolor[HTML]{fafafa} | ||
73 | +\begin{tabular}[c]{@{}l@{}}\textbf{Management} \textbf{approaches}\end{tabular} & FLOSS practices and Agile values & Mindset from RUP, CMMI, and PMBOK \\ | ||
74 | +\end{tabular}% | ||
75 | +} | ||
76 | +\caption{Differences between academia and government sides.} | ||
77 | +\label{tab:gov-academia-diff} | ||
78 | +\end{table} | ||
79 | + | ||
80 | +\vspace*{-1cm} | ||
81 | + | ||
82 | +During the project progress, this workflow proved to be inefficient. Conflicts | ||
83 | +between the internal management processes and differences in pace and goals of | ||
84 | +each institution were compromising the platform development. To improve the | ||
85 | +project management process and reducing the mismatching between government and | ||
86 | +academia, professors, with the senior developers' collaboration, incrementally | ||
87 | +employed a set of best practices based on FLOSS and agile values. Throughout | ||
88 | +the project, the development leaders made decisions in a non-systematic way to | ||
89 | +promote the usage of these techniques. In this paper, we analyzed and codified | ||
90 | +these decisions and how they favored the collaboration progress. | ||
91 | + | ||
92 | +\subsection{Survey, Interview and Data Collection} | ||
93 | + | ||
94 | +We separated the project team into three groups: undergraduate interns, IT | ||
95 | +professionals (senior developers and designers), and MPOG analysts. For the | ||
96 | +first two we sent online questionnaires, and for the last one, we conducted | ||
97 | +2-hour interviews. Table \ref{survey-table} presents the details of these | ||
98 | +processes. | ||
99 | + | ||
100 | +\vspace*{-.5cm} | ||
101 | + | ||
102 | +\begin{table}[h] | ||
103 | +\centering | ||
104 | +\def\arraystretch{1.2} | ||
105 | +\setlength\tabcolsep{0.2cm} | ||
106 | +\resizebox{\textwidth}{!}{% | ||
107 | +\begin{tabular}{m{4cm}!{\color{white}\vrule}m{5cm}!{\color{white}\vrule}m{6cm}!{\color{white}\vrule}m{6cm}} | ||
108 | +\rowcolor[HTML]{c6b3df} | ||
109 | +\textbf{} & \textbf{\nohyphens{Undergraduate Interns}} & \textbf{Senior Developers} & \textbf{MPOG Analysts} \\ | ||
110 | +\rowcolor[HTML]{fafafa} | ||
111 | +\textbf{Research technique} & Online questionnaire & Online questionnaire & Interview \\ | ||
112 | +\rowcolor[HTML]{f2f2f2} | ||
113 | +\textbf{Discussed topics} & \multicolumn{2}{l!{\color{white}\vrule}}{\begin{tabular}[c]{@{}l@{}}(1) project organization\\ (2) the development process\\ (3) communication and relationship with members\\ (4) knowledge sharing\\ (5) experience with FLOSS projects\end{tabular}} & \begin{tabular}[c]{@{}l@{}}(1) professional profile\\ (2) organization, communication \\ and development methodologies\\ (3) satisfaction with \\ the developed platform\\ (4) lessons learned\end{tabular} \\ | ||
114 | +\rowcolor[HTML]{fafafa} | ||
115 | +\textbf{Number of interviewed} & 42 & 8 & 2 \\ | ||
116 | +\rowcolor[HTML]{f2f2f2} | ||
117 | +\textbf{Rate of responses} & 88\% (37) & 100\% & 100\% \\ | ||
118 | +\rowcolor[HTML]{fafafa} | ||
119 | +\textbf{Average age at the end of the project} & 22 years old & 30 years old & 30 years old \\ | ||
120 | +\rowcolor[HTML]{f2f2f2} | ||
121 | +\textbf{Gender} & \begin{tabular}[c]{@{}l@{}}8\% women \\ 92\% man\end{tabular} & \begin{tabular}[c]{@{}l@{}}13\% women \\ 87\% man\end{tabular} & 100\% women \\ | ||
122 | +\rowcolor[HTML]{fafafa} | ||
123 | +\begin{tabular}[c]{@{}l@{}}\textbf{Experience} \\ \textbf{background}\end{tabular} & 43\% of the interns had the SPB project as their first contact with FLOSS & 11 years of experience; worked in at least 5 companies; participated in 4 to 80 distinct projects; 86\%of them had some background with FLOSS before the SPB project & more than 7 years working in the government; SPB project represented their first experience of government-academia collaboration \\ | ||
124 | +\end{tabular}% | ||
125 | +} | ||
126 | +\caption{Surveying the project participants} | ||
127 | +\label{survey-table} | ||
128 | +\end{table} | ||
129 | + | ||
130 | +\vspace*{-1cm} | ||
131 | + | ||
132 | +Finally, we analyzed the data from the central project repository considering | ||
133 | +all the issues and commits. From April 2015 to June 2016, 59 distinct authors | ||
134 | +opened 879 issues, 64 different users made the total of 4,658 comments. The | ||
135 | +development team made 3,256 commits in this abovementioned repository. |
@@ -0,0 +1,188 @@ | @@ -0,0 +1,188 @@ | ||
1 | +\section{Results} | ||
2 | +\label{sec:results} | ||
3 | + | ||
4 | +The SPB portal project had two phases according to the traceability of project | ||
5 | +management activities. The first one, between January 2014 and March 2015, is | ||
6 | +non-traceable since only the universities managed the development activities. | ||
7 | +The communication between government and academia was, generally, in private | ||
8 | +channels, such as professional e-mails, personal meetings, and telephone calls. | ||
9 | +Therefore, the quantitative data found for this period are not conclusive or | ||
10 | +have little expressiveness, and we do not examine them. | ||
11 | + | ||
12 | +The second phase, from April 2015 to the end of the project (June 2016), has | ||
13 | +meaningful data. Much of the management and communication activities were | ||
14 | +recorded and published on online channels and tools. During this period, the | ||
15 | +development leaders consolidated several FLOSS practices and agile values | ||
16 | +employed in the development process. At the end of the project, the academic | ||
17 | +team had an empirical management approach for meeting the government | ||
18 | +bureaucracies. | ||
19 | + | ||
20 | +\subsection{Use of the system under development to develop the system itself} | ||
21 | + | ||
22 | +Due to the platform features for software development and social network, the | ||
23 | +development coordinators decided to use the platform under construction to | ||
24 | +develop the system itself. Gradually, in addition to development activities, | ||
25 | +government and academia migrated the project management and the communication | ||
26 | +between teams to the portal environment. | ||
27 | + | ||
28 | +In short, the wiki feature was used for logging meetings, defining goals, | ||
29 | +planning sprints, documenting deployment procedures and user guides. The issue | ||
30 | +tracker was used for discussing requirements, monitoring features under | ||
31 | +development, requesting and recording changes, and validating the delivered | ||
32 | +functionalities. Finally, the mailing list was used for collaborative | ||
33 | +construction of requirements, defining schedules, and scheduling meetings | ||
34 | +between institutions. | ||
35 | + | ||
36 | +Our surveys report Mailing list (100\%) and Issue Tracker (62.5\%) as the main | ||
37 | +means of interaction between senior developers and interns. The development | ||
38 | +team and MPOG staff also interacted mostly via Mailing List (87.5\%) and Issue | ||
39 | +tracker (50\%). According to one of the interviewees, this movement made the | ||
40 | +\textbf{communication more transparent and efficient}. An MPOG analyst said | ||
41 | +that \textit{``Communicating well goes far beyond the speed. It means enabling | ||
42 | +someone to tell everyone about everything that is happening in the project. We | ||
43 | +did not use emails, we use more mailing list and avoid emails. This usage | ||
44 | +helped us considerably. Everything was public and did not pollute our email | ||
45 | +box. So, when you wanted to know something, you could access the SPB list and | ||
46 | +see everything''}. | ||
47 | + | ||
48 | +Migrating to the SPB platform also \textbf{easied monitoring of activities and | ||
49 | +increased interactions between developers and public servants}. The data | ||
50 | +collected from the repository highlight the frequent use of the platform by | ||
51 | +both sides teams. In the last 15 months of the project, 59 different authors | ||
52 | +opened the central repository issues, 8 of them were MPOG agents. These issues | ||
53 | +received comments from 64 distinct users, 9 of them from MPOG. When we consider | ||
54 | +the issues with more interactions, those which had ten comments or more, we | ||
55 | +notice that the government team also felt comfortable in using the tool to | ||
56 | +interact directly with the development team. In a set of 102 active issues, | ||
57 | +MPOG staff created 43 of them (this represents 42\% of the most active issues). | ||
58 | + | ||
59 | +For the MPOG analysts, interaction via repository improved communication. | ||
60 | +\textit{``There was a big evolution, we increased our communication via | ||
61 | +Gitlab''}. Migrating to the platform also led MPOG staff to \textbf{trust the | ||
62 | +developed code}: \textit{``Everything was validated. We tested the | ||
63 | +functionalities and developed the project on the SPB platform itself. Hence, | ||
64 | +the use of the system homologated most of its features. From the moment we | ||
65 | +began to use it for developing, this validation was constant. We felt confident | ||
66 | +in the code produced''}. | ||
67 | + | ||
68 | +The abovementioned decision also collaborated to meet the government's demand | ||
69 | +for meticulous documentation of the software design and stages of development | ||
70 | +without bureaucratizing or modifying the development process. The usage of the | ||
71 | +platform for project team management conducted \textbf{the organic production | ||
72 | +of documentation and records}, as mentioned in one of the MPOG responses: | ||
73 | +\textit{``It was a great learning experience. There are many things documented | ||
74 | +in emails as well as in the portal itself. We can access the tools at any time | ||
75 | +and find out how we develop a solution. We can remember the positive project | ||
76 | +points''}. | ||
77 | + | ||
78 | +\subsection{Brings together government staff and development team} | ||
79 | + | ||
80 | +In the first phase of the project, the interviewed MPOG analysts did not | ||
81 | +participate in any direct interaction with any university representative, even | ||
82 | +though they were the ones in charge of the government in ensuring the | ||
83 | +collaboration agreement and the delivery of the products. Because of this, they | ||
84 | +relied on feedback from their superiors on inter-institutional meetings. They | ||
85 | +reported that there was significant communication noise in the internal | ||
86 | +dialogues with their superiors, as well as between their superiors and the | ||
87 | +development team. | ||
88 | + | ||
89 | +In the second phase of the project, these analysts became direct | ||
90 | +representatives of the government and started to visit the university's | ||
91 | +laboratory bi-weekly. One of the analysts believed that \textit{``at this | ||
92 | +point, the communication started to change''}. The new dynamics \textbf{reduced | ||
93 | +communication misunderstandings and unified both sides}, as reported by another | ||
94 | +interviewee: \textit{``It was very positive. We liked to go there and to | ||
95 | +interact with the team. I think it brought more unity, more integration into | ||
96 | +the project''}. {73\%} of the interns considered positive the direct | ||
97 | +participation of the MPOG staff, and {81\%} of them believed the presence of | ||
98 | +government staff in sprint ceremonies was relevant for the project development. | ||
99 | +For 76\% of the interns, writing the requirements together with the MPOG staff | ||
100 | +was very important to \textbf{better meet expectations of both sides}. | ||
101 | +According to one of them, \textit{``Joint planning and timely meetings were | ||
102 | +very important for understanding the needs of MPOG''}. | ||
103 | + | ||
104 | +The closest dialogue between government and academia generated empathy, as | ||
105 | +reported by one of the interviewees: \textit{``Knowing people in person makes a | ||
106 | +big difference in the relationship because it causes empathy. You know who that | ||
107 | +person is. He's not merly a name''}. Consequently, this empathy helped to | ||
108 | +\textbf{synchronize the execution pace of activities}: \textit{``Visiting the | ||
109 | +lab and meeting the developers encouraged us to validate resources faster and | ||
110 | +give faster feedback to the team. In return, they also quickly answered us any | ||
111 | +question''}. | ||
112 | + | ||
113 | +The implementation of a Continuous Delivery pipeline also reinforced the teams' | ||
114 | +synchronization \cite{siqueira2018cd} . For 81\% of the interns and 75\% of | ||
115 | +the IT professionals, deploying new versions of the SPB portal in production | ||
116 | +was a motivator during the project. On the government side, this approach | ||
117 | +helped to \textbf{overcome the government bias toward low productivity of | ||
118 | +collaborative projects with academia}, as mentioned by themselves: | ||
119 | +\textit{``Government staff has a bias that universities do not deliver | ||
120 | +products. However, in this project, we made many deliveries with high quality. | ||
121 | +Nowadays, I think if we had paid the same amount for a company, it would not | ||
122 | +have done the amount of features we did with the technical quality we have''}. | ||
123 | +Additionally, the deployment of each new version also \textbf{share a common | ||
124 | +understanding of the process from one side to the other}, as mentioned by a | ||
125 | +MPOG analyst: \textit{``We had only the strategic vision of the project. When | ||
126 | +we needed to deal with technical issues, we had some difficulty planning the | ||
127 | +four-month releases. However, in the last stages of the project I realized | ||
128 | +that this was not a problem. The team was delivering and the results were | ||
129 | +available in production. The team was qualified, the code had quality, and the | ||
130 | +project was well executed. So in practice, our difficulty in interpreting the | ||
131 | +technical details did not impact the release planning''}. | ||
132 | + | ||
133 | +\subsection{Organized development team into priority fronts, and for each one, hire at least one specialist from the IT market} | ||
134 | + | ||
135 | +The development team had four work areas divided by the main demands of the | ||
136 | +project: User Experience, DevOps, Integration of Systems, and Social | ||
137 | +Networking. For each segment, at least one professional in the IT market was | ||
138 | +hired to raise the quality of the product. Senior developers have been selected | ||
139 | +based on their vast experience in FLOSS systems and their knowledge on tools | ||
140 | +used in the project. | ||
141 | + | ||
142 | +The presence of senior developers in the project contributed to | ||
143 | +\textbf{conciliate the development processes of each institution and make | ||
144 | +better technical decisions}, as quoted in one of the answers to the senior | ||
145 | +developer's questionnaire: \textit{``I think my main contribution was to | ||
146 | +balance the relations between the MPOG staff and the university team''}. {63\%} | ||
147 | +of the IT professionals believed they have collaborated to conciliate the | ||
148 | +management and development process between the two institutions and also {63\%} | ||
149 | +of them helped MPOG staff express their requests more clearly. Government | ||
150 | +analysts were also more open to suggestions from these developers: | ||
151 | +\textit{``They are upstream developers of the systems that integrate the | ||
152 | +platform. They conveyed trust, and then we trust in the developed code''}. | ||
153 | +According to questionnaire responses, IT professionals largely agreed with the | ||
154 | +project development process. For 63\%, this process has close similarity to | ||
155 | +their previous experiences. In contrast, {62.5\%} of them did not understand | ||
156 | +the MPOG's project management process and {50\%} believed this process could | ||
157 | +affect their project productivity. | ||
158 | + | ||
159 | +The senior developers were also responsible for \textbf{improving the | ||
160 | +management and technical knowledge} of the interns about practices from | ||
161 | +industry and open source projects. {91\%} of the interns believed that working | ||
162 | +with professionals was essential for learning, and, for all of them, working | ||
163 | +with IT professionals was important during the project. {75\%} of the IT | ||
164 | +professionals believed that ``Working in pairs with a senior'' and 63\% that | ||
165 | +``Participate in joint review tasks'' were the tasks with the involvement of | ||
166 | +them that most contributed to the evolution of the interns in the project. | ||
167 | +{75\%} believed that the knowledge shared by them to one intern was widespread | ||
168 | +among the others in the team. Government analysts also pointed this knowledge | ||
169 | +sharing: \textit{``On the university side, we noticed a significant improvement | ||
170 | +in the platform with the hiring of the systems original developers. They had a | ||
171 | +guide on how to best develop each feature and were able to solve non-trivial | ||
172 | +problems quickly''}. | ||
173 | + | ||
174 | +Organizing the development team and hiring of the IT professionals allowed each | ||
175 | +team to \textbf{self-organize and gain more autonomy in the management of their | ||
176 | +tasks}. There was a development coach to lead each team, and a ``meta-coach'' | ||
177 | +supported all of them in their internal management activities. The coaches | ||
178 | +(most advanced interns) were points of reference in the development process. | ||
179 | +{89\%} of the interns said that the presence of the coach was essential to the | ||
180 | +sprint's running, and for {88\%} of the of the IT professionals the coaches was | ||
181 | +essential for their interaction with the development team. MPOG analysts saw | ||
182 | +the coaches as facilitators their activities and communication with the | ||
183 | +development team. They said \textit{``I interacted more with the project | ||
184 | +coordinator (professor) and team coaches (interns)''}, \textit{``Usually, we | ||
185 | +contact a coach to clarify some requirements or to understand some feature. The | ||
186 | +coaches were more available than senior developers and, sometimes, they would | ||
187 | +take our question to a senior developer''}. | ||
188 | + |
@@ -0,0 +1,110 @@ | @@ -0,0 +1,110 @@ | ||
1 | +\section{Discussion} | ||
2 | +\label{sec:discussion} | ||
3 | + | ||
4 | +Our results reveal a set of nine management practices successfully employed in | ||
5 | +abovementioned case. We analyzed unsystematic decisions made during a 30-month | ||
6 | +collaborative project and identified three macro-decisions that harmonized the | ||
7 | +differences of the management processes of each organization. We evidenced from | ||
8 | +data collection, and responses of the members of both sides to the | ||
9 | +questionnaires and interviews, the benefits obtained through the adoption of | ||
10 | +this empirical method. The Table \ref{practices-table} summarizes | ||
11 | +macro-decisions, practices, and benefits. | ||
12 | + | ||
13 | +\vspace*{-.5cm} | ||
14 | + | ||
15 | +\begin{table}[h] | ||
16 | +\centering | ||
17 | +\def\arraystretch{1.5} | ||
18 | +\setlength\tabcolsep{0.5cm} | ||
19 | +\resizebox{\textwidth}{!}{% | ||
20 | +\begin{tabular}{ m{4cm} m{9cm} m{9cm} } | ||
21 | +\rowcolor[HTML]{b7d0b9} | ||
22 | +\textbf{Decision} & \textbf{Practice Explanation} & \textbf{Benefits} \\ | ||
23 | +\rowcolor[HTML]{fafafa} | ||
24 | +\begin{flushleft} | ||
25 | +\textbf{Use of the system under development to develop the system itself} | ||
26 | +\end{flushleft} & | ||
27 | +\begin{flushleft} | ||
28 | +\begin{itemize} | ||
29 | +\setlength{\itemsep}{2pt} | ||
30 | +\item The features and tools of the platform under development supported the project management and communication activities. | ||
31 | +\end{itemize} | ||
32 | +\end{flushleft} & | ||
33 | +\begin{flushleft} | ||
34 | +\begin{itemize} | ||
35 | +\setlength{\itemsep}{2pt} | ||
36 | +\item Communicating with transparency and efficiency. | ||
37 | +\item Easy monitoring of activities. | ||
38 | +\item More interactions between developers and public servants. | ||
39 | +\item Confidence in the developed code. | ||
40 | +\item Organic documentation. | ||
41 | +\end{itemize} | ||
42 | +\end{flushleft} \\ | ||
43 | +\rowcolor[HTML]{f2f2f2} | ||
44 | +\begin{flushleft} | ||
45 | +\textbf{Bring together government staff and development team} | ||
46 | +\end{flushleft} & | ||
47 | +\begin{flushleft} | ||
48 | +\begin{itemize} | ||
49 | +\setlength{\itemsep}{2pt} | ||
50 | +\item Government staff, academic coordinators, senior developers and team coaches biweekly meet at the university lab, academia headquarters, for sprint planning and review. | ||
51 | +\item Conduct on the platform technical discussions between government staff and the development team. | ||
52 | +\item Involve government board directors only in strategic planning of the project. | ||
53 | +\item Build a continuous delivery pipeline with stages involving both sides. | ||
54 | +\end{itemize} \end{flushleft} & | ||
55 | +\begin{flushleft} | ||
56 | +\begin{itemize} | ||
57 | +\setlength{\itemsep}{2pt} | ||
58 | +\item Reducing communication misunderstanding. | ||
59 | +\item Better meeting expectations of both sides. | ||
60 | +\item Improvement of the decision-making process. | ||
61 | +\item Overcoming the government bias regarding low productivity of collaborative projects with academia. | ||
62 | +\item Synchronizing the execution pace of activities. | ||
63 | +\item Sharing a common understanding of the process from one side to the other. | ||
64 | +\end{itemize} \end{flushleft} \\ | ||
65 | +\rowcolor[HTML]{fafafa} | ||
66 | +\begin{flushleft} | ||
67 | +\textbf{Organize the development team into priority fronts, and for each one, hire at least one specialist from the IT market} | ||
68 | +\end{flushleft} & | ||
69 | +\begin{itemize} | ||
70 | +\setlength{\itemsep}{2pt} | ||
71 | +\item The coordinators separated the development team into priority work areas considering the main demands of the project. | ||
72 | +\item IT market professionals with recognized experience on each front were hired to work in person or remotely. | ||
73 | +\item Define among the interns the leadership roles: a coach for each front, and a meta-coach of the entire development team. | ||
74 | +\item Each team has certain self-organization, being guided by one intern-coach and at least one senior developer. | ||
75 | +\end{itemize} & | ||
76 | +\begin{itemize} | ||
77 | +\setlength{\itemsep}{2pt} | ||
78 | +\item Conciliating the development processes of each institution, taking better technical decisions. | ||
79 | +\item Improving the management and technical knowledge. | ||
80 | +\item Self-organizing and gaining autonomy in the management of their tasks. | ||
81 | +\end{itemize}\\ | ||
82 | +\end{tabular}% | ||
83 | +} | ||
84 | +\caption{Empirical SPB management decisions and its benefits.} | ||
85 | +\label{practices-table} | ||
86 | +\end{table} | ||
87 | + | ||
88 | +\vspace*{-1cm} | ||
89 | + | ||
90 | +The results of this current work corroborate the lessons learned in our | ||
91 | +previous work on studying the SPB project case \cite{meirelles2017spb}. | ||
92 | +Evidence from the data collected, responses to questionnaires, and interviews | ||
93 | +reinforce what has been reported by the academic coordination of the project, | ||
94 | +adding the point of views of government and other roles involved on the | ||
95 | +academic side. In short, the government staff took time to understand how | ||
96 | +collaboration works and to realize that the project was not a client-executor | ||
97 | +relationship and both organizations were at the same hierarchical level in the | ||
98 | +work plan. | ||
99 | + | ||
100 | +The decisions, practices, and benefits presented in the Table | ||
101 | +\ref{practices-table} should be evaluated and used in contexts with more | ||
102 | +substantial plurality and diversity of government stakeholders. This study has | ||
103 | +a few obvious limitations. Firstly, we point out the lack of communication | ||
104 | +records and low traceability of the management data referring to the first | ||
105 | +phase of the project. Secondly, we consider a drawback the hiatus between the | ||
106 | +completion of the project and the conduction of interviews and questionnaires, | ||
107 | +since we rely on the memory of the interviewees to rescue the events. Lastly, | ||
108 | +the current situation of the respondents, such as their current working midset, | ||
109 | +may also alter their perception on the on the topics addressed in the | ||
110 | +questionnaire and consequently their responses. |
@@ -0,0 +1,41 @@ | @@ -0,0 +1,41 @@ | ||
1 | +\section{Conclusion} | ||
2 | +\label{sec:conclusion} | ||
3 | + | ||
4 | +Organizational culture is built and reinforced every life year of a large-size | ||
5 | +organization. These cultural values reflect on the internal management | ||
6 | +processes and the norms of communication among its members. In the context of | ||
7 | +software development projects, each institution adopts development methods that | ||
8 | +best meet its managerial procedures and organizational routines. When two | ||
9 | +large-size organizations decide to develop a solution collaboratively, the | ||
10 | +development methods and workflow of one may conflict with the interests of the | ||
11 | +other. In a case of government-academia collaboration, conciliating their | ||
12 | +different management processes is crucial, since the poor and unadaptable | ||
13 | +management could lead the project to fail, resulting in the waste of | ||
14 | +population-funded resources. | ||
15 | + | ||
16 | +In this study, we investigated the management method employed at the SPB portal | ||
17 | +project, a partnership between the Brazilian government and universities. As a | ||
18 | +result, we identified a set of FLOSS and agile best practices, empirically | ||
19 | +employed by the development leaders, which improved the workflow and | ||
20 | +relationship between the organizations involved. | ||
21 | + | ||
22 | +Regarding our first research question \textit{``How to introduce FLOSS and | ||
23 | +agile best practices into government-academia collaboration projects?''}, we | ||
24 | +examined the SPB project and identified three macro-decisions taken by the | ||
25 | +academic coordinators that drove them to intuitively and unsystematically adopt | ||
26 | +nine FLOSS and agile best practices in the development process. | ||
27 | + | ||
28 | +The interviewed responses allowed us to understand how FLOSS and agile | ||
29 | +practices have benefited the people and project management. Based on that, we | ||
30 | +answered our second research question \textit{``What practices favor effective | ||
31 | +team management in government-academia collaborative projects?''}, making to | ||
32 | +explicit 14 benefits obtained from the use of the nine best practices, all | ||
33 | +presented in Table \ref{practices-table}. | ||
34 | + | ||
35 | +Finally, we collected a significant amount of data and testimonials related to | ||
36 | +the teaching of software engineering. We consider the studied project an | ||
37 | +educational case, an example of teaching FLOSS and agile techniques applied to | ||
38 | +real-world software development. As future work, we intend to analyze this | ||
39 | +collected information to propose improvements in education methodologies of | ||
40 | +software engineering undergraduate students as well. | ||
41 | + |
@@ -0,0 +1,49 @@ | @@ -0,0 +1,49 @@ | ||
1 | +\section{Layered Approach} | ||
2 | +\label{sec:background} | ||
3 | + | ||
4 | +Combine many teams with different processes in the same project might be | ||
5 | +challenging. To address this problem, we got inspiration from Operating Systems | ||
6 | +(OS) concepts and extended the notion of layered approach design | ||
7 | +\cite{layeredApproach}. This technique breaks the OS into distinct layers with | ||
8 | +different proposes. The inner layer represents the hardware, while the external | ||
9 | +layer represents the user interface. Layered approach demands a careful | ||
10 | +definition of each layer responsibility and how they communicate. After the | ||
11 | +layers and communication definition, it is simple to change a single layer | ||
12 | +without affecting other layers. This approach presents two drawbacks: (1) it | ||
13 | +creates an overhead of communication from the upper layer to the lower layer, | ||
14 | +and (2) it is a hard to define the correct interface between layers. | ||
15 | + | ||
16 | +We extended the layered approach for handling the interaction with development | ||
17 | +teams and the Brazilian government. We realized that multiple teams interacting | ||
18 | +with the government have different expectations about the project. Furthermore, | ||
19 | +we noticed that government can transfer political pressures to the development | ||
20 | +team and sometimes they try to impose their processes to the project. For | ||
21 | +handling all the different processes and keep the multiple expectations under | ||
22 | +control, we implemented the layered approach for project management. | ||
23 | + | ||
24 | +\begin{figure}[!h] | ||
25 | + \centering | ||
26 | + \includegraphics[width=.30\textwidth]{project_layers} | ||
27 | + \caption{Layered Approach for managing multiple processes} | ||
28 | + \label{fig:layered_processes} | ||
29 | +\end{figure} | ||
30 | + | ||
31 | +Figure \ref{fig:layered_processes} illustrates our set of layers. The inner | ||
32 | +layer comprises the development team composed of agile teams. Next, is a layer | ||
33 | +that includes the coordinators responsible for handling the bureaucratic issues | ||
34 | +coming from the government to the development team. Subsequent, the analyst | ||
35 | +layer covers the government employees with the understanding about the | ||
36 | +requirements, but they working guided by the traditional methodology. Finally, | ||
37 | +there is the directory layer responsible for the political issues. | ||
38 | + | ||
39 | +The communication between layers is an important problem in the Layered | ||
40 | +approach, which still an important issue to be addressed in our propose. For | ||
41 | +solving the problem, we designed a common channel of communication that passes | ||
42 | +through all layers. For keeping the layer separation, some members of each | ||
43 | +layer worked as a filter. This was possible because we created a proper | ||
44 | +infrastructure based on transparency. We used the following tools to implement | ||
45 | +the communication between layers: issue tracker (from Gitlab), mailing list, | ||
46 | +IRC, and wiki. The coordination layer has to filter the interaction between the | ||
47 | +government and the development team. | ||
48 | + | ||
49 | + |
@@ -0,0 +1,1208 @@ | @@ -0,0 +1,1208 @@ | ||
1 | +% LLNCS DOCUMENT CLASS -- version 2.18 (27-Sep-2013) | ||
2 | +% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science | ||
3 | +% | ||
4 | +%% | ||
5 | +%% \CharacterTable | ||
6 | +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z | ||
7 | +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z | ||
8 | +%% Digits \0\1\2\3\4\5\6\7\8\9 | ||
9 | +%% Exclamation \! Double quote \" Hash (number) \# | ||
10 | +%% Dollar \$ Percent \% Ampersand \& | ||
11 | +%% Acute accent \' Left paren \( Right paren \) | ||
12 | +%% Asterisk \* Plus \+ Comma \, | ||
13 | +%% Minus \- Point \. Solidus \/ | ||
14 | +%% Colon \: Semicolon \; Less than \< | ||
15 | +%% Equals \= Greater than \> Question mark \? | ||
16 | +%% Commercial at \@ Left bracket \[ Backslash \\ | ||
17 | +%% Right bracket \] Circumflex \^ Underscore \_ | ||
18 | +%% Grave accent \` Left brace \{ Vertical bar \| | ||
19 | +%% Right brace \} Tilde \~} | ||
20 | +%% | ||
21 | +\NeedsTeXFormat{LaTeX2e}[1995/12/01] | ||
22 | +\ProvidesClass{llncs}[2013/09/27 v2.18 | ||
23 | +^^J LaTeX document class for Lecture Notes in Computer Science] | ||
24 | +% Options | ||
25 | +\let\if@envcntreset\iffalse | ||
26 | +\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} | ||
27 | +\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} | ||
28 | +\DeclareOption{oribibl}{\let\oribibl=Y} | ||
29 | +\let\if@custvec\iftrue | ||
30 | +\DeclareOption{orivec}{\let\if@custvec\iffalse} | ||
31 | +\let\if@envcntsame\iffalse | ||
32 | +\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} | ||
33 | +\let\if@envcntsect\iffalse | ||
34 | +\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} | ||
35 | +\let\if@runhead\iffalse | ||
36 | +\DeclareOption{runningheads}{\let\if@runhead\iftrue} | ||
37 | + | ||
38 | +\let\if@openright\iftrue | ||
39 | +\let\if@openbib\iffalse | ||
40 | +\DeclareOption{openbib}{\let\if@openbib\iftrue} | ||
41 | + | ||
42 | +% languages | ||
43 | +\let\switcht@@therlang\relax | ||
44 | +\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}} | ||
45 | +\def\ds@francais{\def\switcht@@therlang{\switcht@francais}} | ||
46 | + | ||
47 | +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} | ||
48 | + | ||
49 | +\ProcessOptions | ||
50 | + | ||
51 | +\LoadClass[twoside]{article} | ||
52 | +\RequirePackage{multicol} % needed for the list of participants, index | ||
53 | +\RequirePackage{aliascnt} | ||
54 | + | ||
55 | +\setlength{\textwidth}{12.2cm} | ||
56 | +\setlength{\textheight}{19.3cm} | ||
57 | +\renewcommand\@pnumwidth{2em} | ||
58 | +\renewcommand\@tocrmarg{3.5em} | ||
59 | +% | ||
60 | +\def\@dottedtocline#1#2#3#4#5{% | ||
61 | + \ifnum #1>\c@tocdepth \else | ||
62 | + \vskip \z@ \@plus.2\p@ | ||
63 | + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm | ||
64 | + \parfillskip -\rightskip \pretolerance=10000 | ||
65 | + \parindent #2\relax\@afterindenttrue | ||
66 | + \interlinepenalty\@M | ||
67 | + \leavevmode | ||
68 | + \@tempdima #3\relax | ||
69 | + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip | ||
70 | + {#4}\nobreak | ||
71 | + \leaders\hbox{$\m@th | ||
72 | + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep | ||
73 | + mu$}\hfill | ||
74 | + \nobreak | ||
75 | + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% | ||
76 | + \par}% | ||
77 | + \fi} | ||
78 | +% | ||
79 | +\def\switcht@albion{% | ||
80 | +\def\abstractname{Abstract.} | ||
81 | +\def\ackname{Acknowledgement.} | ||
82 | +\def\andname{and} | ||
83 | +\def\lastandname{\unskip, and} | ||
84 | +\def\appendixname{Appendix} | ||
85 | +\def\chaptername{Chapter} | ||
86 | +\def\claimname{Claim} | ||
87 | +\def\conjecturename{Conjecture} | ||
88 | +\def\contentsname{Table of Contents} | ||
89 | +\def\corollaryname{Corollary} | ||
90 | +\def\definitionname{Definition} | ||
91 | +\def\examplename{Example} | ||
92 | +\def\exercisename{Exercise} | ||
93 | +\def\figurename{Fig.} | ||
94 | +\def\keywordname{{\bf Keywords:}} | ||
95 | +\def\indexname{Index} | ||
96 | +\def\lemmaname{Lemma} | ||
97 | +\def\contriblistname{List of Contributors} | ||
98 | +\def\listfigurename{List of Figures} | ||
99 | +\def\listtablename{List of Tables} | ||
100 | +\def\mailname{{\it Correspondence to\/}:} | ||
101 | +\def\noteaddname{Note added in proof} | ||
102 | +\def\notename{Note} | ||
103 | +\def\partname{Part} | ||
104 | +\def\problemname{Problem} | ||
105 | +\def\proofname{Proof} | ||
106 | +\def\propertyname{Property} | ||
107 | +\def\propositionname{Proposition} | ||
108 | +\def\questionname{Question} | ||
109 | +\def\remarkname{Remark} | ||
110 | +\def\seename{see} | ||
111 | +\def\solutionname{Solution} | ||
112 | +\def\subclassname{{\it Subject Classifications\/}:} | ||
113 | +\def\tablename{Table} | ||
114 | +\def\theoremname{Theorem}} | ||
115 | +\switcht@albion | ||
116 | +% Names of theorem like environments are already defined | ||
117 | +% but must be translated if another language is chosen | ||
118 | +% | ||
119 | +% French section | ||
120 | +\def\switcht@francais{%\typeout{On parle francais.}% | ||
121 | + \def\abstractname{R\'esum\'e.}% | ||
122 | + \def\ackname{Remerciements.}% | ||
123 | + \def\andname{et}% | ||
124 | + \def\lastandname{ et}% | ||
125 | + \def\appendixname{Appendice} | ||
126 | + \def\chaptername{Chapitre}% | ||
127 | + \def\claimname{Pr\'etention}% | ||
128 | + \def\conjecturename{Hypoth\`ese}% | ||
129 | + \def\contentsname{Table des mati\`eres}% | ||
130 | + \def\corollaryname{Corollaire}% | ||
131 | + \def\definitionname{D\'efinition}% | ||
132 | + \def\examplename{Exemple}% | ||
133 | + \def\exercisename{Exercice}% | ||
134 | + \def\figurename{Fig.}% | ||
135 | + \def\keywordname{{\bf Mots-cl\'e:}} | ||
136 | + \def\indexname{Index} | ||
137 | + \def\lemmaname{Lemme}% | ||
138 | + \def\contriblistname{Liste des contributeurs} | ||
139 | + \def\listfigurename{Liste des figures}% | ||
140 | + \def\listtablename{Liste des tables}% | ||
141 | + \def\mailname{{\it Correspondence to\/}:} | ||
142 | + \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% | ||
143 | + \def\notename{Remarque}% | ||
144 | + \def\partname{Partie}% | ||
145 | + \def\problemname{Probl\`eme}% | ||
146 | + \def\proofname{Preuve}% | ||
147 | + \def\propertyname{Caract\'eristique}% | ||
148 | +%\def\propositionname{Proposition}% | ||
149 | + \def\questionname{Question}% | ||
150 | + \def\remarkname{Remarque}% | ||
151 | + \def\seename{voir} | ||
152 | + \def\solutionname{Solution}% | ||
153 | + \def\subclassname{{\it Subject Classifications\/}:} | ||
154 | + \def\tablename{Tableau}% | ||
155 | + \def\theoremname{Th\'eor\`eme}% | ||
156 | +} | ||
157 | +% | ||
158 | +% German section | ||
159 | +\def\switcht@deutsch{%\typeout{Man spricht deutsch.}% | ||
160 | + \def\abstractname{Zusammenfassung.}% | ||
161 | + \def\ackname{Danksagung.}% | ||
162 | + \def\andname{und}% | ||
163 | + \def\lastandname{ und}% | ||
164 | + \def\appendixname{Anhang}% | ||
165 | + \def\chaptername{Kapitel}% | ||
166 | + \def\claimname{Behauptung}% | ||
167 | + \def\conjecturename{Hypothese}% | ||
168 | + \def\contentsname{Inhaltsverzeichnis}% | ||
169 | + \def\corollaryname{Korollar}% | ||
170 | +%\def\definitionname{Definition}% | ||
171 | + \def\examplename{Beispiel}% | ||
172 | + \def\exercisename{\"Ubung}% | ||
173 | + \def\figurename{Abb.}% | ||
174 | + \def\keywordname{{\bf Schl\"usselw\"orter:}} | ||
175 | + \def\indexname{Index} | ||
176 | +%\def\lemmaname{Lemma}% | ||
177 | + \def\contriblistname{Mitarbeiter} | ||
178 | + \def\listfigurename{Abbildungsverzeichnis}% | ||
179 | + \def\listtablename{Tabellenverzeichnis}% | ||
180 | + \def\mailname{{\it Correspondence to\/}:} | ||
181 | + \def\noteaddname{Nachtrag}% | ||
182 | + \def\notename{Anmerkung}% | ||
183 | + \def\partname{Teil}% | ||
184 | +%\def\problemname{Problem}% | ||
185 | + \def\proofname{Beweis}% | ||
186 | + \def\propertyname{Eigenschaft}% | ||
187 | +%\def\propositionname{Proposition}% | ||
188 | + \def\questionname{Frage}% | ||
189 | + \def\remarkname{Anmerkung}% | ||
190 | + \def\seename{siehe} | ||
191 | + \def\solutionname{L\"osung}% | ||
192 | + \def\subclassname{{\it Subject Classifications\/}:} | ||
193 | + \def\tablename{Tabelle}% | ||
194 | +%\def\theoremname{Theorem}% | ||
195 | +} | ||
196 | + | ||
197 | +% Ragged bottom for the actual page | ||
198 | +\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil | ||
199 | +\global\let\@textbottom\relax}} | ||
200 | + | ||
201 | +\renewcommand\small{% | ||
202 | + \@setfontsize\small\@ixpt{11}% | ||
203 | + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ | ||
204 | + \abovedisplayshortskip \z@ \@plus2\p@ | ||
205 | + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ | ||
206 | + \def\@listi{\leftmargin\leftmargini | ||
207 | + \parsep 0\p@ \@plus1\p@ \@minus\p@ | ||
208 | + \topsep 8\p@ \@plus2\p@ \@minus4\p@ | ||
209 | + \itemsep0\p@}% | ||
210 | + \belowdisplayskip \abovedisplayskip | ||
211 | +} | ||
212 | + | ||
213 | +\frenchspacing | ||
214 | +\widowpenalty=10000 | ||
215 | +\clubpenalty=10000 | ||
216 | + | ||
217 | +\setlength\oddsidemargin {63\p@} | ||
218 | +\setlength\evensidemargin {63\p@} | ||
219 | +\setlength\marginparwidth {90\p@} | ||
220 | + | ||
221 | +\setlength\headsep {16\p@} | ||
222 | + | ||
223 | +\setlength\footnotesep{7.7\p@} | ||
224 | +\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@} | ||
225 | +\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@} | ||
226 | + | ||
227 | +\setcounter{secnumdepth}{2} | ||
228 | + | ||
229 | +\newcounter {chapter} | ||
230 | +\renewcommand\thechapter {\@arabic\c@chapter} | ||
231 | + | ||
232 | +\newif\if@mainmatter \@mainmattertrue | ||
233 | +\newcommand\frontmatter{\cleardoublepage | ||
234 | + \@mainmatterfalse\pagenumbering{Roman}} | ||
235 | +\newcommand\mainmatter{\cleardoublepage | ||
236 | + \@mainmattertrue\pagenumbering{arabic}} | ||
237 | +\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi | ||
238 | + \@mainmatterfalse} | ||
239 | + | ||
240 | +\renewcommand\part{\cleardoublepage | ||
241 | + \thispagestyle{empty}% | ||
242 | + \if@twocolumn | ||
243 | + \onecolumn | ||
244 | + \@tempswatrue | ||
245 | + \else | ||
246 | + \@tempswafalse | ||
247 | + \fi | ||
248 | + \null\vfil | ||
249 | + \secdef\@part\@spart} | ||
250 | + | ||
251 | +\def\@part[#1]#2{% | ||
252 | + \ifnum \c@secnumdepth >-2\relax | ||
253 | + \refstepcounter{part}% | ||
254 | + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% | ||
255 | + \else | ||
256 | + \addcontentsline{toc}{part}{#1}% | ||
257 | + \fi | ||
258 | + \markboth{}{}% | ||
259 | + {\centering | ||
260 | + \interlinepenalty \@M | ||
261 | + \normalfont | ||
262 | + \ifnum \c@secnumdepth >-2\relax | ||
263 | + \huge\bfseries \partname~\thepart | ||
264 | + \par | ||
265 | + \vskip 20\p@ | ||
266 | + \fi | ||
267 | + \Huge \bfseries #2\par}% | ||
268 | + \@endpart} | ||
269 | +\def\@spart#1{% | ||
270 | + {\centering | ||
271 | + \interlinepenalty \@M | ||
272 | + \normalfont | ||
273 | + \Huge \bfseries #1\par}% | ||
274 | + \@endpart} | ||
275 | +\def\@endpart{\vfil\newpage | ||
276 | + \if@twoside | ||
277 | + \null | ||
278 | + \thispagestyle{empty}% | ||
279 | + \newpage | ||
280 | + \fi | ||
281 | + \if@tempswa | ||
282 | + \twocolumn | ||
283 | + \fi} | ||
284 | + | ||
285 | +\newcommand\chapter{\clearpage | ||
286 | + \thispagestyle{empty}% | ||
287 | + \global\@topnum\z@ | ||
288 | + \@afterindentfalse | ||
289 | + \secdef\@chapter\@schapter} | ||
290 | +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne | ||
291 | + \if@mainmatter | ||
292 | + \refstepcounter{chapter}% | ||
293 | + \typeout{\@chapapp\space\thechapter.}% | ||
294 | + \addcontentsline{toc}{chapter}% | ||
295 | + {\protect\numberline{\thechapter}#1}% | ||
296 | + \else | ||
297 | + \addcontentsline{toc}{chapter}{#1}% | ||
298 | + \fi | ||
299 | + \else | ||
300 | + \addcontentsline{toc}{chapter}{#1}% | ||
301 | + \fi | ||
302 | + \chaptermark{#1}% | ||
303 | + \addtocontents{lof}{\protect\addvspace{10\p@}}% | ||
304 | + \addtocontents{lot}{\protect\addvspace{10\p@}}% | ||
305 | + \if@twocolumn | ||
306 | + \@topnewpage[\@makechapterhead{#2}]% | ||
307 | + \else | ||
308 | + \@makechapterhead{#2}% | ||
309 | + \@afterheading | ||
310 | + \fi} | ||
311 | +\def\@makechapterhead#1{% | ||
312 | +% \vspace*{50\p@}% | ||
313 | + {\centering | ||
314 | + \ifnum \c@secnumdepth >\m@ne | ||
315 | + \if@mainmatter | ||
316 | + \large\bfseries \@chapapp{} \thechapter | ||
317 | + \par\nobreak | ||
318 | + \vskip 20\p@ | ||
319 | + \fi | ||
320 | + \fi | ||
321 | + \interlinepenalty\@M | ||
322 | + \Large \bfseries #1\par\nobreak | ||
323 | + \vskip 40\p@ | ||
324 | + }} | ||
325 | +\def\@schapter#1{\if@twocolumn | ||
326 | + \@topnewpage[\@makeschapterhead{#1}]% | ||
327 | + \else | ||
328 | + \@makeschapterhead{#1}% | ||
329 | + \@afterheading | ||
330 | + \fi} | ||
331 | +\def\@makeschapterhead#1{% | ||
332 | +% \vspace*{50\p@}% | ||
333 | + {\centering | ||
334 | + \normalfont | ||
335 | + \interlinepenalty\@M | ||
336 | + \Large \bfseries #1\par\nobreak | ||
337 | + \vskip 40\p@ | ||
338 | + }} | ||
339 | + | ||
340 | +\renewcommand\section{\@startsection{section}{1}{\z@}% | ||
341 | + {-18\p@ \@plus -4\p@ \@minus -4\p@}% | ||
342 | + {12\p@ \@plus 4\p@ \@minus 4\p@}% | ||
343 | + {\normalfont\large\bfseries\boldmath | ||
344 | + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} | ||
345 | +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% | ||
346 | + {-18\p@ \@plus -4\p@ \@minus -4\p@}% | ||
347 | + {8\p@ \@plus 4\p@ \@minus 4\p@}% | ||
348 | + {\normalfont\normalsize\bfseries\boldmath | ||
349 | + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} | ||
350 | +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% | ||
351 | + {-18\p@ \@plus -4\p@ \@minus -4\p@}% | ||
352 | + {-0.5em \@plus -0.22em \@minus -0.1em}% | ||
353 | + {\normalfont\normalsize\bfseries\boldmath}} | ||
354 | +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% | ||
355 | + {-12\p@ \@plus -4\p@ \@minus -4\p@}% | ||
356 | + {-0.5em \@plus -0.22em \@minus -0.1em}% | ||
357 | + {\normalfont\normalsize\itshape}} | ||
358 | +\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use | ||
359 | + \string\subparagraph\space with this class}\vskip0.5cm | ||
360 | +You should not use \verb|\subparagraph| with this class.\vskip0.5cm} | ||
361 | + | ||
362 | +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} | ||
363 | +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} | ||
364 | +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} | ||
365 | +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} | ||
366 | +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} | ||
367 | +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} | ||
368 | +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} | ||
369 | +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} | ||
370 | +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} | ||
371 | +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} | ||
372 | +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} | ||
373 | + | ||
374 | +\let\footnotesize\small | ||
375 | + | ||
376 | +\if@custvec | ||
377 | +\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} | ||
378 | +{\mbox{\boldmath$\textstyle#1$}} | ||
379 | +{\mbox{\boldmath$\scriptstyle#1$}} | ||
380 | +{\mbox{\boldmath$\scriptscriptstyle#1$}}} | ||
381 | +\fi | ||
382 | + | ||
383 | +\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} | ||
384 | +\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil | ||
385 | +\penalty50\hskip1em\null\nobreak\hfil\squareforqed | ||
386 | +\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} | ||
387 | + | ||
388 | +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip | ||
389 | +\halign{\hfil | ||
390 | +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} | ||
391 | +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets | ||
392 | +\cr\to\cr}}} | ||
393 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets | ||
394 | +\cr\to\cr}}} | ||
395 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr | ||
396 | +\gets\cr\to\cr}}}}} | ||
397 | +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil | ||
398 | +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} | ||
399 | +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr | ||
400 | +\noalign{\vskip1.2pt}=\cr}}} | ||
401 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr | ||
402 | +\noalign{\vskip1pt}=\cr}}} | ||
403 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr | ||
404 | +<\cr | ||
405 | +\noalign{\vskip0.9pt}=\cr}}}}} | ||
406 | +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil | ||
407 | +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} | ||
408 | +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr | ||
409 | +\noalign{\vskip1.2pt}=\cr}}} | ||
410 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr | ||
411 | +\noalign{\vskip1pt}=\cr}}} | ||
412 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr | ||
413 | +>\cr | ||
414 | +\noalign{\vskip0.9pt}=\cr}}}}} | ||
415 | +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip | ||
416 | +\halign{\hfil | ||
417 | +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}} | ||
418 | +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr | ||
419 | +>\cr\noalign{\vskip-1pt}<\cr}}} | ||
420 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr | ||
421 | +>\cr\noalign{\vskip-0.8pt}<\cr}}} | ||
422 | +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr | ||
423 | +>\cr\noalign{\vskip-0.3pt}<\cr}}}}} | ||
424 | +\def\bbbr{{\rm I\!R}} %reelle Zahlen | ||
425 | +\def\bbbm{{\rm I\!M}} | ||
426 | +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen | ||
427 | +\def\bbbf{{\rm I\!F}} | ||
428 | +\def\bbbh{{\rm I\!H}} | ||
429 | +\def\bbbk{{\rm I\!K}} | ||
430 | +\def\bbbp{{\rm I\!P}} | ||
431 | +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} | ||
432 | +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} | ||
433 | +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox | ||
434 | +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} | ||
435 | +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox | ||
436 | +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} | ||
437 | +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox | ||
438 | +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} | ||
439 | +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox | ||
440 | +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} | ||
441 | +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm | ||
442 | +Q$}\hbox{\raise | ||
443 | +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} | ||
444 | +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise | ||
445 | +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} | ||
446 | +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise | ||
447 | +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} | ||
448 | +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise | ||
449 | +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} | ||
450 | +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm | ||
451 | +T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} | ||
452 | +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox | ||
453 | +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} | ||
454 | +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox | ||
455 | +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} | ||
456 | +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox | ||
457 | +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} | ||
458 | +\def\bbbs{{\mathchoice | ||
459 | +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox | ||
460 | +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox | ||
461 | +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} | ||
462 | +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox | ||
463 | +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox | ||
464 | +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} | ||
465 | +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox | ||
466 | +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox | ||
467 | +to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} | ||
468 | +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox | ||
469 | +to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox | ||
470 | +to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} | ||
471 | +\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} | ||
472 | +{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} | ||
473 | +{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}} | ||
474 | +{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}} | ||
475 | + | ||
476 | +\let\ts\, | ||
477 | + | ||
478 | +\setlength\leftmargini {17\p@} | ||
479 | +\setlength\leftmargin {\leftmargini} | ||
480 | +\setlength\leftmarginii {\leftmargini} | ||
481 | +\setlength\leftmarginiii {\leftmargini} | ||
482 | +\setlength\leftmarginiv {\leftmargini} | ||
483 | +\setlength \labelsep {.5em} | ||
484 | +\setlength \labelwidth{\leftmargini} | ||
485 | +\addtolength\labelwidth{-\labelsep} | ||
486 | + | ||
487 | +\def\@listI{\leftmargin\leftmargini | ||
488 | + \parsep 0\p@ \@plus1\p@ \@minus\p@ | ||
489 | + \topsep 8\p@ \@plus2\p@ \@minus4\p@ | ||
490 | + \itemsep0\p@} | ||
491 | +\let\@listi\@listI | ||
492 | +\@listi | ||
493 | +\def\@listii {\leftmargin\leftmarginii | ||
494 | + \labelwidth\leftmarginii | ||
495 | + \advance\labelwidth-\labelsep | ||
496 | + \topsep 0\p@ \@plus2\p@ \@minus\p@} | ||
497 | +\def\@listiii{\leftmargin\leftmarginiii | ||
498 | + \labelwidth\leftmarginiii | ||
499 | + \advance\labelwidth-\labelsep | ||
500 | + \topsep 0\p@ \@plus\p@\@minus\p@ | ||
501 | + \parsep \z@ | ||
502 | + \partopsep \p@ \@plus\z@ \@minus\p@} | ||
503 | + | ||
504 | +\renewcommand\labelitemi{\normalfont\bfseries --} | ||
505 | +\renewcommand\labelitemii{$\m@th\bullet$} | ||
506 | + | ||
507 | +\setlength\arraycolsep{1.4\p@} | ||
508 | +\setlength\tabcolsep{1.4\p@} | ||
509 | + | ||
510 | +\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}% | ||
511 | + {{\contentsname}}} | ||
512 | + \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} | ||
513 | + \def\lastand{\ifnum\value{auco}=2\relax | ||
514 | + \unskip{} \andname\ | ||
515 | + \else | ||
516 | + \unskip \lastandname\ | ||
517 | + \fi}% | ||
518 | + \def\and{\stepcounter{@auth}\relax | ||
519 | + \ifnum\value{@auth}=\value{auco}% | ||
520 | + \lastand | ||
521 | + \else | ||
522 | + \unskip, | ||
523 | + \fi}% | ||
524 | + \@starttoc{toc}\if@restonecol\twocolumn\fi} | ||
525 | + | ||
526 | +\def\l@part#1#2{\addpenalty{\@secpenalty}% | ||
527 | + \addvspace{2em plus\p@}% % space above part line | ||
528 | + \begingroup | ||
529 | + \parindent \z@ | ||
530 | + \rightskip \z@ plus 5em | ||
531 | + \hrule\vskip5pt | ||
532 | + \large % same size as for a contribution heading | ||
533 | + \bfseries\boldmath % set line in boldface | ||
534 | + \leavevmode % TeX command to enter horizontal mode. | ||
535 | + #1\par | ||
536 | + \vskip5pt | ||
537 | + \hrule | ||
538 | + \vskip1pt | ||
539 | + \nobreak % Never break after part entry | ||
540 | + \endgroup} | ||
541 | + | ||
542 | +\def\@dotsep{2} | ||
543 | + | ||
544 | +\let\phantomsection=\relax | ||
545 | + | ||
546 | +\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else | ||
547 | +{}\fi} | ||
548 | + | ||
549 | +\def\addnumcontentsmark#1#2#3{% | ||
550 | +\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline | ||
551 | + {\thechapter}#3}{\thepage}\hyperhrefextend}}% | ||
552 | +\def\addcontentsmark#1#2#3{% | ||
553 | +\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}% | ||
554 | +\def\addcontentsmarkwop#1#2#3{% | ||
555 | +\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}% | ||
556 | + | ||
557 | +\def\@adcmk[#1]{\ifcase #1 \or | ||
558 | +\def\@gtempa{\addnumcontentsmark}% | ||
559 | + \or \def\@gtempa{\addcontentsmark}% | ||
560 | + \or \def\@gtempa{\addcontentsmarkwop}% | ||
561 | + \fi\@gtempa{toc}{chapter}% | ||
562 | +} | ||
563 | +\def\addtocmark{% | ||
564 | +\phantomsection | ||
565 | +\@ifnextchar[{\@adcmk}{\@adcmk[3]}% | ||
566 | +} | ||
567 | + | ||
568 | +\def\l@chapter#1#2{\addpenalty{-\@highpenalty} | ||
569 | + \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup | ||
570 | + \parindent \z@ \rightskip \@tocrmarg | ||
571 | + \advance\rightskip by 0pt plus 2cm | ||
572 | + \parfillskip -\rightskip \pretolerance=10000 | ||
573 | + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip | ||
574 | + {\large\bfseries\boldmath#1}\ifx0#2\hfil\null | ||
575 | + \else | ||
576 | + \nobreak | ||
577 | + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern | ||
578 | + \@dotsep mu$}\hfill | ||
579 | + \nobreak\hbox to\@pnumwidth{\hss #2}% | ||
580 | + \fi\par | ||
581 | + \penalty\@highpenalty \endgroup} | ||
582 | + | ||
583 | +\def\l@title#1#2{\addpenalty{-\@highpenalty} | ||
584 | + \addvspace{8pt plus 1pt} | ||
585 | + \@tempdima \z@ | ||
586 | + \begingroup | ||
587 | + \parindent \z@ \rightskip \@tocrmarg | ||
588 | + \advance\rightskip by 0pt plus 2cm | ||
589 | + \parfillskip -\rightskip \pretolerance=10000 | ||
590 | + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip | ||
591 | + #1\nobreak | ||
592 | + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern | ||
593 | + \@dotsep mu$}\hfill | ||
594 | + \nobreak\hbox to\@pnumwidth{\hss #2}\par | ||
595 | + \penalty\@highpenalty \endgroup} | ||
596 | + | ||
597 | +\def\l@author#1#2{\addpenalty{\@highpenalty} | ||
598 | + \@tempdima=15\p@ %\z@ | ||
599 | + \begingroup | ||
600 | + \parindent \z@ \rightskip \@tocrmarg | ||
601 | + \advance\rightskip by 0pt plus 2cm | ||
602 | + \pretolerance=10000 | ||
603 | + \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip | ||
604 | + \textit{#1}\par | ||
605 | + \penalty\@highpenalty \endgroup} | ||
606 | + | ||
607 | +\setcounter{tocdepth}{0} | ||
608 | +\newdimen\tocchpnum | ||
609 | +\newdimen\tocsecnum | ||
610 | +\newdimen\tocsectotal | ||
611 | +\newdimen\tocsubsecnum | ||
612 | +\newdimen\tocsubsectotal | ||
613 | +\newdimen\tocsubsubsecnum | ||
614 | +\newdimen\tocsubsubsectotal | ||
615 | +\newdimen\tocparanum | ||
616 | +\newdimen\tocparatotal | ||
617 | +\newdimen\tocsubparanum | ||
618 | +\tocchpnum=\z@ % no chapter numbers | ||
619 | +\tocsecnum=15\p@ % section 88. plus 2.222pt | ||
620 | +\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt | ||
621 | +\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt | ||
622 | +\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt | ||
623 | +\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt | ||
624 | +\def\calctocindent{% | ||
625 | +\tocsectotal=\tocchpnum | ||
626 | +\advance\tocsectotal by\tocsecnum | ||
627 | +\tocsubsectotal=\tocsectotal | ||
628 | +\advance\tocsubsectotal by\tocsubsecnum | ||
629 | +\tocsubsubsectotal=\tocsubsectotal | ||
630 | +\advance\tocsubsubsectotal by\tocsubsubsecnum | ||
631 | +\tocparatotal=\tocsubsubsectotal | ||
632 | +\advance\tocparatotal by\tocparanum} | ||
633 | +\calctocindent | ||
634 | + | ||
635 | +\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} | ||
636 | +\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} | ||
637 | +\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} | ||
638 | +\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} | ||
639 | +\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} | ||
640 | + | ||
641 | +\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn | ||
642 | + \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}} | ||
643 | + \@starttoc{lof}\if@restonecol\twocolumn\fi} | ||
644 | +\def\l@figure{\@dottedtocline{1}{0em}{1.5em}} | ||
645 | + | ||
646 | +\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn | ||
647 | + \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}} | ||
648 | + \@starttoc{lot}\if@restonecol\twocolumn\fi} | ||
649 | +\let\l@table\l@figure | ||
650 | + | ||
651 | +\renewcommand\listoffigures{% | ||
652 | + \section*{\listfigurename | ||
653 | + \@mkboth{\listfigurename}{\listfigurename}}% | ||
654 | + \@starttoc{lof}% | ||
655 | + } | ||
656 | + | ||
657 | +\renewcommand\listoftables{% | ||
658 | + \section*{\listtablename | ||
659 | + \@mkboth{\listtablename}{\listtablename}}% | ||
660 | + \@starttoc{lot}% | ||
661 | + } | ||
662 | + | ||
663 | +\ifx\oribibl\undefined | ||
664 | +\ifx\citeauthoryear\undefined | ||
665 | +\renewenvironment{thebibliography}[1] | ||
666 | + {\section*{\refname} | ||
667 | + \def\@biblabel##1{##1.} | ||
668 | + \small | ||
669 | + \list{\@biblabel{\@arabic\c@enumiv}}% | ||
670 | + {\settowidth\labelwidth{\@biblabel{#1}}% | ||
671 | + \leftmargin\labelwidth | ||
672 | + \advance\leftmargin\labelsep | ||
673 | + \if@openbib | ||
674 | + \advance\leftmargin\bibindent | ||
675 | + \itemindent -\bibindent | ||
676 | + \listparindent \itemindent | ||
677 | + \parsep \z@ | ||
678 | + \fi | ||
679 | + \usecounter{enumiv}% | ||
680 | + \let\p@enumiv\@empty | ||
681 | + \renewcommand\theenumiv{\@arabic\c@enumiv}}% | ||
682 | + \if@openbib | ||
683 | + \renewcommand\newblock{\par}% | ||
684 | + \else | ||
685 | + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% | ||
686 | + \fi | ||
687 | + \sloppy\clubpenalty4000\widowpenalty4000% | ||
688 | + \sfcode`\.=\@m} | ||
689 | + {\def\@noitemerr | ||
690 | + {\@latex@warning{Empty `thebibliography' environment}}% | ||
691 | + \endlist} | ||
692 | +\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw | ||
693 | + {\let\protect\noexpand\immediate | ||
694 | + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} | ||
695 | +\newcount\@tempcntc | ||
696 | +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi | ||
697 | + \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do | ||
698 | + {\@ifundefined | ||
699 | + {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries | ||
700 | + ?}\@warning | ||
701 | + {Citation `\@citeb' on page \thepage \space undefined}}% | ||
702 | + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% | ||
703 | + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne | ||
704 | + \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% | ||
705 | + \else | ||
706 | + \advance\@tempcntb\@ne | ||
707 | + \ifnum\@tempcntb=\@tempcntc | ||
708 | + \else\advance\@tempcntb\m@ne\@citeo | ||
709 | + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} | ||
710 | +\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else | ||
711 | + \@citea\def\@citea{,\,\hskip\z@skip}% | ||
712 | + \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else | ||
713 | + {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else | ||
714 | + \def\@citea{--}\fi | ||
715 | + \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} | ||
716 | +\else | ||
717 | +\renewenvironment{thebibliography}[1] | ||
718 | + {\section*{\refname} | ||
719 | + \small | ||
720 | + \list{}% | ||
721 | + {\settowidth\labelwidth{}% | ||
722 | + \leftmargin\parindent | ||
723 | + \itemindent=-\parindent | ||
724 | + \labelsep=\z@ | ||
725 | + \if@openbib | ||
726 | + \advance\leftmargin\bibindent | ||
727 | + \itemindent -\bibindent | ||
728 | + \listparindent \itemindent | ||
729 | + \parsep \z@ | ||
730 | + \fi | ||
731 | + \usecounter{enumiv}% | ||
732 | + \let\p@enumiv\@empty | ||
733 | + \renewcommand\theenumiv{}}% | ||
734 | + \if@openbib | ||
735 | + \renewcommand\newblock{\par}% | ||
736 | + \else | ||
737 | + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% | ||
738 | + \fi | ||
739 | + \sloppy\clubpenalty4000\widowpenalty4000% | ||
740 | + \sfcode`\.=\@m} | ||
741 | + {\def\@noitemerr | ||
742 | + {\@latex@warning{Empty `thebibliography' environment}}% | ||
743 | + \endlist} | ||
744 | + \def\@cite#1{#1}% | ||
745 | + \def\@lbibitem[#1]#2{\item[]\if@filesw | ||
746 | + {\def\protect##1{\string ##1\space}\immediate | ||
747 | + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} | ||
748 | + \fi | ||
749 | +\else | ||
750 | +\@cons\@openbib@code{\noexpand\small} | ||
751 | +\fi | ||
752 | + | ||
753 | +\def\idxquad{\hskip 10\p@}% space that divides entry from number | ||
754 | + | ||
755 | +\def\@idxitem{\par\hangindent 10\p@} | ||
756 | + | ||
757 | +\def\subitem{\par\setbox0=\hbox{--\enspace}% second order | ||
758 | + \noindent\hangindent\wd0\box0}% index entry | ||
759 | + | ||
760 | +\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third | ||
761 | + \noindent\hangindent\wd0\box0}% order index entry | ||
762 | + | ||
763 | +\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} | ||
764 | + | ||
765 | +\renewenvironment{theindex} | ||
766 | + {\@mkboth{\indexname}{\indexname}% | ||
767 | + \thispagestyle{empty}\parindent\z@ | ||
768 | + \parskip\z@ \@plus .3\p@\relax | ||
769 | + \let\item\par | ||
770 | + \def\,{\relax\ifmmode\mskip\thinmuskip | ||
771 | + \else\hskip0.2em\ignorespaces\fi}% | ||
772 | + \normalfont\small | ||
773 | + \begin{multicols}{2}[\@makeschapterhead{\indexname}]% | ||
774 | + } | ||
775 | + {\end{multicols}} | ||
776 | + | ||
777 | +\renewcommand\footnoterule{% | ||
778 | + \kern-3\p@ | ||
779 | + \hrule\@width 2truecm | ||
780 | + \kern2.6\p@} | ||
781 | + \newdimen\fnindent | ||
782 | + \fnindent1em | ||
783 | +\long\def\@makefntext#1{% | ||
784 | + \parindent \fnindent% | ||
785 | + \leftskip \fnindent% | ||
786 | + \noindent | ||
787 | + \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1} | ||
788 | + | ||
789 | +\long\def\@makecaption#1#2{% | ||
790 | + \small | ||
791 | + \vskip\abovecaptionskip | ||
792 | + \sbox\@tempboxa{{\bfseries #1.} #2}% | ||
793 | + \ifdim \wd\@tempboxa >\hsize | ||
794 | + {\bfseries #1.} #2\par | ||
795 | + \else | ||
796 | + \global \@minipagefalse | ||
797 | + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% | ||
798 | + \fi | ||
799 | + \vskip\belowcaptionskip} | ||
800 | + | ||
801 | +\def\fps@figure{htbp} | ||
802 | +\def\fnum@figure{\figurename\thinspace\thefigure} | ||
803 | +\def \@floatboxreset {% | ||
804 | + \reset@font | ||
805 | + \small | ||
806 | + \@setnobreak | ||
807 | + \@setminipage | ||
808 | +} | ||
809 | +\def\fps@table{htbp} | ||
810 | +\def\fnum@table{\tablename~\thetable} | ||
811 | +\renewenvironment{table} | ||
812 | + {\setlength\abovecaptionskip{0\p@}% | ||
813 | + \setlength\belowcaptionskip{10\p@}% | ||
814 | + \@float{table}} | ||
815 | + {\end@float} | ||
816 | +\renewenvironment{table*} | ||
817 | + {\setlength\abovecaptionskip{0\p@}% | ||
818 | + \setlength\belowcaptionskip{10\p@}% | ||
819 | + \@dblfloat{table}} | ||
820 | + {\end@dblfloat} | ||
821 | + | ||
822 | +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname | ||
823 | + ext@#1\endcsname}{#1}{\protect\numberline{\csname | ||
824 | + the#1\endcsname}{\ignorespaces #2}}\begingroup | ||
825 | + \@parboxrestore | ||
826 | + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par | ||
827 | + \endgroup} | ||
828 | + | ||
829 | +% LaTeX does not provide a command to enter the authors institute | ||
830 | +% addresses. The \institute command is defined here. | ||
831 | + | ||
832 | +\newcounter{@inst} | ||
833 | +\newcounter{@auth} | ||
834 | +\newcounter{auco} | ||
835 | +\newdimen\instindent | ||
836 | +\newbox\authrun | ||
837 | +\newtoks\authorrunning | ||
838 | +\newtoks\tocauthor | ||
839 | +\newbox\titrun | ||
840 | +\newtoks\titlerunning | ||
841 | +\newtoks\toctitle | ||
842 | + | ||
843 | +\def\clearheadinfo{\gdef\@author{No Author Given}% | ||
844 | + \gdef\@title{No Title Given}% | ||
845 | + \gdef\@subtitle{}% | ||
846 | + \gdef\@institute{No Institute Given}% | ||
847 | + \gdef\@thanks{}% | ||
848 | + \global\titlerunning={}\global\authorrunning={}% | ||
849 | + \global\toctitle={}\global\tocauthor={}} | ||
850 | + | ||
851 | +\def\institute#1{\gdef\@institute{#1}} | ||
852 | + | ||
853 | +\def\institutename{\par | ||
854 | + \begingroup | ||
855 | + \parskip=\z@ | ||
856 | + \parindent=\z@ | ||
857 | + \setcounter{@inst}{1}% | ||
858 | + \def\and{\par\stepcounter{@inst}% | ||
859 | + \noindent$^{\the@inst}$\enspace\ignorespaces}% | ||
860 | + \setbox0=\vbox{\def\thanks##1{}\@institute}% | ||
861 | + \ifnum\c@@inst=1\relax | ||
862 | + \gdef\fnnstart{0}% | ||
863 | + \else | ||
864 | + \xdef\fnnstart{\c@@inst}% | ||
865 | + \setcounter{@inst}{1}% | ||
866 | + \noindent$^{\the@inst}$\enspace | ||
867 | + \fi | ||
868 | + \ignorespaces | ||
869 | + \@institute\par | ||
870 | + \endgroup} | ||
871 | + | ||
872 | +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or | ||
873 | + {\star\star\star}\or \dagger\or \ddagger\or | ||
874 | + \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger | ||
875 | + \or \ddagger\ddagger \else\@ctrerr\fi}} | ||
876 | + | ||
877 | +\def\inst#1{\unskip$^{#1}$} | ||
878 | +\def\fnmsep{\unskip$^,$} | ||
879 | +\def\email#1{{\tt#1}} | ||
880 | +\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% | ||
881 | +\@ifpackageloaded{babel}{% | ||
882 | +\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% | ||
883 | +\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}% | ||
884 | +\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% | ||
885 | +\@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}% | ||
886 | +}{\switcht@@therlang}% | ||
887 | +\providecommand{\keywords}[1]{\par\addvspace\baselineskip | ||
888 | +\noindent\keywordname\enspace\ignorespaces#1}% | ||
889 | +} | ||
890 | +\def\homedir{\~{ }} | ||
891 | + | ||
892 | +\def\subtitle#1{\gdef\@subtitle{#1}} | ||
893 | +\clearheadinfo | ||
894 | +% | ||
895 | +%%% to avoid hyperref warnings | ||
896 | +\providecommand*{\toclevel@author}{999} | ||
897 | +%%% to make title-entry parent of section-entries | ||
898 | +\providecommand*{\toclevel@title}{0} | ||
899 | +% | ||
900 | +\renewcommand\maketitle{\newpage | ||
901 | +\phantomsection | ||
902 | + \refstepcounter{chapter}% | ||
903 | + \stepcounter{section}% | ||
904 | + \setcounter{section}{0}% | ||
905 | + \setcounter{subsection}{0}% | ||
906 | + \setcounter{figure}{0} | ||
907 | + \setcounter{table}{0} | ||
908 | + \setcounter{equation}{0} | ||
909 | + \setcounter{footnote}{0}% | ||
910 | + \begingroup | ||
911 | + \parindent=\z@ | ||
912 | + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% | ||
913 | + \if@twocolumn | ||
914 | + \ifnum \col@number=\@ne | ||
915 | + \@maketitle | ||
916 | + \else | ||
917 | + \twocolumn[\@maketitle]% | ||
918 | + \fi | ||
919 | + \else | ||
920 | + \newpage | ||
921 | + \global\@topnum\z@ % Prevents figures from going at top of page. | ||
922 | + \@maketitle | ||
923 | + \fi | ||
924 | + \thispagestyle{empty}\@thanks | ||
925 | +% | ||
926 | + \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% | ||
927 | + \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% | ||
928 | + \instindent=\hsize | ||
929 | + \advance\instindent by-\headlineindent | ||
930 | + \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else | ||
931 | + \addcontentsline{toc}{title}{\the\toctitle}\fi | ||
932 | + \if@runhead | ||
933 | + \if!\the\titlerunning!\else | ||
934 | + \edef\@title{\the\titlerunning}% | ||
935 | + \fi | ||
936 | + \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% | ||
937 | + \ifdim\wd\titrun>\instindent | ||
938 | + \typeout{Title too long for running head. Please supply}% | ||
939 | + \typeout{a shorter form with \string\titlerunning\space prior to | ||
940 | + \string\maketitle}% | ||
941 | + \global\setbox\titrun=\hbox{\small\rm | ||
942 | + Title Suppressed Due to Excessive Length}% | ||
943 | + \fi | ||
944 | + \xdef\@title{\copy\titrun}% | ||
945 | + \fi | ||
946 | +% | ||
947 | + \if!\the\tocauthor!\relax | ||
948 | + {\def\and{\noexpand\protect\noexpand\and}% | ||
949 | + \protected@xdef\toc@uthor{\@author}}% | ||
950 | + \else | ||
951 | + \def\\{\noexpand\protect\noexpand\newline}% | ||
952 | + \protected@xdef\scratch{\the\tocauthor}% | ||
953 | + \protected@xdef\toc@uthor{\scratch}% | ||
954 | + \fi | ||
955 | + \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}% | ||
956 | + \addcontentsline{toc}{author}{\toc@uthor}% | ||
957 | + \if@runhead | ||
958 | + \if!\the\authorrunning! | ||
959 | + \value{@inst}=\value{@auth}% | ||
960 | + \setcounter{@auth}{1}% | ||
961 | + \else | ||
962 | + \edef\@author{\the\authorrunning}% | ||
963 | + \fi | ||
964 | + \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% | ||
965 | + \ifdim\wd\authrun>\instindent | ||
966 | + \typeout{Names of authors too long for running head. Please supply}% | ||
967 | + \typeout{a shorter form with \string\authorrunning\space prior to | ||
968 | + \string\maketitle}% | ||
969 | + \global\setbox\authrun=\hbox{\small\rm | ||
970 | + Authors Suppressed Due to Excessive Length}% | ||
971 | + \fi | ||
972 | + \xdef\@author{\copy\authrun}% | ||
973 | + \markboth{\@author}{\@title}% | ||
974 | + \fi | ||
975 | + \endgroup | ||
976 | + \setcounter{footnote}{\fnnstart}% | ||
977 | + \clearheadinfo} | ||
978 | +% | ||
979 | +\def\@maketitle{\newpage | ||
980 | + \markboth{}{}% | ||
981 | + \def\lastand{\ifnum\value{@inst}=2\relax | ||
982 | + \unskip{} \andname\ | ||
983 | + \else | ||
984 | + \unskip \lastandname\ | ||
985 | + \fi}% | ||
986 | + \def\and{\stepcounter{@auth}\relax | ||
987 | + \ifnum\value{@auth}=\value{@inst}% | ||
988 | + \lastand | ||
989 | + \else | ||
990 | + \unskip, | ||
991 | + \fi}% | ||
992 | + \begin{center}% | ||
993 | + \let\newline\\ | ||
994 | + {\Large \bfseries\boldmath | ||
995 | + \pretolerance=10000 | ||
996 | + \@title \par}\vskip .8cm | ||
997 | +\if!\@subtitle!\else {\large \bfseries\boldmath | ||
998 | + \vskip -.65cm | ||
999 | + \pretolerance=10000 | ||
1000 | + \@subtitle \par}\vskip .8cm\fi | ||
1001 | + \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% | ||
1002 | + \def\thanks##1{}\@author}% | ||
1003 | + \global\value{@inst}=\value{@auth}% | ||
1004 | + \global\value{auco}=\value{@auth}% | ||
1005 | + \setcounter{@auth}{1}% | ||
1006 | +{\lineskip .5em | ||
1007 | +\noindent\ignorespaces | ||
1008 | +\@author\vskip.35cm} | ||
1009 | + {\small\institutename} | ||
1010 | + \end{center}% | ||
1011 | + } | ||
1012 | + | ||
1013 | +% definition of the "\spnewtheorem" command. | ||
1014 | +% | ||
1015 | +% Usage: | ||
1016 | +% | ||
1017 | +% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} | ||
1018 | +% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} | ||
1019 | +% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} | ||
1020 | +% | ||
1021 | +% New is "cap_font" and "body_font". It stands for | ||
1022 | +% fontdefinition of the caption and the text itself. | ||
1023 | +% | ||
1024 | +% "\spnewtheorem*" gives a theorem without number. | ||
1025 | +% | ||
1026 | +% A defined spnewthoerem environment is used as described | ||
1027 | +% by Lamport. | ||
1028 | +% | ||
1029 | +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
1030 | + | ||
1031 | +\def\@thmcountersep{} | ||
1032 | +\def\@thmcounterend{.} | ||
1033 | + | ||
1034 | +\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} | ||
1035 | + | ||
1036 | +% definition of \spnewtheorem with number | ||
1037 | + | ||
1038 | +\def\@spnthm#1#2{% | ||
1039 | + \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} | ||
1040 | +\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} | ||
1041 | + | ||
1042 | +\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname | ||
1043 | + {\@definecounter{#1}\@addtoreset{#1}{#3}% | ||
1044 | + \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand | ||
1045 | + \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% | ||
1046 | + \expandafter\xdef\csname #1name\endcsname{#2}% | ||
1047 | + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% | ||
1048 | + \global\@namedef{end#1}{\@endtheorem}}} | ||
1049 | + | ||
1050 | +\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname | ||
1051 | + {\@definecounter{#1}% | ||
1052 | + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% | ||
1053 | + \expandafter\xdef\csname #1name\endcsname{#2}% | ||
1054 | + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% | ||
1055 | + \global\@namedef{end#1}{\@endtheorem}}} | ||
1056 | + | ||
1057 | +\def\@spothm#1[#2]#3#4#5{% | ||
1058 | + \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% | ||
1059 | + {\expandafter\@ifdefinable\csname #1\endcsname | ||
1060 | + {\newaliascnt{#1}{#2}% | ||
1061 | + \expandafter\xdef\csname #1name\endcsname{#3}% | ||
1062 | + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% | ||
1063 | + \global\@namedef{end#1}{\@endtheorem}}}} | ||
1064 | + | ||
1065 | +\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ | ||
1066 | +\refstepcounter{#1}% | ||
1067 | +\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} | ||
1068 | + | ||
1069 | +\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% | ||
1070 | + \ignorespaces} | ||
1071 | + | ||
1072 | +\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname | ||
1073 | + the#1\endcsname}{#5}{#3}{#4}\ignorespaces} | ||
1074 | + | ||
1075 | +\def\@spbegintheorem#1#2#3#4{\trivlist | ||
1076 | + \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4} | ||
1077 | + | ||
1078 | +\def\@spopargbegintheorem#1#2#3#4#5{\trivlist | ||
1079 | + \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5} | ||
1080 | + | ||
1081 | +% definition of \spnewtheorem* without number | ||
1082 | + | ||
1083 | +\def\@sthm#1#2{\@Ynthm{#1}{#2}} | ||
1084 | + | ||
1085 | +\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname | ||
1086 | + {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% | ||
1087 | + \expandafter\xdef\csname #1name\endcsname{#2}% | ||
1088 | + \global\@namedef{end#1}{\@endtheorem}}} | ||
1089 | + | ||
1090 | +\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ | ||
1091 | +\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} | ||
1092 | + | ||
1093 | +\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} | ||
1094 | + | ||
1095 | +\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} | ||
1096 | + {#4}{#2}{#3}\ignorespaces} | ||
1097 | + | ||
1098 | +\def\@Begintheorem#1#2#3{#3\trivlist | ||
1099 | + \item[\hskip\labelsep{#2#1\@thmcounterend}]} | ||
1100 | + | ||
1101 | +\def\@Opargbegintheorem#1#2#3#4{#4\trivlist | ||
1102 | + \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} | ||
1103 | + | ||
1104 | +\if@envcntsect | ||
1105 | + \def\@thmcountersep{.} | ||
1106 | + \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape} | ||
1107 | +\else | ||
1108 | + \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} | ||
1109 | + \if@envcntreset | ||
1110 | + \@addtoreset{theorem}{section} | ||
1111 | + \else | ||
1112 | + \@addtoreset{theorem}{chapter} | ||
1113 | + \fi | ||
1114 | +\fi | ||
1115 | + | ||
1116 | +%definition of divers theorem environments | ||
1117 | +\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} | ||
1118 | +\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} | ||
1119 | +\if@envcntsame % alle Umgebungen wie Theorem. | ||
1120 | + \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} | ||
1121 | +\else % alle Umgebungen mit eigenem Zaehler | ||
1122 | + \if@envcntsect % mit section numeriert | ||
1123 | + \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}} | ||
1124 | + \else % nicht mit section numeriert | ||
1125 | + \if@envcntreset | ||
1126 | + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} | ||
1127 | + \@addtoreset{#1}{section}} | ||
1128 | + \else | ||
1129 | + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} | ||
1130 | + \@addtoreset{#1}{chapter}}% | ||
1131 | + \fi | ||
1132 | + \fi | ||
1133 | +\fi | ||
1134 | +\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} | ||
1135 | +\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} | ||
1136 | +\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} | ||
1137 | +\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} | ||
1138 | +\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} | ||
1139 | +\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily} | ||
1140 | +\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} | ||
1141 | +\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} | ||
1142 | +\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily} | ||
1143 | +\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} | ||
1144 | +\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} | ||
1145 | +\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} | ||
1146 | +\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily} | ||
1147 | +\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} | ||
1148 | + | ||
1149 | +\def\@takefromreset#1#2{% | ||
1150 | + \def\@tempa{#1}% | ||
1151 | + \let\@tempd\@elt | ||
1152 | + \def\@elt##1{% | ||
1153 | + \def\@tempb{##1}% | ||
1154 | + \ifx\@tempa\@tempb\else | ||
1155 | + \@addtoreset{##1}{#2}% | ||
1156 | + \fi}% | ||
1157 | + \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname | ||
1158 | + \expandafter\def\csname cl@#2\endcsname{}% | ||
1159 | + \@tempc | ||
1160 | + \let\@elt\@tempd} | ||
1161 | + | ||
1162 | +\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist | ||
1163 | + \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} | ||
1164 | + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist | ||
1165 | + \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }} | ||
1166 | + } | ||
1167 | + | ||
1168 | +\renewenvironment{abstract}{% | ||
1169 | + \list{}{\advance\topsep by0.35cm\relax\small | ||
1170 | + \leftmargin=1cm | ||
1171 | + \labelwidth=\z@ | ||
1172 | + \listparindent=\z@ | ||
1173 | + \itemindent\listparindent | ||
1174 | + \rightmargin\leftmargin}\item[\hskip\labelsep | ||
1175 | + \bfseries\abstractname]} | ||
1176 | + {\endlist} | ||
1177 | + | ||
1178 | +\newdimen\headlineindent % dimension for space between | ||
1179 | +\headlineindent=1.166cm % number and text of headings. | ||
1180 | + | ||
1181 | +\def\ps@headings{\let\@mkboth\@gobbletwo | ||
1182 | + \let\@oddfoot\@empty\let\@evenfoot\@empty | ||
1183 | + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% | ||
1184 | + \leftmark\hfil} | ||
1185 | + \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}% | ||
1186 | + \llap{\thepage}} | ||
1187 | + \def\chaptermark##1{}% | ||
1188 | + \def\sectionmark##1{}% | ||
1189 | + \def\subsectionmark##1{}} | ||
1190 | + | ||
1191 | +\def\ps@titlepage{\let\@mkboth\@gobbletwo | ||
1192 | + \let\@oddfoot\@empty\let\@evenfoot\@empty | ||
1193 | + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% | ||
1194 | + \hfil} | ||
1195 | + \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}% | ||
1196 | + \llap{\thepage}} | ||
1197 | + \def\chaptermark##1{}% | ||
1198 | + \def\sectionmark##1{}% | ||
1199 | + \def\subsectionmark##1{}} | ||
1200 | + | ||
1201 | +\if@runhead\ps@headings\else | ||
1202 | +\ps@empty\fi | ||
1203 | + | ||
1204 | +\setlength\arraycolsep{1.4\p@} | ||
1205 | +\setlength\tabcolsep{1.4\p@} | ||
1206 | + | ||
1207 | +\endinput | ||
1208 | +%end of file llncs.cls |
@@ -0,0 +1,42 @@ | @@ -0,0 +1,42 @@ | ||
1 | +% This is LLNCSDOC.STY the modification of the | ||
2 | +% LLNCS class file for the documentation of | ||
3 | +% the class itself. | ||
4 | +% | ||
5 | +\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}% | ||
6 | + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} | ||
7 | +\def\AmSTeX{{\protect\AmS-\protect\TeX}} | ||
8 | +% | ||
9 | +\def\ps@myheadings{\let\@mkboth\@gobbletwo | ||
10 | +\def\@oddhead{\hbox{}\hfil\small\rm\rightmark | ||
11 | +\qquad\thepage}% | ||
12 | +\def\@oddfoot{}\def\@evenhead{\small\rm\thepage\qquad | ||
13 | +\leftmark\hfil}% | ||
14 | +\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} | ||
15 | +\ps@myheadings | ||
16 | +% | ||
17 | +\setcounter{tocdepth}{2} | ||
18 | +% | ||
19 | +\renewcommand{\labelitemi}{--} | ||
20 | +\newenvironment{alpherate}% | ||
21 | +{\renewcommand{\labelenumi}{\alph{enumi})}\begin{enumerate}}% | ||
22 | +{\end{enumerate}\renewcommand{\labelenumi}{enumi}} | ||
23 | +% | ||
24 | +\def\bibauthoryear{\begingroup | ||
25 | +\def\thebibliography##1{\section*{References}% | ||
26 | + \small\list{}{\settowidth\labelwidth{}\leftmargin\parindent | ||
27 | + \itemindent=-\parindent | ||
28 | + \labelsep=\z@ | ||
29 | + \usecounter{enumi}}% | ||
30 | + \def\newblock{\hskip .11em plus .33em minus -.07em}% | ||
31 | + \sloppy | ||
32 | + \sfcode`\.=1000\relax}% | ||
33 | + \def\@cite##1{##1}% | ||
34 | + \def\@lbibitem[##1]##2{\item[]\if@filesw | ||
35 | + {\def\protect####1{\string ####1\space}\immediate | ||
36 | + \write\@auxout{\string\bibcite{##2}{##1}}}\fi\ignorespaces}% | ||
37 | +\begin{thebibliography}{} | ||
38 | +\bibitem[1982]{clar:eke3} Clarke, F., Ekeland, I.: Nonlinear | ||
39 | +oscillations and boundary-value problems for Hamiltonian systems. | ||
40 | +Arch. Rat. Mech. Anal. 78, 315--333 (1982) | ||
41 | +\end{thebibliography} | ||
42 | +\endgroup} |
@@ -0,0 +1,235 @@ | @@ -0,0 +1,235 @@ | ||
1 | +@article{anthopoulos2016egovernment, | ||
2 | + title={Why e-government projects fail? An analysis of the Healthcare. gov website}, | ||
3 | + author={Anthopoulos, Leonidas and Reddick, Christopher G and Giannakidou, Irene and Mavridis, Nikolaos}, | ||
4 | + journal={Government Information Quarterly}, | ||
5 | + volume={33}, | ||
6 | + pages={161--173}, | ||
7 | + year={2016}, | ||
8 | + publisher={Elsevier} | ||
9 | +} | ||
10 | + | ||
11 | +@inproceedings{sandberg2017iacollaboration, | ||
12 | + author = {Sandberg, Anna B\"{o}rjesson and Crnkovic, Ivica}, | ||
13 | + title = {Meeting Industry: Academia Research Collaboration Challenges with Agile Methodologies}, | ||
14 | + booktitle = {Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track}, | ||
15 | + series = {ICSE-SEIP '17}, | ||
16 | + year = {2017}, | ||
17 | + location = {Buenos Aires, Argentina}, | ||
18 | + pages = {73--82}, | ||
19 | + publisher = {IEEE Press}, | ||
20 | +} | ||
21 | + | ||
22 | + | ||
23 | +@article{goldfinch2007pessimism, | ||
24 | + author={Shaun Goldfinch}, | ||
25 | + journal={Public Administration Review}, | ||
26 | + pages={917-929}, | ||
27 | + publisher={[American Society for Public Administration, Wiley]}, | ||
28 | + title={Pessimism, Computer Failure, and Information Systems Development in the Public Sector}, | ||
29 | + volume={67}, | ||
30 | + year={2007} | ||
31 | +} | ||
32 | + | ||
33 | +@article{highsmith2001agileSoftwareDevelopment, | ||
34 | + title={Agile software development: The business of innovation}, | ||
35 | + author={Highsmith, Jim and Cockburn, Alistair}, | ||
36 | + journal={Computer}, | ||
37 | + volume={34}, | ||
38 | + pages={120--127}, | ||
39 | + year={2001}, | ||
40 | + publisher={IEEE} | ||
41 | +} | ||
42 | + | ||
43 | +@inproceedings{maurer2002onTheProductivityOfAgile, | ||
44 | + title={On the productivity of agile software practices: An industrial case study}, | ||
45 | + author={Maurer, Frank and Martel, Sebastien}, | ||
46 | + booktitle={Proceedings of the International Workshop on Global Software Development}, | ||
47 | + year={2002} | ||
48 | +} | ||
49 | + | ||
50 | +@article{mcilroy1968software, | ||
51 | + title={Software Engineering: Report on a conference sponsored by the NATO Science Committee}, | ||
52 | + author={McIlroy, MD}, | ||
53 | + year={1968}, | ||
54 | + publisher={NATO Scientific Affairs Division} | ||
55 | +} | ||
56 | + | ||
57 | +@inproceedings{nguyen2011anAnalysisOfTrends, | ||
58 | + title={An analysis of trends in productivity and cost drivers over years}, | ||
59 | + author={Nguyen, Vu and Huang, LiGuo and Boehm, Barry}, | ||
60 | + booktitle={Proceedings of the 7th International Conference on Predictive Models in Software Engineering}, | ||
61 | + pages={3}, | ||
62 | + year={2011}, | ||
63 | + organization={ACM} | ||
64 | +} | ||
65 | + | ||
66 | +@article{awad2005comparisonAgileTrad, | ||
67 | + title={A comparison between agile and traditional software development methodologies}, | ||
68 | + author={Awad, MA}, | ||
69 | + journal={University of Western Australia}, | ||
70 | + year={2005} | ||
71 | +} | ||
72 | + | ||
73 | +@article{fowler2001newMethod, | ||
74 | + title={The new methodology}, | ||
75 | + author={Fowler, Martin}, | ||
76 | + journal={Wuhan University Journal of Natural Sciences}, | ||
77 | + volume={6}, | ||
78 | + pages={12--24}, | ||
79 | + year={2001}, | ||
80 | + publisher={Springer} | ||
81 | +} | ||
82 | + | ||
83 | +@article{cockburn2001peopleFactor, | ||
84 | + title={Agile software development, the people factor}, | ||
85 | + author={Cockburn, Alistair and Highsmith, Jim}, | ||
86 | + journal={Computer}, | ||
87 | + volume={34}, | ||
88 | + pages={131--133}, | ||
89 | + year={2001}, | ||
90 | + publisher={IEEE} | ||
91 | +} | ||
92 | + | ||
93 | +@book{highsmith2002agileEco, | ||
94 | + title={Agile software development ecosystems}, | ||
95 | + author={Highsmith, James A}, | ||
96 | + volume={13}, | ||
97 | + year={2002}, | ||
98 | + publisher={Addison-Wesley Professional} | ||
99 | +} | ||
100 | + | ||
101 | +@article{nerur2015challenges, | ||
102 | + author = {Nerur, Sridhar and Mahapatra, RadhaKanta and Mangalaraj, George}, | ||
103 | + title = {Challenges of Migrating to Agile Methodologies}, | ||
104 | + journal = {Commun. ACM}, | ||
105 | + volume = {48}, | ||
106 | + number = {5}, | ||
107 | + year = {2005}, | ||
108 | + pages = {72--78}, | ||
109 | + publisher = {ACM}, | ||
110 | +} | ||
111 | + | ||
112 | +@inproceedings{meirelles2017spb, | ||
113 | + author = {Meirelles, Paulo and Wen, Melissa and Terceiro, Antonio and Siqueira, Rodrigo and Kanashiro, Lucas and Neri, Hilmer}, | ||
114 | + title = {Brazilian Public Software Portal: An Integrated Platform for Collaborative Development}, | ||
115 | + booktitle = {Proceedings of the 13th International Symposium on Open Collaboration}, | ||
116 | + series = {OpenSym '17}, | ||
117 | + year = {2017}, | ||
118 | + location = {Galway, Ireland}, | ||
119 | + pages = {16:1--16:10}, | ||
120 | + publisher = {ACM}, | ||
121 | + keywords = {Free Software, Management Team, Software Integration} | ||
122 | +} | ||
123 | + | ||
124 | +@inproceedings{impactOfOrganizationalCulture, | ||
125 | + title={The impact of organizational culture on agile method use}, | ||
126 | + author={Strode, Diane E and Huff, Sid L and Tretiakov, Alexei}, | ||
127 | + booktitle={System Sciences, 2009. HICSS'09. 42nd Hawaii International Conference on}, | ||
128 | + pages={1--9}, | ||
129 | + year={2009}, | ||
130 | + organization={IEEE} | ||
131 | +} | ||
132 | + | ||
133 | +@article{dybaa2008empirical, | ||
134 | + title={Empirical studies of agile software development: A systematic review}, | ||
135 | + author={Dyb{\aa}, Tore and Dings{\o}yr, Torgeir}, | ||
136 | + journal={Information and software technology}, | ||
137 | + volume={50}, | ||
138 | + pages={833--859}, | ||
139 | + year={2008}, | ||
140 | + publisher={Elsevier} | ||
141 | +} | ||
142 | + | ||
143 | +@inproceedings{melo2013agileBr, | ||
144 | + author = {Melo, Claudia and Santos, Viviane and Katayama, Eduardo and Corbucci, Hugo and Prikladnicki, Rafael and Goldman, Alfredo and Kon, Fabio}, | ||
145 | + year = {2013}, | ||
146 | + title = {The evolution of agile software development in Brazil}, | ||
147 | + volume = {19}, | ||
148 | + booktitle = {Journal of the Brazilian Computer Society} | ||
149 | +} | ||
150 | + | ||
151 | +@inproceedings{alleman2003making, | ||
152 | + title={Making agile development work in a government contracting environment-measuring velocity with earned value}, | ||
153 | + author={Alleman, Glen B and Henderson, Michael and Seggelke, Ray}, | ||
154 | + booktitle={Agile Development Conference, 2003. ADC 2003. Proceedings of the}, | ||
155 | + pages={114--119}, | ||
156 | + year={2003}, | ||
157 | + organization={IEEE} | ||
158 | +} | ||
159 | + | ||
160 | +@inproceedings{anderson2005stretching, | ||
161 | + title={Stretching agile to fit CMMI level 3-the story of creating MSF for CMMI/spl reg/process improvement at Microsoft corporation}, | ||
162 | + author={Anderson, David J}, | ||
163 | + booktitle={Agile Conference, 2005. Proceedings}, | ||
164 | + pages={193--201}, | ||
165 | + year={2005}, | ||
166 | + organization={IEEE} | ||
167 | +} | ||
168 | + | ||
169 | +@article{cho2011gap, | ||
170 | + author = {Chookittikul, Wajee and Kourik, Janet and E. Maher, Peter}, | ||
171 | + year = {2011}, | ||
172 | + pages = {239-244}, | ||
173 | + title = {Reducing the Gap between Academia and Industry: The Case for Agile Methods in Thailand}, | ||
174 | + booktitle = {Proceedings of the 2011 Eighth International Conference on Information Technology: New Generations} | ||
175 | +} | ||
176 | + | ||
177 | +@ARTICLE{siqueira2018cd, | ||
178 | +author={R. Siqueira and D. Camarinha and M. Wen and P. Meirelles and F. Kon}, | ||
179 | +journal={IEEE Software}, | ||
180 | +title={Continuous Delivery: Building Trust in a Large-scale, Complex Government Organization}, | ||
181 | +year={2018}, | ||
182 | +volume={PP}, | ||
183 | +number={99}, | ||
184 | +pages={1-1}, | ||
185 | +keywords={Buildings;Computer science;Government;Object recognition;Pipelines;Portals;Software;applications;computing methodologies;government;pattern recognition;soft;software;software engineering;software engineering software;software release management and delivery configuration management}, | ||
186 | +doi={10.1109/MS.2018.111095426}, | ||
187 | +ISSN={0740-7459}, | ||
188 | +month={},} | ||
189 | + | ||
190 | +@inproceedings{capiluppi, | ||
191 | + title={Characteristics of open source projects}, | ||
192 | + author={Capiluppi, Andrea and Lago, Patricia and Morisio, Maurizio}, | ||
193 | + booktitle={Software Maintenance and Reengineering, 2003. Proceedings. Seventh European Conference on}, | ||
194 | + pages={317--327}, | ||
195 | + year={2003}, | ||
196 | + organization={IEEE} | ||
197 | +} | ||
198 | + | ||
199 | +@inproceedings{warsta, | ||
200 | + title={Is open source software development essentially an agile method}, | ||
201 | + author={Warsta, Juhani and Abrahamsson, Pekka}, | ||
202 | + booktitle={Proceedings of the 3rd Workshop on Open Source Software Engineering}, | ||
203 | + pages={143--147}, | ||
204 | + year={2003} | ||
205 | +} | ||
206 | + | ||
207 | +@article{beck, | ||
208 | + title={Manifesto for Agile Software Development. Agile Alliance (2001)}, | ||
209 | + author={Beck, Kent and Beedle, M and Bennekum, A and others}, | ||
210 | + journal={Retrieved June}, | ||
211 | + volume={14}, | ||
212 | + year={2010} | ||
213 | +} | ||
214 | + | ||
215 | +@article{raymond, | ||
216 | + title={The cathedral and the bazaar}, | ||
217 | + author={Raymond, Eric}, | ||
218 | + journal={Philosophy \& Technology}, | ||
219 | + volume={12}, | ||
220 | + number={3}, | ||
221 | + pages={23}, | ||
222 | + year={1999}, | ||
223 | + publisher={Springer} | ||
224 | +} | ||
225 | + | ||
226 | +@incollection{booch2003, | ||
227 | +title = "Collaborative Development Environments", | ||
228 | +series = "Advances in Computers", | ||
229 | +publisher = "Elsevier", | ||
230 | +volume = "59", | ||
231 | +pages = "1 - 27", | ||
232 | +year = "2003", | ||
233 | +issn = "0065-2458", | ||
234 | +author = "Grady Booch and Alan W. Brown" | ||
235 | +} |
@@ -0,0 +1,50 @@ | @@ -0,0 +1,50 @@ | ||
1 | + | ||
2 | +\documentclass{llncs} | ||
3 | +\usepackage[table,xcdraw]{xcolor} | ||
4 | +\usepackage{llncsdoc} | ||
5 | +\usepackage{graphicx,url} | ||
6 | +\usepackage[utf8]{inputenc} | ||
7 | +\usepackage{float} | ||
8 | +\usepackage{setspace} | ||
9 | +\usepackage{hyphenat} | ||
10 | +\usepackage{tabularx} | ||
11 | +\usepackage{cite} | ||
12 | +\usepackage{hyperref} | ||
13 | +\usepackage{comment} | ||
14 | +\usepackage{todonotes} | ||
15 | +\usepackage{colortbl} | ||
16 | +%------------------------------------------------------------------------------ | ||
17 | + | ||
18 | +\begin{document} | ||
19 | +\sloppy | ||
20 | +\title{FLOSS Project Management in Government-Academia Collaboration} | ||
21 | +%\subtitle{A three-year empirical study from the evolution of an open source government platform} | ||
22 | + | ||
23 | +\titlerunning{OSS in Gov-Academia Collab} | ||
24 | + | ||
25 | +\author{Melissa Wen\inst{1}, Paulo Meirelles\inst{1,2}, Rodrigo Siqueira\inst{1}, Fabio Kon\inst{1}} | ||
26 | + | ||
27 | +\authorrunning{Wen et al.} | ||
28 | + | ||
29 | +\institute{FLOSS Competence Center -- University of S\~ao Paulo \\ | ||
30 | + \texttt{\{wen,siqueira,fabio.kon\}@ime.usp.br} | ||
31 | +\and UnB Faculty in Gama -- University of Bras\'ilia\\ | ||
32 | + \texttt{paulormm@unb.br} | ||
33 | +} | ||
34 | + | ||
35 | +\maketitle | ||
36 | + | ||
37 | +%------------------------------------------------------------------------------ | ||
38 | + | ||
39 | +\input{content/00-abstract} | ||
40 | +\input{content/01-introduction} | ||
41 | +\input{content/02-relatedwork} | ||
42 | +\input{content/03-methods} | ||
43 | +\input{content/04-results} | ||
44 | +\input{content/05-discussion} | ||
45 | +\input{content/06-conclusion} | ||
46 | + | ||
47 | +\bibliographystyle{splncs03} | ||
48 | +\bibliography{spb-oss-2018} | ||
49 | + | ||
50 | +\end{document} |
@@ -0,0 +1,1519 @@ | @@ -0,0 +1,1519 @@ | ||
1 | +%% BibTeX bibliography style `splncs03' | ||
2 | +%% | ||
3 | +%% BibTeX bibliography style for use with numbered references in | ||
4 | +%% Springer Verlag's "Lecture Notes in Computer Science" series. | ||
5 | +%% (See Springer's documentation for llncs.cls for | ||
6 | +%% more details of the suggested reference format.) Note that this | ||
7 | +%% file will not work for author-year style citations. | ||
8 | +%% | ||
9 | +%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite | ||
10 | +%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text. | ||
11 | +%% | ||
12 | +%% This file comes to you courtesy of Maurizio "Titto" Patrignani of | ||
13 | +%% Dipartimento di Informatica e Automazione Universita' Roma Tre | ||
14 | +%% | ||
15 | +%% ================================================================================================ | ||
16 | +%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009 | ||
17 | +%% Edited by hand by titto based on `titto-lncs-01.bst' (see below) | ||
18 | +%% | ||
19 | +%% CHANGES (with respect to titto-lncs-01.bst): | ||
20 | +%% - Removed the call to \urlprefix (thus no "URL" string is added to the output) | ||
21 | +%% ================================================================================================ | ||
22 | +%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008 | ||
23 | +%% Edited by hand by titto based on `titto.bst' (see below) | ||
24 | +%% | ||
25 | +%% CHANGES (with respect to titto.bst): | ||
26 | +%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)" | ||
27 | +%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.") | ||
28 | +%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings | ||
29 | +%% - Commented all new.block commands before urls and notes (to separate them with a comma) | ||
30 | +%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label) | ||
31 | +%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle) | ||
32 | +%% - Removed a \newblock to avoid long spaces between title and "In: ..." | ||
33 | +%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label | ||
34 | +%% ================================================================================================ | ||
35 | +%% This was file `titto.bst', | ||
36 | +%% generated with the docstrip utility. | ||
37 | +%% | ||
38 | +%% The original source files were: | ||
39 | +%% | ||
40 | +%% merlin.mbs (with options: `vonx,nm-rvvc,yr-par,jttl-rm,volp-com,jwdpg,jwdvol,numser,ser-vol,jnm-x,btit-rm,bt-rm,edparxc,bkedcap,au-col,in-col,fin-bare,pp,ed,abr,mth-bare,xedn,jabr,and-com,and-com-ed,xand,url,url-blk,em-x,nfss,') | ||
41 | +%% ---------------------------------------- | ||
42 | +%% *** Tentative .bst file for Springer LNCS *** | ||
43 | +%% | ||
44 | +%% Copyright 1994-2007 Patrick W Daly | ||
45 | + % =============================================================== | ||
46 | + % IMPORTANT NOTICE: | ||
47 | + % This bibliographic style (bst) file has been generated from one or | ||
48 | + % more master bibliographic style (mbs) files, listed above. | ||
49 | + % | ||
50 | + % This generated file can be redistributed and/or modified under the terms | ||
51 | + % of the LaTeX Project Public License Distributed from CTAN | ||
52 | + % archives in directory macros/latex/base/lppl.txt; either | ||
53 | + % version 1 of the License, or any later version. | ||
54 | + % =============================================================== | ||
55 | + % Name and version information of the main mbs file: | ||
56 | + % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)] | ||
57 | + % For use with BibTeX version 0.99a or later | ||
58 | + %------------------------------------------------------------------- | ||
59 | + % This bibliography style file is intended for texts in ENGLISH | ||
60 | + % This is a numerical citation style, and as such is standard LaTeX. | ||
61 | + % It requires no extra package to interface to the main text. | ||
62 | + % The form of the \bibitem entries is | ||
63 | + % \bibitem{key}... | ||
64 | + % Usage of \cite is as follows: | ||
65 | + % \cite{key} ==>> [#] | ||
66 | + % \cite[chap. 2]{key} ==>> [#, chap. 2] | ||
67 | + % where # is a number determined by the ordering in the reference list. | ||
68 | + % The order in the reference list is alphabetical by authors. | ||
69 | + %--------------------------------------------------------------------- | ||
70 | + | ||
71 | +ENTRY | ||
72 | + { address | ||
73 | + author | ||
74 | + booktitle | ||
75 | + chapter | ||
76 | + edition | ||
77 | + editor | ||
78 | + eid | ||
79 | + howpublished | ||
80 | + institution | ||
81 | + journal | ||
82 | + key | ||
83 | + month | ||
84 | + note | ||
85 | + number | ||
86 | + organization | ||
87 | + pages | ||
88 | + publisher | ||
89 | + school | ||
90 | + series | ||
91 | + title | ||
92 | + type | ||
93 | + url | ||
94 | + volume | ||
95 | + year | ||
96 | + } | ||
97 | + {} | ||
98 | + { label } | ||
99 | +INTEGERS { output.state before.all mid.sentence after.sentence after.block } | ||
100 | +FUNCTION {init.state.consts} | ||
101 | +{ #0 'before.all := | ||
102 | + #1 'mid.sentence := | ||
103 | + #2 'after.sentence := | ||
104 | + #3 'after.block := | ||
105 | +} | ||
106 | +STRINGS { s t} | ||
107 | +FUNCTION {output.nonnull} | ||
108 | +{ 's := | ||
109 | + output.state mid.sentence = | ||
110 | + { ", " * write$ } | ||
111 | + { output.state after.block = | ||
112 | + { add.period$ write$ | ||
113 | +% newline$ | ||
114 | +% "\newblock " write$ % removed for titto-lncs-01 | ||
115 | + " " write$ % to avoid long spaces between title and "In: ..." | ||
116 | + } | ||
117 | + { output.state before.all = | ||
118 | + 'write$ | ||
119 | + { add.period$ " " * write$ } | ||
120 | + if$ | ||
121 | + } | ||
122 | + if$ | ||
123 | + mid.sentence 'output.state := | ||
124 | + } | ||
125 | + if$ | ||
126 | + s | ||
127 | +} | ||
128 | +FUNCTION {output} | ||
129 | +{ duplicate$ empty$ | ||
130 | + 'pop$ | ||
131 | + 'output.nonnull | ||
132 | + if$ | ||
133 | +} | ||
134 | +FUNCTION {output.check} | ||
135 | +{ 't := | ||
136 | + duplicate$ empty$ | ||
137 | + { pop$ "empty " t * " in " * cite$ * warning$ } | ||
138 | + 'output.nonnull | ||
139 | + if$ | ||
140 | +} | ||
141 | +FUNCTION {fin.entry} | ||
142 | +{ duplicate$ empty$ | ||
143 | + 'pop$ | ||
144 | + 'write$ | ||
145 | + if$ | ||
146 | + newline$ | ||
147 | +} | ||
148 | + | ||
149 | +FUNCTION {new.block} | ||
150 | +{ output.state before.all = | ||
151 | + 'skip$ | ||
152 | + { after.block 'output.state := } | ||
153 | + if$ | ||
154 | +} | ||
155 | +FUNCTION {new.sentence} | ||
156 | +{ output.state after.block = | ||
157 | + 'skip$ | ||
158 | + { output.state before.all = | ||
159 | + 'skip$ | ||
160 | + { after.sentence 'output.state := } | ||
161 | + if$ | ||
162 | + } | ||
163 | + if$ | ||
164 | +} | ||
165 | +FUNCTION {add.blank} | ||
166 | +{ " " * before.all 'output.state := | ||
167 | +} | ||
168 | + | ||
169 | + | ||
170 | +FUNCTION {add.colon} | ||
171 | +{ duplicate$ empty$ | ||
172 | + 'skip$ | ||
173 | + { ":" * add.blank } | ||
174 | + if$ | ||
175 | +} | ||
176 | + | ||
177 | +FUNCTION {date.block} | ||
178 | +{ | ||
179 | + new.block | ||
180 | +} | ||
181 | + | ||
182 | +FUNCTION {not} | ||
183 | +{ { #0 } | ||
184 | + { #1 } | ||
185 | + if$ | ||
186 | +} | ||
187 | +FUNCTION {and} | ||
188 | +{ 'skip$ | ||
189 | + { pop$ #0 } | ||
190 | + if$ | ||
191 | +} | ||
192 | +FUNCTION {or} | ||
193 | +{ { pop$ #1 } | ||
194 | + 'skip$ | ||
195 | + if$ | ||
196 | +} | ||
197 | +STRINGS {z} | ||
198 | +FUNCTION {remove.dots} | ||
199 | +{ 'z := | ||
200 | + "" | ||
201 | + { z empty$ not } | ||
202 | + { z #1 #1 substring$ | ||
203 | + z #2 global.max$ substring$ 'z := | ||
204 | + duplicate$ "." = 'pop$ | ||
205 | + { * } | ||
206 | + if$ | ||
207 | + } | ||
208 | + while$ | ||
209 | +} | ||
210 | +FUNCTION {new.block.checka} | ||
211 | +{ empty$ | ||
212 | + 'skip$ | ||
213 | + 'new.block | ||
214 | + if$ | ||
215 | +} | ||
216 | +FUNCTION {new.block.checkb} | ||
217 | +{ empty$ | ||
218 | + swap$ empty$ | ||
219 | + and | ||
220 | + 'skip$ | ||
221 | + 'new.block | ||
222 | + if$ | ||
223 | +} | ||
224 | +FUNCTION {new.sentence.checka} | ||
225 | +{ empty$ | ||
226 | + 'skip$ | ||
227 | + 'new.sentence | ||
228 | + if$ | ||
229 | +} | ||
230 | +FUNCTION {new.sentence.checkb} | ||
231 | +{ empty$ | ||
232 | + swap$ empty$ | ||
233 | + and | ||
234 | + 'skip$ | ||
235 | + 'new.sentence | ||
236 | + if$ | ||
237 | +} | ||
238 | +FUNCTION {field.or.null} | ||
239 | +{ duplicate$ empty$ | ||
240 | + { pop$ "" } | ||
241 | + 'skip$ | ||
242 | + if$ | ||
243 | +} | ||
244 | +FUNCTION {emphasize} | ||
245 | +{ skip$ } | ||
246 | +FUNCTION {tie.or.space.prefix} | ||
247 | +{ duplicate$ text.length$ #3 < | ||
248 | + { "~" } | ||
249 | + { " " } | ||
250 | + if$ | ||
251 | + swap$ | ||
252 | +} | ||
253 | +FUNCTION {titto.space.prefix} % always introduce a space | ||
254 | +{ duplicate$ text.length$ #3 < | ||
255 | + { " " } | ||
256 | + { " " } | ||
257 | + if$ | ||
258 | + swap$ | ||
259 | +} | ||
260 | + | ||
261 | + | ||
262 | +FUNCTION {capitalize} | ||
263 | +{ "u" change.case$ "t" change.case$ } | ||
264 | + | ||
265 | +FUNCTION {space.word} | ||
266 | +{ " " swap$ * " " * } | ||
267 | + % Here are the language-specific definitions for explicit words. | ||
268 | + % Each function has a name bbl.xxx where xxx is the English word. | ||
269 | + % The language selected here is ENGLISH | ||
270 | +FUNCTION {bbl.and} | ||
271 | +{ "and"} | ||
272 | + | ||
273 | +FUNCTION {bbl.etal} | ||
274 | +{ "et~al." } | ||
275 | + | ||
276 | +FUNCTION {bbl.editors} | ||
277 | +{ "eds." } | ||
278 | + | ||
279 | +FUNCTION {bbl.editor} | ||
280 | +{ "ed." } | ||
281 | + | ||
282 | +FUNCTION {bbl.edby} | ||
283 | +{ "edited by" } | ||
284 | + | ||
285 | +FUNCTION {bbl.edition} | ||
286 | +{ "edn." } | ||
287 | + | ||
288 | +FUNCTION {bbl.volume} | ||
289 | +{ "vol." } | ||
290 | + | ||
291 | +FUNCTION {titto.bbl.volume} % for handling journals | ||
292 | +{ "" } | ||
293 | + | ||
294 | +FUNCTION {bbl.of} | ||
295 | +{ "of" } | ||
296 | + | ||
297 | +FUNCTION {bbl.number} | ||
298 | +{ "no." } | ||
299 | + | ||
300 | +FUNCTION {bbl.nr} | ||
301 | +{ "no." } | ||
302 | + | ||
303 | +FUNCTION {bbl.in} | ||
304 | +{ "in" } | ||
305 | + | ||
306 | +FUNCTION {bbl.pages} | ||
307 | +{ "pp." } | ||
308 | + | ||
309 | +FUNCTION {bbl.page} | ||
310 | +{ "p." } | ||
311 | + | ||
312 | +FUNCTION {titto.bbl.pages} % for journals | ||
313 | +{ "" } | ||
314 | + | ||
315 | +FUNCTION {titto.bbl.page} % for journals | ||
316 | +{ "" } | ||
317 | + | ||
318 | +FUNCTION {bbl.chapter} | ||
319 | +{ "chap." } | ||
320 | + | ||
321 | +FUNCTION {bbl.techrep} | ||
322 | +{ "Tech. Rep." } | ||
323 | + | ||
324 | +FUNCTION {bbl.mthesis} | ||
325 | +{ "Master's thesis" } | ||
326 | + | ||
327 | +FUNCTION {bbl.phdthesis} | ||
328 | +{ "Ph.D. thesis" } | ||
329 | + | ||
330 | +MACRO {jan} {"Jan."} | ||
331 | + | ||
332 | +MACRO {feb} {"Feb."} | ||
333 | + | ||
334 | +MACRO {mar} {"Mar."} | ||
335 | + | ||
336 | +MACRO {apr} {"Apr."} | ||
337 | + | ||
338 | +MACRO {may} {"May"} | ||
339 | + | ||
340 | +MACRO {jun} {"Jun."} | ||
341 | + | ||
342 | +MACRO {jul} {"Jul."} | ||
343 | + | ||
344 | +MACRO {aug} {"Aug."} | ||
345 | + | ||
346 | +MACRO {sep} {"Sep."} | ||
347 | + | ||
348 | +MACRO {oct} {"Oct."} | ||
349 | + | ||
350 | +MACRO {nov} {"Nov."} | ||
351 | + | ||
352 | +MACRO {dec} {"Dec."} | ||
353 | + | ||
354 | +MACRO {acmcs} {"ACM Comput. Surv."} | ||
355 | + | ||
356 | +MACRO {acta} {"Acta Inf."} | ||
357 | + | ||
358 | +MACRO {cacm} {"Commun. ACM"} | ||
359 | + | ||
360 | +MACRO {ibmjrd} {"IBM J. Res. Dev."} | ||
361 | + | ||
362 | +MACRO {ibmsj} {"IBM Syst.~J."} | ||
363 | + | ||
364 | +MACRO {ieeese} {"IEEE Trans. Software Eng."} | ||
365 | + | ||
366 | +MACRO {ieeetc} {"IEEE Trans. Comput."} | ||
367 | + | ||
368 | +MACRO {ieeetcad} | ||
369 | + {"IEEE Trans. Comput. Aid. Des."} | ||
370 | + | ||
371 | +MACRO {ipl} {"Inf. Process. Lett."} | ||
372 | + | ||
373 | +MACRO {jacm} {"J.~ACM"} | ||
374 | + | ||
375 | +MACRO {jcss} {"J.~Comput. Syst. Sci."} | ||
376 | + | ||
377 | +MACRO {scp} {"Sci. Comput. Program."} | ||
378 | + | ||
379 | +MACRO {sicomp} {"SIAM J. Comput."} | ||
380 | + | ||
381 | +MACRO {tocs} {"ACM Trans. Comput. Syst."} | ||
382 | + | ||
383 | +MACRO {tods} {"ACM Trans. Database Syst."} | ||
384 | + | ||
385 | +MACRO {tog} {"ACM Trans. Graphic."} | ||
386 | + | ||
387 | +MACRO {toms} {"ACM Trans. Math. Software"} | ||
388 | + | ||
389 | +MACRO {toois} {"ACM Trans. Office Inf. Syst."} | ||
390 | + | ||
391 | +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} | ||
392 | + | ||
393 | +MACRO {tcs} {"Theor. Comput. Sci."} | ||
394 | + | ||
395 | +FUNCTION {bibinfo.check} | ||
396 | +{ swap$ | ||
397 | + duplicate$ missing$ | ||
398 | + { | ||
399 | + pop$ pop$ | ||
400 | + "" | ||
401 | + } | ||
402 | + { duplicate$ empty$ | ||
403 | + { | ||
404 | + swap$ pop$ | ||
405 | + } | ||
406 | + { swap$ | ||
407 | + pop$ | ||
408 | + } | ||
409 | + if$ | ||
410 | + } | ||
411 | + if$ | ||
412 | +} | ||
413 | +FUNCTION {bibinfo.warn} | ||
414 | +{ swap$ | ||
415 | + duplicate$ missing$ | ||
416 | + { | ||
417 | + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ | ||
418 | + "" | ||
419 | + } | ||
420 | + { duplicate$ empty$ | ||
421 | + { | ||
422 | + swap$ "empty " swap$ * " in " * cite$ * warning$ | ||
423 | + } | ||
424 | + { swap$ | ||
425 | + pop$ | ||
426 | + } | ||
427 | + if$ | ||
428 | + } | ||
429 | + if$ | ||
430 | +} | ||
431 | +FUNCTION {format.url} | ||
432 | +{ url empty$ | ||
433 | + { "" } | ||
434 | +% { "\urlprefix\url{" url * "}" * } | ||
435 | + { "\url{" url * "}" * } % changed in titto-lncs-02.bst | ||
436 | + if$ | ||
437 | +} | ||
438 | + | ||
439 | +INTEGERS { nameptr namesleft numnames } | ||
440 | + | ||
441 | + | ||
442 | +STRINGS { bibinfo} | ||
443 | + | ||
444 | +FUNCTION {format.names} | ||
445 | +{ 'bibinfo := | ||
446 | + duplicate$ empty$ 'skip$ { | ||
447 | + 's := | ||
448 | + "" 't := | ||
449 | + #1 'nameptr := | ||
450 | + s num.names$ 'numnames := | ||
451 | + numnames 'namesleft := | ||
452 | + { namesleft #0 > } | ||
453 | + { s nameptr | ||
454 | + "{vv~}{ll}{, jj}{, f{.}.}" | ||
455 | + format.name$ | ||
456 | + bibinfo bibinfo.check | ||
457 | + 't := | ||
458 | + nameptr #1 > | ||
459 | + { | ||
460 | + namesleft #1 > | ||
461 | + { ", " * t * } | ||
462 | + { | ||
463 | + s nameptr "{ll}" format.name$ duplicate$ "others" = | ||
464 | + { 't := } | ||
465 | + { pop$ } | ||
466 | + if$ | ||
467 | + "," * | ||
468 | + t "others" = | ||
469 | + { | ||
470 | + " " * bbl.etal * | ||
471 | + } | ||
472 | + { " " * t * } | ||
473 | + if$ | ||
474 | + } | ||
475 | + if$ | ||
476 | + } | ||
477 | + 't | ||
478 | + if$ | ||
479 | + nameptr #1 + 'nameptr := | ||
480 | + namesleft #1 - 'namesleft := | ||
481 | + } | ||
482 | + while$ | ||
483 | + } if$ | ||
484 | +} | ||
485 | +FUNCTION {format.names.ed} | ||
486 | +{ | ||
487 | + 'bibinfo := | ||
488 | + duplicate$ empty$ 'skip$ { | ||
489 | + 's := | ||
490 | + "" 't := | ||
491 | + #1 'nameptr := | ||
492 | + s num.names$ 'numnames := | ||
493 | + numnames 'namesleft := | ||
494 | + { namesleft #0 > } | ||
495 | + { s nameptr | ||
496 | + "{f{.}.~}{vv~}{ll}{ jj}" | ||
497 | + format.name$ | ||
498 | + bibinfo bibinfo.check | ||
499 | + 't := | ||
500 | + nameptr #1 > | ||
501 | + { | ||
502 | + namesleft #1 > | ||
503 | + { ", " * t * } | ||
504 | + { | ||
505 | + s nameptr "{ll}" format.name$ duplicate$ "others" = | ||
506 | + { 't := } | ||
507 | + { pop$ } | ||
508 | + if$ | ||
509 | + "," * | ||
510 | + t "others" = | ||
511 | + { | ||
512 | + | ||
513 | + " " * bbl.etal * | ||
514 | + } | ||
515 | + { " " * t * } | ||
516 | + if$ | ||
517 | + } | ||
518 | + if$ | ||
519 | + } | ||
520 | + 't | ||
521 | + if$ | ||
522 | + nameptr #1 + 'nameptr := | ||
523 | + namesleft #1 - 'namesleft := | ||
524 | + } | ||
525 | + while$ | ||
526 | + } if$ | ||
527 | +} | ||
528 | +FUNCTION {format.authors} | ||
529 | +{ author "author" format.names | ||
530 | +} | ||
531 | +FUNCTION {get.bbl.editor} | ||
532 | +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } | ||
533 | + | ||
534 | +FUNCTION {format.editors} | ||
535 | +{ editor "editor" format.names duplicate$ empty$ 'skip$ | ||
536 | + { | ||
537 | + " " * | ||
538 | + get.bbl.editor | ||
539 | +% capitalize | ||
540 | + "(" swap$ * ")" * | ||
541 | + * | ||
542 | + } | ||
543 | + if$ | ||
544 | +} | ||
545 | +FUNCTION {format.note} | ||
546 | +{ | ||
547 | + note empty$ | ||
548 | + { "" } | ||
549 | + { note #1 #1 substring$ | ||
550 | + duplicate$ "{" = | ||
551 | + 'skip$ | ||
552 | + { output.state mid.sentence = | ||
553 | + { "l" } | ||
554 | + { "u" } | ||
555 | + if$ | ||
556 | + change.case$ | ||
557 | + } | ||
558 | + if$ | ||
559 | + note #2 global.max$ substring$ * "note" bibinfo.check | ||
560 | + } | ||
561 | + if$ | ||
562 | +} | ||
563 | + | ||
564 | +FUNCTION {format.title} | ||
565 | +{ title | ||
566 | + duplicate$ empty$ 'skip$ | ||
567 | + { "t" change.case$ } | ||
568 | + if$ | ||
569 | + "title" bibinfo.check | ||
570 | +} | ||
571 | +FUNCTION {output.bibitem} | ||
572 | +{ newline$ | ||
573 | + "\bibitem{" write$ | ||
574 | + cite$ write$ | ||
575 | + "}" write$ | ||
576 | + newline$ | ||
577 | + "" | ||
578 | + before.all 'output.state := | ||
579 | +} | ||
580 | + | ||
581 | +FUNCTION {n.dashify} | ||
582 | +{ | ||
583 | + 't := | ||
584 | + "" | ||
585 | + { t empty$ not } | ||
586 | + { t #1 #1 substring$ "-" = | ||
587 | + { t #1 #2 substring$ "--" = not | ||
588 | + { "--" * | ||
589 | + t #2 global.max$ substring$ 't := | ||
590 | + } | ||
591 | + { { t #1 #1 substring$ "-" = } | ||
592 | + { "-" * | ||
593 | + t #2 global.max$ substring$ 't := | ||
594 | + } | ||
595 | + while$ | ||
596 | + } | ||
597 | + if$ | ||
598 | + } | ||
599 | + { t #1 #1 substring$ * | ||
600 | + t #2 global.max$ substring$ 't := | ||
601 | + } | ||
602 | + if$ | ||
603 | + } | ||
604 | + while$ | ||
605 | +} | ||
606 | + | ||
607 | +FUNCTION {word.in} | ||
608 | +{ bbl.in capitalize | ||
609 | + ":" * | ||
610 | + " " * } | ||
611 | + | ||
612 | +FUNCTION {format.date} | ||
613 | +{ | ||
614 | + month "month" bibinfo.check | ||
615 | + duplicate$ empty$ | ||
616 | + year "year" bibinfo.check duplicate$ empty$ | ||
617 | + { swap$ 'skip$ | ||
618 | + { "there's a month but no year in " cite$ * warning$ } | ||
619 | + if$ | ||
620 | + * | ||
621 | + } | ||
622 | + { swap$ 'skip$ | ||
623 | + { | ||
624 | + swap$ | ||
625 | + " " * swap$ | ||
626 | + } | ||
627 | + if$ | ||
628 | + * | ||
629 | + remove.dots | ||
630 | + } | ||
631 | + if$ | ||
632 | + duplicate$ empty$ | ||
633 | + 'skip$ | ||
634 | + { | ||
635 | + before.all 'output.state := | ||
636 | + " (" swap$ * ")" * | ||
637 | + } | ||
638 | + if$ | ||
639 | +} | ||
640 | +FUNCTION {format.btitle} | ||
641 | +{ title "title" bibinfo.check | ||
642 | + duplicate$ empty$ 'skip$ | ||
643 | + { | ||
644 | + } | ||
645 | + if$ | ||
646 | +} | ||
647 | +FUNCTION {either.or.check} | ||
648 | +{ empty$ | ||
649 | + 'pop$ | ||
650 | + { "can't use both " swap$ * " fields in " * cite$ * warning$ } | ||
651 | + if$ | ||
652 | +} | ||
653 | +FUNCTION {format.bvolume} | ||
654 | +{ volume empty$ | ||
655 | + { "" } | ||
656 | + { bbl.volume volume tie.or.space.prefix | ||
657 | + "volume" bibinfo.check * * | ||
658 | + series "series" bibinfo.check | ||
659 | + duplicate$ empty$ 'pop$ | ||
660 | + { emphasize ", " * swap$ * } | ||
661 | + if$ | ||
662 | + "volume and number" number either.or.check | ||
663 | + } | ||
664 | + if$ | ||
665 | +} | ||
666 | +FUNCTION {format.number.series} | ||
667 | +{ volume empty$ | ||
668 | + { number empty$ | ||
669 | + { series field.or.null } | ||
670 | + { output.state mid.sentence = | ||
671 | + { bbl.number } | ||
672 | + { bbl.number capitalize } | ||
673 | + if$ | ||
674 | + number tie.or.space.prefix "number" bibinfo.check * * | ||
675 | + series empty$ | ||
676 | + { "there's a number but no series in " cite$ * warning$ } | ||
677 | + { bbl.in space.word * | ||
678 | + series "series" bibinfo.check * | ||
679 | + } | ||
680 | + if$ | ||
681 | + } | ||
682 | + if$ | ||
683 | + } | ||
684 | + { "" } | ||
685 | + if$ | ||
686 | +} | ||
687 | + | ||
688 | +FUNCTION {format.edition} | ||
689 | +{ edition duplicate$ empty$ 'skip$ | ||
690 | + { | ||
691 | + output.state mid.sentence = | ||
692 | + { "l" } | ||
693 | + { "t" } | ||
694 | + if$ change.case$ | ||
695 | + "edition" bibinfo.check | ||
696 | + " " * bbl.edition * | ||
697 | + } | ||
698 | + if$ | ||
699 | +} | ||
700 | +INTEGERS { multiresult } | ||
701 | +FUNCTION {multi.page.check} | ||
702 | +{ 't := | ||
703 | + #0 'multiresult := | ||
704 | + { multiresult not | ||
705 | + t empty$ not | ||
706 | + and | ||
707 | + } | ||
708 | + { t #1 #1 substring$ | ||
709 | + duplicate$ "-" = | ||
710 | + swap$ duplicate$ "," = | ||
711 | + swap$ "+" = | ||
712 | + or or | ||
713 | + { #1 'multiresult := } | ||
714 | + { t #2 global.max$ substring$ 't := } | ||
715 | + if$ | ||
716 | + } | ||
717 | + while$ | ||
718 | + multiresult | ||
719 | +} | ||
720 | +FUNCTION {format.pages} | ||
721 | +{ pages duplicate$ empty$ 'skip$ | ||
722 | + { duplicate$ multi.page.check | ||
723 | + { | ||
724 | + bbl.pages swap$ | ||
725 | + n.dashify | ||
726 | + } | ||
727 | + { | ||
728 | + bbl.page swap$ | ||
729 | + } | ||
730 | + if$ | ||
731 | + tie.or.space.prefix | ||
732 | + "pages" bibinfo.check | ||
733 | + * * | ||
734 | + } | ||
735 | + if$ | ||
736 | +} | ||
737 | +FUNCTION {format.journal.pages} | ||
738 | +{ pages duplicate$ empty$ 'pop$ | ||
739 | + { swap$ duplicate$ empty$ | ||
740 | + { pop$ pop$ format.pages } | ||
741 | + { | ||
742 | + ", " * | ||
743 | + swap$ | ||
744 | + n.dashify | ||
745 | + pages multi.page.check | ||
746 | + 'titto.bbl.pages | ||
747 | + 'titto.bbl.page | ||
748 | + if$ | ||
749 | + swap$ tie.or.space.prefix | ||
750 | + "pages" bibinfo.check | ||
751 | + * * | ||
752 | + * | ||
753 | + } | ||
754 | + if$ | ||
755 | + } | ||
756 | + if$ | ||
757 | +} | ||
758 | +FUNCTION {format.journal.eid} | ||
759 | +{ eid "eid" bibinfo.check | ||
760 | + duplicate$ empty$ 'pop$ | ||
761 | + { swap$ duplicate$ empty$ 'skip$ | ||
762 | + { | ||
763 | + ", " * | ||
764 | + } | ||
765 | + if$ | ||
766 | + swap$ * | ||
767 | + } | ||
768 | + if$ | ||
769 | +} | ||
770 | +FUNCTION {format.vol.num.pages} % this function is used only for journal entries | ||
771 | +{ volume field.or.null | ||
772 | + duplicate$ empty$ 'skip$ | ||
773 | + { | ||
774 | +% bbl.volume swap$ tie.or.space.prefix | ||
775 | + titto.bbl.volume swap$ titto.space.prefix | ||
776 | +% rationale for the change above: for journals you don't want "vol." label | ||
777 | +% hence it does not make sense to attach the journal number to the label when | ||
778 | +% it is short | ||
779 | + "volume" bibinfo.check | ||
780 | + * * | ||
781 | + } | ||
782 | + if$ | ||
783 | + number "number" bibinfo.check duplicate$ empty$ 'skip$ | ||
784 | + { | ||
785 | + swap$ duplicate$ empty$ | ||
786 | + { "there's a number but no volume in " cite$ * warning$ } | ||
787 | + 'skip$ | ||
788 | + if$ | ||
789 | + swap$ | ||
790 | + "(" swap$ * ")" * | ||
791 | + } | ||
792 | + if$ * | ||
793 | + eid empty$ | ||
794 | + { format.journal.pages } | ||
795 | + { format.journal.eid } | ||
796 | + if$ | ||
797 | +} | ||
798 | + | ||
799 | +FUNCTION {format.chapter.pages} | ||
800 | +{ chapter empty$ | ||
801 | + 'format.pages | ||
802 | + { type empty$ | ||
803 | + { bbl.chapter } | ||
804 | + { type "l" change.case$ | ||
805 | + "type" bibinfo.check | ||
806 | + } | ||
807 | + if$ | ||
808 | + chapter tie.or.space.prefix | ||
809 | + "chapter" bibinfo.check | ||
810 | + * * | ||
811 | + pages empty$ | ||
812 | + 'skip$ | ||
813 | + { ", " * format.pages * } | ||
814 | + if$ | ||
815 | + } | ||
816 | + if$ | ||
817 | +} | ||
818 | + | ||
819 | +FUNCTION {format.booktitle} | ||
820 | +{ | ||
821 | + booktitle "booktitle" bibinfo.check | ||
822 | +} | ||
823 | +FUNCTION {format.in.ed.booktitle} | ||
824 | +{ format.booktitle duplicate$ empty$ 'skip$ | ||
825 | + { | ||
826 | +% editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto | ||
827 | + editor "editor" format.names duplicate$ empty$ 'pop$ | ||
828 | + { | ||
829 | + " " * | ||
830 | + get.bbl.editor | ||
831 | +% capitalize | ||
832 | + "(" swap$ * ") " * | ||
833 | + * swap$ | ||
834 | + * } | ||
835 | + if$ | ||
836 | + word.in swap$ * | ||
837 | + } | ||
838 | + if$ | ||
839 | +} | ||
840 | +FUNCTION {empty.misc.check} | ||
841 | +{ author empty$ title empty$ howpublished empty$ | ||
842 | + month empty$ year empty$ note empty$ | ||
843 | + and and and and and | ||
844 | + key empty$ not and | ||
845 | + { "all relevant fields are empty in " cite$ * warning$ } | ||
846 | + 'skip$ | ||
847 | + if$ | ||
848 | +} | ||
849 | +FUNCTION {format.thesis.type} | ||
850 | +{ type duplicate$ empty$ | ||
851 | + 'pop$ | ||
852 | + { swap$ pop$ | ||
853 | + "t" change.case$ "type" bibinfo.check | ||
854 | + } | ||
855 | + if$ | ||
856 | +} | ||
857 | +FUNCTION {format.tr.number} | ||
858 | +{ number "number" bibinfo.check | ||
859 | + type duplicate$ empty$ | ||
860 | + { pop$ bbl.techrep } | ||
861 | + 'skip$ | ||
862 | + if$ | ||
863 | + "type" bibinfo.check | ||
864 | + swap$ duplicate$ empty$ | ||
865 | + { pop$ "t" change.case$ } | ||
866 | + { tie.or.space.prefix * * } | ||
867 | + if$ | ||
868 | +} | ||
869 | +FUNCTION {format.article.crossref} | ||
870 | +{ | ||
871 | + key duplicate$ empty$ | ||
872 | + { pop$ | ||
873 | + journal duplicate$ empty$ | ||
874 | + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } | ||
875 | + { "journal" bibinfo.check emphasize word.in swap$ * } | ||
876 | + if$ | ||
877 | + } | ||
878 | + { word.in swap$ * " " *} | ||
879 | + if$ | ||
880 | + " \cite{" * crossref * "}" * | ||
881 | +} | ||
882 | +FUNCTION {format.crossref.editor} | ||
883 | +{ editor #1 "{vv~}{ll}" format.name$ | ||
884 | + "editor" bibinfo.check | ||
885 | + editor num.names$ duplicate$ | ||
886 | + #2 > | ||
887 | + { pop$ | ||
888 | + "editor" bibinfo.check | ||
889 | + " " * bbl.etal | ||
890 | + * | ||
891 | + } | ||
892 | + { #2 < | ||
893 | + 'skip$ | ||
894 | + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = | ||
895 | + { | ||
896 | + "editor" bibinfo.check | ||
897 | + " " * bbl.etal | ||
898 | + * | ||
899 | + } | ||
900 | + { | ||
901 | + bbl.and space.word | ||
902 | + * editor #2 "{vv~}{ll}" format.name$ | ||
903 | + "editor" bibinfo.check | ||
904 | + * | ||
905 | + } | ||
906 | + if$ | ||
907 | + } | ||
908 | + if$ | ||
909 | + } | ||
910 | + if$ | ||
911 | +} | ||
912 | +FUNCTION {format.book.crossref} | ||
913 | +{ volume duplicate$ empty$ | ||
914 | + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ | ||
915 | + pop$ word.in | ||
916 | + } | ||
917 | + { bbl.volume | ||
918 | + capitalize | ||
919 | + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * | ||
920 | + } | ||
921 | + if$ | ||
922 | + editor empty$ | ||
923 | + editor field.or.null author field.or.null = | ||
924 | + or | ||
925 | + { key empty$ | ||
926 | + { series empty$ | ||
927 | + { "need editor, key, or series for " cite$ * " to crossref " * | ||
928 | + crossref * warning$ | ||
929 | + "" * | ||
930 | + } | ||
931 | + { series emphasize * } | ||
932 | + if$ | ||
933 | + } | ||
934 | + { key * } | ||
935 | + if$ | ||
936 | + } | ||
937 | + { format.crossref.editor * } | ||
938 | + if$ | ||
939 | + " \cite{" * crossref * "}" * | ||
940 | +} | ||
941 | +FUNCTION {format.incoll.inproc.crossref} | ||
942 | +{ | ||
943 | + editor empty$ | ||
944 | + editor field.or.null author field.or.null = | ||
945 | + or | ||
946 | + { key empty$ | ||
947 | + { format.booktitle duplicate$ empty$ | ||
948 | + { "need editor, key, or booktitle for " cite$ * " to crossref " * | ||
949 | + crossref * warning$ | ||
950 | + } | ||
951 | + { word.in swap$ * } | ||
952 | + if$ | ||
953 | + } | ||
954 | + { word.in key * " " *} | ||
955 | + if$ | ||
956 | + } | ||
957 | + { word.in format.crossref.editor * " " *} | ||
958 | + if$ | ||
959 | + " \cite{" * crossref * "}" * | ||
960 | +} | ||
961 | +FUNCTION {format.org.or.pub} | ||
962 | +{ 't := | ||
963 | + "" | ||
964 | + address empty$ t empty$ and | ||
965 | + 'skip$ | ||
966 | + { | ||
967 | + t empty$ | ||
968 | + { address "address" bibinfo.check * | ||
969 | + } | ||
970 | + { t * | ||
971 | + address empty$ | ||
972 | + 'skip$ | ||
973 | + { ", " * address "address" bibinfo.check * } | ||
974 | + if$ | ||
975 | + } | ||
976 | + if$ | ||
977 | + } | ||
978 | + if$ | ||
979 | +} | ||
980 | +FUNCTION {format.publisher.address} | ||
981 | +{ publisher "publisher" bibinfo.warn format.org.or.pub | ||
982 | +} | ||
983 | + | ||
984 | +FUNCTION {format.organization.address} | ||
985 | +{ organization "organization" bibinfo.check format.org.or.pub | ||
986 | +} | ||
987 | + | ||
988 | +FUNCTION {article} | ||
989 | +{ output.bibitem | ||
990 | + format.authors "author" output.check | ||
991 | + add.colon | ||
992 | + new.block | ||
993 | + format.title "title" output.check | ||
994 | + new.block | ||
995 | + crossref missing$ | ||
996 | + { | ||
997 | + journal | ||
998 | + "journal" bibinfo.check | ||
999 | + "journal" output.check | ||
1000 | + add.blank | ||
1001 | + format.vol.num.pages output | ||
1002 | + format.date "year" output.check | ||
1003 | + } | ||
1004 | + { format.article.crossref output.nonnull | ||
1005 | + format.pages output | ||
1006 | + } | ||
1007 | + if$ | ||
1008 | +% new.block | ||
1009 | + format.url output | ||
1010 | +% new.block | ||
1011 | + format.note output | ||
1012 | + fin.entry | ||
1013 | +} | ||
1014 | +FUNCTION {book} | ||
1015 | +{ output.bibitem | ||
1016 | + author empty$ | ||
1017 | + { format.editors "author and editor" output.check | ||
1018 | + add.colon | ||
1019 | + } | ||
1020 | + { format.authors output.nonnull | ||
1021 | + add.colon | ||
1022 | + crossref missing$ | ||
1023 | + { "author and editor" editor either.or.check } | ||
1024 | + 'skip$ | ||
1025 | + if$ | ||
1026 | + } | ||
1027 | + if$ | ||
1028 | + new.block | ||
1029 | + format.btitle "title" output.check | ||
1030 | + crossref missing$ | ||
1031 | + { format.bvolume output | ||
1032 | + new.block | ||
1033 | + new.sentence | ||
1034 | + format.number.series output | ||
1035 | + format.publisher.address output | ||
1036 | + } | ||
1037 | + { | ||
1038 | + new.block | ||
1039 | + format.book.crossref output.nonnull | ||
1040 | + } | ||
1041 | + if$ | ||
1042 | + format.edition output | ||
1043 | + format.date "year" output.check | ||
1044 | +% new.block | ||
1045 | + format.url output | ||
1046 | +% new.block | ||
1047 | + format.note output | ||
1048 | + fin.entry | ||
1049 | +} | ||
1050 | +FUNCTION {booklet} | ||
1051 | +{ output.bibitem | ||
1052 | + format.authors output | ||
1053 | + add.colon | ||
1054 | + new.block | ||
1055 | + format.title "title" output.check | ||
1056 | + new.block | ||
1057 | + howpublished "howpublished" bibinfo.check output | ||
1058 | + address "address" bibinfo.check output | ||
1059 | + format.date output | ||
1060 | +% new.block | ||
1061 | + format.url output | ||
1062 | +% new.block | ||
1063 | + format.note output | ||
1064 | + fin.entry | ||
1065 | +} | ||
1066 | + | ||
1067 | +FUNCTION {inbook} | ||
1068 | +{ output.bibitem | ||
1069 | + author empty$ | ||
1070 | + { format.editors "author and editor" output.check | ||
1071 | + add.colon | ||
1072 | + } | ||
1073 | + { format.authors output.nonnull | ||
1074 | + add.colon | ||
1075 | + crossref missing$ | ||
1076 | + { "author and editor" editor either.or.check } | ||
1077 | + 'skip$ | ||
1078 | + if$ | ||
1079 | + } | ||
1080 | + if$ | ||
1081 | + new.block | ||
1082 | + format.btitle "title" output.check | ||
1083 | + crossref missing$ | ||
1084 | + { | ||
1085 | + format.bvolume output | ||
1086 | + format.chapter.pages "chapter and pages" output.check | ||
1087 | + new.block | ||
1088 | + new.sentence | ||
1089 | + format.number.series output | ||
1090 | + format.publisher.address output | ||
1091 | + } | ||
1092 | + { | ||
1093 | + format.chapter.pages "chapter and pages" output.check | ||
1094 | + new.block | ||
1095 | + format.book.crossref output.nonnull | ||
1096 | + } | ||
1097 | + if$ | ||
1098 | + format.edition output | ||
1099 | + format.date "year" output.check | ||
1100 | +% new.block | ||
1101 | + format.url output | ||
1102 | +% new.block | ||
1103 | + format.note output | ||
1104 | + fin.entry | ||
1105 | +} | ||
1106 | + | ||
1107 | +FUNCTION {incollection} | ||
1108 | +{ output.bibitem | ||
1109 | + format.authors "author" output.check | ||
1110 | + add.colon | ||
1111 | + new.block | ||
1112 | + format.title "title" output.check | ||
1113 | + new.block | ||
1114 | + crossref missing$ | ||
1115 | + { format.in.ed.booktitle "booktitle" output.check | ||
1116 | + format.bvolume output | ||
1117 | + format.chapter.pages output | ||
1118 | + new.sentence | ||
1119 | + format.number.series output | ||
1120 | + format.publisher.address output | ||
1121 | + format.edition output | ||
1122 | + format.date "year" output.check | ||
1123 | + } | ||
1124 | + { format.incoll.inproc.crossref output.nonnull | ||
1125 | + format.chapter.pages output | ||
1126 | + } | ||
1127 | + if$ | ||
1128 | +% new.block | ||
1129 | + format.url output | ||
1130 | +% new.block | ||
1131 | + format.note output | ||
1132 | + fin.entry | ||
1133 | +} | ||
1134 | +FUNCTION {inproceedings} | ||
1135 | +{ output.bibitem | ||
1136 | + format.authors "author" output.check | ||
1137 | + add.colon | ||
1138 | + new.block | ||
1139 | + format.title "title" output.check | ||
1140 | + new.block | ||
1141 | + crossref missing$ | ||
1142 | + { format.in.ed.booktitle "booktitle" output.check | ||
1143 | + new.sentence % added by titto | ||
1144 | + format.bvolume output | ||
1145 | + format.pages output | ||
1146 | + new.sentence | ||
1147 | + format.number.series output | ||
1148 | + publisher empty$ | ||
1149 | + { format.organization.address output } | ||
1150 | + { organization "organization" bibinfo.check output | ||
1151 | + format.publisher.address output | ||
1152 | + } | ||
1153 | + if$ | ||
1154 | + format.date "year" output.check | ||
1155 | + } | ||
1156 | + { format.incoll.inproc.crossref output.nonnull | ||
1157 | + format.pages output | ||
1158 | + } | ||
1159 | + if$ | ||
1160 | +% new.block | ||
1161 | + format.url output | ||
1162 | +% new.block | ||
1163 | + format.note output | ||
1164 | + fin.entry | ||
1165 | +} | ||
1166 | +FUNCTION {conference} { inproceedings } | ||
1167 | +FUNCTION {manual} | ||
1168 | +{ output.bibitem | ||
1169 | + author empty$ | ||
1170 | + { organization "organization" bibinfo.check | ||
1171 | + duplicate$ empty$ 'pop$ | ||
1172 | + { output | ||
1173 | + address "address" bibinfo.check output | ||
1174 | + } | ||
1175 | + if$ | ||
1176 | + } | ||
1177 | + { format.authors output.nonnull } | ||
1178 | + if$ | ||
1179 | + add.colon | ||
1180 | + new.block | ||
1181 | + format.btitle "title" output.check | ||
1182 | + author empty$ | ||
1183 | + { organization empty$ | ||
1184 | + { | ||
1185 | + address new.block.checka | ||
1186 | + address "address" bibinfo.check output | ||
1187 | + } | ||
1188 | + 'skip$ | ||
1189 | + if$ | ||
1190 | + } | ||
1191 | + { | ||
1192 | + organization address new.block.checkb | ||
1193 | + organization "organization" bibinfo.check output | ||
1194 | + address "address" bibinfo.check output | ||
1195 | + } | ||
1196 | + if$ | ||
1197 | + format.edition output | ||
1198 | + format.date output | ||
1199 | +% new.block | ||
1200 | + format.url output | ||
1201 | +% new.block | ||
1202 | + format.note output | ||
1203 | + fin.entry | ||
1204 | +} | ||
1205 | + | ||
1206 | +FUNCTION {mastersthesis} | ||
1207 | +{ output.bibitem | ||
1208 | + format.authors "author" output.check | ||
1209 | + add.colon | ||
1210 | + new.block | ||
1211 | + format.btitle | ||
1212 | + "title" output.check | ||
1213 | + new.block | ||
1214 | + bbl.mthesis format.thesis.type output.nonnull | ||
1215 | + school "school" bibinfo.warn output | ||
1216 | + address "address" bibinfo.check output | ||
1217 | + format.date "year" output.check | ||
1218 | +% new.block | ||
1219 | + format.url output | ||
1220 | +% new.block | ||
1221 | + format.note output | ||
1222 | + fin.entry | ||
1223 | +} | ||
1224 | + | ||
1225 | +FUNCTION {misc} | ||
1226 | +{ output.bibitem | ||
1227 | + format.authors output | ||
1228 | + add.colon | ||
1229 | + title howpublished new.block.checkb | ||
1230 | + format.title output | ||
1231 | + howpublished new.block.checka | ||
1232 | + howpublished "howpublished" bibinfo.check output | ||
1233 | + format.date output | ||
1234 | +% new.block | ||
1235 | + format.url output | ||
1236 | +% new.block | ||
1237 | + format.note output | ||
1238 | + fin.entry | ||
1239 | + empty.misc.check | ||
1240 | +} | ||
1241 | +FUNCTION {phdthesis} | ||
1242 | +{ output.bibitem | ||
1243 | + format.authors "author" output.check | ||
1244 | + add.colon | ||
1245 | + new.block | ||
1246 | + format.btitle | ||
1247 | + "title" output.check | ||
1248 | + new.block | ||
1249 | + bbl.phdthesis format.thesis.type output.nonnull | ||
1250 | + school "school" bibinfo.warn output | ||
1251 | + address "address" bibinfo.check output | ||
1252 | + format.date "year" output.check | ||
1253 | +% new.block | ||
1254 | + format.url output | ||
1255 | +% new.block | ||
1256 | + format.note output | ||
1257 | + fin.entry | ||
1258 | +} | ||
1259 | + | ||
1260 | +FUNCTION {proceedings} | ||
1261 | +{ output.bibitem | ||
1262 | + editor empty$ | ||
1263 | + { organization "organization" bibinfo.check output | ||
1264 | + } | ||
1265 | + { format.editors output.nonnull } | ||
1266 | + if$ | ||
1267 | + add.colon | ||
1268 | + new.block | ||
1269 | + format.btitle "title" output.check | ||
1270 | + format.bvolume output | ||
1271 | + editor empty$ | ||
1272 | + { publisher empty$ | ||
1273 | + { format.number.series output } | ||
1274 | + { | ||
1275 | + new.sentence | ||
1276 | + format.number.series output | ||
1277 | + format.publisher.address output | ||
1278 | + } | ||
1279 | + if$ | ||
1280 | + } | ||
1281 | + { publisher empty$ | ||
1282 | + { | ||
1283 | + new.sentence | ||
1284 | + format.number.series output | ||
1285 | + format.organization.address output } | ||
1286 | + { | ||
1287 | + new.sentence | ||
1288 | + format.number.series output | ||
1289 | + organization "organization" bibinfo.check output | ||
1290 | + format.publisher.address output | ||
1291 | + } | ||
1292 | + if$ | ||
1293 | + } | ||
1294 | + if$ | ||
1295 | + format.date "year" output.check | ||
1296 | +% new.block | ||
1297 | + format.url output | ||
1298 | +% new.block | ||
1299 | + format.note output | ||
1300 | + fin.entry | ||
1301 | +} | ||
1302 | + | ||
1303 | +FUNCTION {techreport} | ||
1304 | +{ output.bibitem | ||
1305 | + format.authors "author" output.check | ||
1306 | + add.colon | ||
1307 | + new.block | ||
1308 | + format.title | ||
1309 | + "title" output.check | ||
1310 | + new.block | ||
1311 | + format.tr.number output.nonnull | ||
1312 | + institution "institution" bibinfo.warn output | ||
1313 | + address "address" bibinfo.check output | ||
1314 | + format.date "year" output.check | ||
1315 | +% new.block | ||
1316 | + format.url output | ||
1317 | +% new.block | ||
1318 | + format.note output | ||
1319 | + fin.entry | ||
1320 | +} | ||
1321 | + | ||
1322 | +FUNCTION {unpublished} | ||
1323 | +{ output.bibitem | ||
1324 | + format.authors "author" output.check | ||
1325 | + add.colon | ||
1326 | + new.block | ||
1327 | + format.title "title" output.check | ||
1328 | + format.date output | ||
1329 | +% new.block | ||
1330 | + format.url output | ||
1331 | +% new.block | ||
1332 | + format.note "note" output.check | ||
1333 | + fin.entry | ||
1334 | +} | ||
1335 | + | ||
1336 | +FUNCTION {default.type} { misc } | ||
1337 | +READ | ||
1338 | +FUNCTION {sortify} | ||
1339 | +{ purify$ | ||
1340 | + "l" change.case$ | ||
1341 | +} | ||
1342 | +INTEGERS { len } | ||
1343 | +FUNCTION {chop.word} | ||
1344 | +{ 's := | ||
1345 | + 'len := | ||
1346 | + s #1 len substring$ = | ||
1347 | + { s len #1 + global.max$ substring$ } | ||
1348 | + 's | ||
1349 | + if$ | ||
1350 | +} | ||
1351 | +FUNCTION {sort.format.names} | ||
1352 | +{ 's := | ||
1353 | + #1 'nameptr := | ||
1354 | + "" | ||
1355 | + s num.names$ 'numnames := | ||
1356 | + numnames 'namesleft := | ||
1357 | + { namesleft #0 > } | ||
1358 | + { s nameptr | ||
1359 | + "{ll{ }}{ ff{ }}{ jj{ }}" | ||
1360 | + format.name$ 't := | ||
1361 | + nameptr #1 > | ||
1362 | + { | ||
1363 | + " " * | ||
1364 | + namesleft #1 = t "others" = and | ||
1365 | + { "zzzzz" * } | ||
1366 | + { t sortify * } | ||
1367 | + if$ | ||
1368 | + } | ||
1369 | + { t sortify * } | ||
1370 | + if$ | ||
1371 | + nameptr #1 + 'nameptr := | ||
1372 | + namesleft #1 - 'namesleft := | ||
1373 | + } | ||
1374 | + while$ | ||
1375 | +} | ||
1376 | + | ||
1377 | +FUNCTION {sort.format.title} | ||
1378 | +{ 't := | ||
1379 | + "A " #2 | ||
1380 | + "An " #3 | ||
1381 | + "The " #4 t chop.word | ||
1382 | + chop.word | ||
1383 | + chop.word | ||
1384 | + sortify | ||
1385 | + #1 global.max$ substring$ | ||
1386 | +} | ||
1387 | +FUNCTION {author.sort} | ||
1388 | +{ author empty$ | ||
1389 | + { key empty$ | ||
1390 | + { "to sort, need author or key in " cite$ * warning$ | ||
1391 | + "" | ||
1392 | + } | ||
1393 | + { key sortify } | ||
1394 | + if$ | ||
1395 | + } | ||
1396 | + { author sort.format.names } | ||
1397 | + if$ | ||
1398 | +} | ||
1399 | +FUNCTION {author.editor.sort} | ||
1400 | +{ author empty$ | ||
1401 | + { editor empty$ | ||
1402 | + { key empty$ | ||
1403 | + { "to sort, need author, editor, or key in " cite$ * warning$ | ||
1404 | + "" | ||
1405 | + } | ||
1406 | + { key sortify } | ||
1407 | + if$ | ||
1408 | + } | ||
1409 | + { editor sort.format.names } | ||
1410 | + if$ | ||
1411 | + } | ||
1412 | + { author sort.format.names } | ||
1413 | + if$ | ||
1414 | +} | ||
1415 | +FUNCTION {author.organization.sort} | ||
1416 | +{ author empty$ | ||
1417 | + { organization empty$ | ||
1418 | + { key empty$ | ||
1419 | + { "to sort, need author, organization, or key in " cite$ * warning$ | ||
1420 | + "" | ||
1421 | + } | ||
1422 | + { key sortify } | ||
1423 | + if$ | ||
1424 | + } | ||
1425 | + { "The " #4 organization chop.word sortify } | ||
1426 | + if$ | ||
1427 | + } | ||
1428 | + { author sort.format.names } | ||
1429 | + if$ | ||
1430 | +} | ||
1431 | +FUNCTION {editor.organization.sort} | ||
1432 | +{ editor empty$ | ||
1433 | + { organization empty$ | ||
1434 | + { key empty$ | ||
1435 | + { "to sort, need editor, organization, or key in " cite$ * warning$ | ||
1436 | + "" | ||
1437 | + } | ||
1438 | + { key sortify } | ||
1439 | + if$ | ||
1440 | + } | ||
1441 | + { "The " #4 organization chop.word sortify } | ||
1442 | + if$ | ||
1443 | + } | ||
1444 | + { editor sort.format.names } | ||
1445 | + if$ | ||
1446 | +} | ||
1447 | +FUNCTION {presort} | ||
1448 | +{ type$ "book" = | ||
1449 | + type$ "inbook" = | ||
1450 | + or | ||
1451 | + 'author.editor.sort | ||
1452 | + { type$ "proceedings" = | ||
1453 | + 'editor.organization.sort | ||
1454 | + { type$ "manual" = | ||
1455 | + 'author.organization.sort | ||
1456 | + 'author.sort | ||
1457 | + if$ | ||
1458 | + } | ||
1459 | + if$ | ||
1460 | + } | ||
1461 | + if$ | ||
1462 | + " " | ||
1463 | + * | ||
1464 | + year field.or.null sortify | ||
1465 | + * | ||
1466 | + " " | ||
1467 | + * | ||
1468 | + title field.or.null | ||
1469 | + sort.format.title | ||
1470 | + * | ||
1471 | + #1 entry.max$ substring$ | ||
1472 | + 'sort.key$ := | ||
1473 | +} | ||
1474 | +ITERATE {presort} | ||
1475 | +SORT | ||
1476 | +STRINGS { longest.label } | ||
1477 | +INTEGERS { number.label longest.label.width } | ||
1478 | +FUNCTION {initialize.longest.label} | ||
1479 | +{ "" 'longest.label := | ||
1480 | + #1 'number.label := | ||
1481 | + #0 'longest.label.width := | ||
1482 | +} | ||
1483 | +FUNCTION {longest.label.pass} | ||
1484 | +{ number.label int.to.str$ 'label := | ||
1485 | + number.label #1 + 'number.label := | ||
1486 | + label width$ longest.label.width > | ||
1487 | + { label 'longest.label := | ||
1488 | + label width$ 'longest.label.width := | ||
1489 | + } | ||
1490 | + 'skip$ | ||
1491 | + if$ | ||
1492 | +} | ||
1493 | +EXECUTE {initialize.longest.label} | ||
1494 | +ITERATE {longest.label.pass} | ||
1495 | +FUNCTION {begin.bib} | ||
1496 | +{ preamble$ empty$ | ||
1497 | + 'skip$ | ||
1498 | + { preamble$ write$ newline$ } | ||
1499 | + if$ | ||
1500 | + "\begin{thebibliography}{" longest.label * "}" * | ||
1501 | + write$ newline$ | ||
1502 | + "\providecommand{\url}[1]{\texttt{#1}}" | ||
1503 | + write$ newline$ | ||
1504 | + "\providecommand{\urlprefix}{URL }" | ||
1505 | + write$ newline$ | ||
1506 | +} | ||
1507 | +EXECUTE {begin.bib} | ||
1508 | +EXECUTE {init.state.consts} | ||
1509 | +ITERATE {call.type$} | ||
1510 | +FUNCTION {end.bib} | ||
1511 | +{ newline$ | ||
1512 | + "\end{thebibliography}" write$ newline$ | ||
1513 | +} | ||
1514 | +EXECUTE {end.bib} | ||
1515 | +%% End of customized bst file | ||
1516 | +%% | ||
1517 | +%% End of file `titto.bst'. | ||
1518 | + | ||
1519 | + |
@@ -0,0 +1,93 @@ | @@ -0,0 +1,93 @@ | ||
1 | +### Projeto de pequisa - Entrevista | ||
2 | + | ||
3 | +### Contexto | ||
4 | +Entre 2014 e 2016 foi desenvolvida uma plataforma para o Portal do Software Público Brasileiro. O objetivo do projeto era evoluiu um portal já existente adicionando funcionalidades a partir de requisitos préviamente mapeados pelo Ministério do Planejamento. Neste projeto, a plataforma passou a ser formada por diversos sistemas de software livre que foram integrados com a finalidade de atender todos os requisitos e prover facilidades na manutenção e atualização do portal como um todo. O projeto contava com uma equipe de analistas do Ministério do Planejamento, professores-coordenadores da UnB e uma equipe de desenvolvedores formada por alunos-bolsistas da universidade e profissionais do mercado de TI. A equipe do governo tinha sua própria dinâmica de trabalho e processo de desenvolvimento de software guiado por leis e diretrizes da natureza governamental. A equipe de desenvolvedores seguia práticas de desenvolvimento diferentes das do governo. Com auxílio e supervisão de professores (coordenadores do projeto) aplicavam metodólogias mais recentes, estudadas no universo acadêmico, visando melhorar a qualidade e produtividade do produto a ser entregue assim como as relações pessoais entre as equipes. Esta parceria entre duas equipes com processo de desenvolvimento distintos passaram por conflitos e adaptações. Durante os 3 anos de projetos foram pensadas, aplicadas e avaliadas diversas maneiras para conciliar os processos, aprimorar a comunicação e tornar todo o desenvolvimento da plataforma mais claro e transparente para quem acompanhava, gerenciava e desenvolvia a nova plataforma. | ||
5 | + | ||
6 | +### Qual o Foco: | ||
7 | +* Explorar as possíveis maneiras de conciliar equipes com diferentes processos de gerenciamento e desenvolvimento em um projeto. | ||
8 | + | ||
9 | +### Onde eu estou no (qual a minha posição no contexto do) estudo: | ||
10 | +* Trabalhando em um projeto temporário de desenvolvimento de software para o governo | ||
11 | + | ||
12 | +### Quais experiências anteriores (backgrounds) e crenças podem causar parcialidade (bias): | ||
13 | +* Acreditamos que o desenvolvimento ágil é melhor que o desenvolvimento em cascata | ||
14 | +* A equipe de desenvolvedores é maior que a equipe de analistas | ||
15 | +* Diferenças de experiências de trabalho: iniciativa privada x estado | ||
16 | +* Não temos relação com as burocracias internas no governo em relação ao projeto | ||
17 | +* Não temos estabilidade no trabalho e o projeto possui tempo limitado (podendo ser precipitadamente cancelado se ocorrem falhas) | ||
18 | +* Apesar de todos trabalharem para o sucesso do projeto, não nos sentíamos realmente unidos/ algumas vezes nos sentíamos rivais? | ||
19 | +* A equipe de desenvolvedores era majoritáriamente composta por estudantes, sem experiência no mercado de trabalho | ||
20 | +* Não participávamos do lado governamental de decisões, estratégias e relatórios. | ||
21 | + | ||
22 | +### Influências políticas: | ||
23 | +* As analistas podem não querer expor os problemas internos ou mostrar descrença ou questionamento sobre seu contexto de trabalho | ||
24 | +* Interferência das crenças poíticas/partidárias dos investigadores na relaçào do contexto do projeto e decisões do cliente | ||
25 | + | ||
26 | +### Questões gerais da pesquisa que queremos responder | ||
27 | +1. Como harmonizar equipes com processos distintos de desenvolvimento de software em um mesmo projeto? | ||
28 | + * Nível de satisfação dos clientes e motivação dos desenvolvedores (equipe). É possível manter uma equipe motivada e clientes satisfeitos, ambos confortáveis em se comunicar mesmo falando "línguas" diferentes? | ||
29 | +2. Como estabelecer uma fronteira entre as questões gerenciais das organizações envolvidas (MPOG e UnB/CDT) e o gestão das equipes de desenvolvimento? | ||
30 | + * Estamos argumentando que o processo de gerenciamento do projeto não necessariamente tem que ser o mesmo e influenciar diretamente na metodologia de desenvolvimento de software. | ||
31 | + * Filtrar overheads de comunicação entre equipes com mentalidade/metodologia diferente | ||
32 | + * "Ceder para vencer" | ||
33 | + | ||
34 | +---- | ||
35 | + | ||
36 | +## Entrevista - Questões | ||
37 | + | ||
38 | +### Perfil pessoal e profissional | ||
39 | + | ||
40 | +1. Apresentação: Você poderia fazer uma pequena apresentação pessoal e profissional? Nome, idade, formação, tempo de experiência profissional, tempo no MPOG, setor/cargo atual, setor/cargo na época do projeto. | ||
41 | +2. A exemplo do SPB, quais projetos de desenvolvimento de software em parceria entre MPOG e outras instituições você trabalhou? | ||
42 | +3. Quais semelhanças e diferenças você consegue identificar entre estes projetos e o SPB? | ||
43 | +4. O SPB foi sua primeira experiência de desenvolvimento de software em parceria com uma universidade? Quais vantagens e desvantagens você consegue identificar neste tipo de parceria? | ||
44 | + | ||
45 | +### Sobre o Projeto SPB | ||
46 | + | ||
47 | +#### Organização | ||
48 | + | ||
49 | +5. Inicialmente, como foi estruturado e organizado o projeto? Como era feita a comunicação, acompanhamento? Quem eram os atores/interlocutores? | ||
50 | +6. Quais mudanças ocorreram ao longo do projeto em relação a sua formatação inicial? | ||
51 | + 7. Para você essas mudanças foram positivas ou negativas? Porque? | ||
52 | + 8. Você sentiu dificuldade em se adaptar a estas mudanças? Quais? | ||
53 | +9. Ocorreram mudanças no decorrer do projeto em relação aos requisitos iniciais da plataforma? Se sim, você poderia citar algumas? Porque a mudança foi necessária? | ||
54 | + 10. Como você descreveria a adaptação da equipe de desenvolvimento da UnB em relação a mudança dos requisitos? | ||
55 | +11. Como eram realizadas as reuniões de planejamento de uma release? Onde, quem participava, quais objetivos, o que se discutia, quais dificuldades... | ||
56 | +12. Como era feito o acompanhamento do desenvolvimento da release? | ||
57 | +13. O planejamento e acompanhamento realizado no projeto era semelhante ao do MPOG? | ||
58 | + 14. AS diferenças impactavam no desempenho do seu trabalho? Se sim, de que maneira? | ||
59 | + | ||
60 | +#### Comunicação | ||
61 | + | ||
62 | +15. De que maneira/por qual meio, você interagia com a equipe da UnB? Quem eram as pessoas/papéis na equipe da UnB que você mais interagia? | ||
63 | +16. Você interagia com os seniors do projeto? Quando essas interações ocorriam, qual meio de comunicação era utilizado e qual era o motivo deste contato? | ||
64 | +17. Você interagia com os alunos do projeto? Quando essas interações ocorriam, qual meio de comunicação era utilizado e qual era o motivo deste contato? | ||
65 | +18. Como você pode descrever a comunicação entre o MPOG e a coordenação da equipe da UnB? | ||
66 | +19. Como você pode descrever a comunicação entre o MPOG e a equipe de desenvolvimento? | ||
67 | +20. Na organização da equipe de desenvolvimento, foram criados times específicos para cada software integrante da plataforma. Você se sentia atualizada com essas mudanças? Você sabia quem era quem durante a comunicação/interação? Você acredita que este conhecimento era importante / influênciava nas suas atividades de acompanhamento do projeto? | ||
68 | +21. Ao longo do projeto, você sentiu que a comunicação melhorou ou piorou entre MPOG e equipe de desenvolvimento? A que fatores se deve isso? | ||
69 | + 22. Você consegue se recordar de alguma interação entre as equipes que foi negativa ou difícil de lidar? | ||
70 | + 24. Você consegue se recordar de algumas interação que foi positiva ou suave/esclarecedora? | ||
71 | + | ||
72 | +#### Metodologia de entrega/processo de desenvolvimento | ||
73 | + | ||
74 | +25. Em linhas gerais, como é o processo de desenvolvimento de software no MPOG? Como e quando são definidas os requisitos do software, como é feito o acompanhamento e como é feita a validação/homologação? | ||
75 | +26. Como foi feita a concepção, o processo de desenvolvimento e manutenção da antiga plataforma do SPB? | ||
76 | +27. Quais diferenças existiam entre este processo interno e o processo realizado pela equipe da UnB? | ||
77 | + 28. Quais dificuldades/conflitos entre o processo de desenvolvimento do MPOG e do time da UnB eram mais impactantes para o trabalho/responsabilidade de vocês no MPOG? O que foi feito para amenizar este impacto? | ||
78 | + 29. O processo incremental de desenvolvimento lhe trazia dificuldades ou incômodos? Por exemplo? | ||
79 | +30. Na sua opinião, foi possível conciliar o processo de desenvolvimento mantido pelo MPOG e o processo de desenvolvimento mantido pela UnB? O que foi necessário adaptar para conciliar o que era exigido internamente pelo MPOG e as informações coletadas durante o desenvolvimento? | ||
80 | +31. Ao longo do projeto, o MPOG passou a estar com mais frequência na universidade e participar presencialmente no laboratório das reuniões de planejamento e entrega. Quais vantagens e desvantagens você via nessa interação? Isso impactou de alguma maneira a qualidade o feedback e validação das funcionalidades? | ||
81 | +32. Na homologação de uma entrega, como você descreveria a capacidade da equipe em corrigir/modificar uma funcionalidade a partir dos feedbacks do MPOG? | ||
82 | +33. Em geral, qual era a satisfação do MPOG em relação ao que tinha sido planejado e o que foi entrega no final de cada release? Porque? | ||
83 | + | ||
84 | +#### A plataforma do SPB | ||
85 | +34. Quão satisfeitos o MPOG e os usuários estavam em relação a plataforma anterior? Ela atendia os requisitos previamente planejado? Quais eram as principais queixas/novas solcitações? | ||
86 | +35. Como você descreveria a plataforma desenvolvida para o SPB? | ||
87 | +36. Você acha que a complexidade da plataforma está condizente com as suas funcionalidades? | ||
88 | +37. Você teve dificuldade em compreender as ferramentas ou a plataforma como um todo? Exemplos? | ||
89 | +38. Você sente confiança em relação ao código entregue? | ||
90 | +39. Você sente confiança em relação as funcionalidades da plataforma? | ||
91 | + | ||
92 | +#### Considerações finais | ||
93 | +40. Se você tivesse que avaliar uma futura parceria entre MPOG e universidade, quais pontos você estaria mais atenta e porque? Quais conselhos você daria a equipe do MPOG que faria o acompanhamento do projeto? |