-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpostmortem.html
More file actions
159 lines (155 loc) · 7.6 KB
/
Copy pathpostmortem.html
File metadata and controls
159 lines (155 loc) · 7.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf8"/>
<title>Combat Critters | Postmortem</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<nav class="navbar sticky-top navbar-expand-lg bg-dark navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href=".">Combat Critters</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar1" aria-controls="navbar1" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar1">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" aria-current="page" href=".">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="team.html">Our Team</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="postmortem.html">Postmortem</a>
</li>
</ul>
</div>
</div>
</nav>
<main style="min-height: 100vh">
<div class="container mt-5">
<h1>Postmortem</h1>
<div>
<h2>Iteration 2 retrospective followup</h2>
<p>
A problem our group had in the first two iterations of this project was procrastination; we would only really get started on the iteration a week before the deadline. For iteration 3, we all decided it would be a good idea to start working right away and not leave things until the last minute. Our method of measuring this was to compare the frequency of commits at the beginning of the iteration with the frequency of commits at the end of the iteration and if we found that the frequencies were similar, it would provide us good evidence we met our goal. After analyzing these frequencies, we feel that we were fairly successful in this goal. Overall, our frequency of commits stayed relatively stable throughout the iteration (between 10-40 commits per day). It was only two days before the deadline that our commits ramped up (March 26, with 90 commits). Despite this, it was still a major improvement in our time management compared to the first two iterations.
</p>
<h4>Commits over time</h4>
<img src="commitGraph.png" alt="Graph showing commits over time" class="img-fluid"/>
</div>
<hr/>
<div>
<h2>What we’d do differently</h2>
<h4>Directories for each system</h4>
<p>
Around halfway through iteration 2 it became clear that we should have been organizing files better, there are parts of logic that use 5+ files that could be grouped into a directory. This would have made working with the project a bit easier since it would have been easy to tell what was grouped together. Related to this, we probably should have defined more about these systems up front, for example everything related to the players inventory probably could have been grouped more effectively.
</p>
<h4>Execution of Battles</h4>
<p>
Battles as a single feature in Iteration 3 was a good idea in terms of ensuring that we had enough finished features (so we didn’t focus on making new features in the game which would often be shallow). However in hindsight, battles is made up of 2 or 3 features which could have been split over iteration 2 and 3 or been the only focus of iteration 3. It was effectively impossible to realize this without actually starting the battles which didn’t happen until later in Iteration 3 since we had some carry over from Iteration 2, so we couldn’t really adapt.
</p>
<h4>Scope Creep</h4>
<p>
Overall architecture of the system was absolutely insane. I do not think any of us imagined how large and complex this project would end up being. We were probably victims of scope creep.
</p>
</div>
<hr/>
<div>
<h2>Project Stats</h2>
<h4>General Stats</h4>
<table class="table">
<tbody>
<tr>
<td>Testable Classes</td>
<td>182</td>
</tr>
<tr>
<td>Testable Methods</td>
<td>983</td>
</tr>
<tr>
<td>Testable Lines</td>
<td>3550</td>
</tr>
<tr>
<td>Testable Branches</td>
<td>1137</td>
</tr>
<tr>
<td>Total Files</td>
<td>534</td>
</tr>
<tr>
<td>Total Directories</td>
<td>72</td>
</tr>
<tr>
<td>Total lines in .java files</td>
<td>21091</td>
</tr>
<tr>
<td>Merges</td>
<td>134</td>
</tr>
<tr>
<td>Issues closed</td>
<td>207</td>
</tr>
<tr>
<td>Commits</td>
<td>1746</td>
</tr>
</tbody>
</table>
<h4>Classes per Layer</h4>
<table class="table">
<tr>
<td>UI</td>
<td>64</td>
</tr>
<tr>
<td>Logic</td>
<td>53</td>
</tr>
<tr>
<td>Data</td>
<td>44</td>
</tr>
<tr>
<td>DSO</td>
<td>20</td>
</tr>
</table>
</div>
<hr/>
<div>
<h2>
Outstanding Bugs
</h2>
<ul>
<li>
Not technically a bug but we didn’t finish the item cards for battles and accidentally left in a <code>throw UnsupportedOperationException</code>
</li>
<li>
There is a crash related to opening packs that we never tracked down and only occurred occasionally
</li>
</ul>
</div>
<div>
<h2>
Changes from Iteration 1
</h2>
<p>
The project was originally supposed to be a card collecting and battling game and that is exactly what it is. I don’t think it changed much from our initial idea but I do think that we all underestimated just how large of a project this would become. That being said, it is super cool so we wouldn’t change a thing.
</p>
</div>
</div>
</main>
<div class="mt-5 p-4 bg-dark text-white text-center" style="bottom:0; position: relative; width: 100%">
Page feels kinda wrong without this but idk what to put here so have a cat =^.^=
</div>
</body>
</html>