forked from 18F/state-faq
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
73 lines (62 loc) · 2.53 KB
/
index.html
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
---
layout: default
categories:
Agile Development: Agile
Modular Procurement: Modular Procurement
Open source: Open Source
---
<div class="home">
<h1>Understanding agile, open source, and modular procurement</h1>
<p>18F’s state and local team is working with states to help them improve how they buy and build software in order to improve services to residents.</p>
<p>18F has had success building software that uses open source code, agile development practices, and modular procurement processes. We believe that modernizing technology acquisitions at all levels of government means deepening how we integrate these practices in all public-sector technology projects. Putting these concepts into practice takes time and education, and over the course of many conversations with state partners on a range of projects, we've encountered some common questions and concerns.</p>
<p>The resources here can help introduce and explain the core concepts we bring to 18F state and local consulting projects.</p>
<p> </p>
<!-- <ul class="post-list">
{% for category in page.categories %}
{% assign ct = category[1] %}
<li>
<h2>{{ category[0] }}</h2>
<ul class="faq-question-list">
{% for question in site.categories[ct] %}
<li>
<h3 onClick="toggleBody(this.parentNode)">
{{ question.title }}
</h3>
<div class="post-body">
{{ question.content }}
</div>
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
<script type="text/javascript">
function toggleBody(node) {
var target = node.getElementsByTagName('div');
if(target) {
target = target[0];
}
var style = getComputedStyle(target);
if(style.height === 0 || style.height.match(/0[ a-zA-Z]?/)) {
target.style.height = 'auto';
var endHeight = getComputedStyle(target).height;
target.style.height = 0;
setTimeout(function() {
target.style.height = endHeight;
target.addEventListener('transitionend', function transitionEnd(event) {
if(event.propertyName == 'height') {
target.style.height = 'auto';
target.removeEventListener('transitionend', transitionEnd, false);
}
}, false);
}, 1);
} else {
target.style.height = style.height;
setTimeout(function() {
target.style.height = 0;
}, 1);
}
}
</script> -->
</div>