Created at 12pm, Jun 27
t2ruvaSoftware Development
0
Understanding Software Development Processes, Organizations, and Technologies
Y0JV4dx0lkkaJ6lqKrxwcYCyzSX-DOvAYQeZXHOGBa8
File Type
PDF
Entry Count
72
Embed. Model
jina_embeddings_v2_base_en
Index Type
hnsw

Our primary goal is to understand what people do when they develop software and how long it takesthem to do it. To get a proper perspective on software development processes we must study them in theircontext — that is, in their organizational and technological context. An extremely important means ofgaining the needed understanding and perspective is to measure what goes on.Time and motion studies constitute a proven approach to understanding and improving any engineeringprocesses. We believe software processes are no different in this respect; however, the fact that softwaredevelopment yields a collaborative intellectual, as opposed to physical, output calls for careful and creativemeasurement techniques.In attempting to answer the question \'what do people do in software development?\' we haveexperimented with two novel forms of data collection in the software development field: time diaries anddirect observation. We found both methods to be feasible and to yield useful information about timeutilization. In effect, we have quantified the effect of these social processes using the observational data.Among the insights gained from our time diary experiment are 1) developers switch betweendevelopments to minimize blocking and maximize overall throughput, and 2) there is a high degree ofdynamic reassignment in response to changing project and organizational priorities.Among the insights gained from our direct observation experiment are 1) time diaries are a valid andaccurate instrument with respect to their level of resolution, 2) unplanned interruptions constitute asignificant time factor, and 3) the amount and kinds of communication are significant time and socialfactors.

Figure 5 presents a histogram of the duration of time intervals across all study subjects. Note that they tend to be weighted towards the low end of the scale. This indicates that developers rarely have lengthy uninterrupted working time periods, contributing to the inefciency of the overall development process. The signicant number of four hour working segments reects the relatively mundane artifact of a day broken in half by lunch. More interesting are the frequency of two and eight hour segments. Two hour intervals arise from the organizational mandate limiting review meetings to less than or equal to two hours. The signicant number of eight hour segments is due to the fact that the test laboratory is scheduled for either four or eight hour intervals depending on the complexity of the lab setup. 4. The Direct Observation Study
id: e460f9f625cdf7ffc97d0f687ee9573c - page: 9
Although periodic interviews and occasional unannounced visits had convinced us that no conscious misrepresentation was occurring, we sought to check the reports of time usage submitted by software 9 0 0 0 5 0 0 0 4 s r u o H f 0 0 0 3 o r e b m u N a o T t 0 0 0 2 0 0 0 1 0 c r P k r W c o D c r P w e R c o D w e R b a L d e k B l p x E d e k B l v e R d e k B l w H d e k B l w S d e k B l c o D d e k B l d n k W W N g n r T W N a c a V W N y d o H W N l n g s a e R W N r e h t O W N Process State Figure 4: Self-Reported Time Diary Total Time By State The histogram shows the number of self reported time diary hours reported for each process state for all subjects. Note the maximum amount of time is reported in the NW Reasgn state. This reects the dynamic nature of priorities of software development feature work in this enterprise. __________
id: 8fc64982d57d7acc99bdc9c8e9ee8645 - page: 9
Although direct observation and ethnographic studies are fairly common in social science research, they are highly unusual in studies of software development. A common rationale is that "software developers dont like to be (and therefore cannot be) observed." The truth is that no one likes to be observed, but a well-designed experiment can do much to alleviate peoples trepidation. This approach is not entirely without precedent. Hitachi conducted extensive observations of its programmers in the 1960s prior to the design of its software factory [Cusum91]. This section starts by describing the conduct of our observation experiment, followed by a description of some of the unexpected insights its measurements revealed.
id: 57232c39916ab760f9ef948148aea640 - page: 10
4.1 The Direct Observation Calibration Experiment Five software developers were chosen at random from the group participating in the time diary experiment. Two software developers who were not part of the self-reporting experiment were also included for observation; comparison with the other subjects enabled us to assess the impact of selfreporting, given observation. Somewhat surprisingly, no one who was asked refused to participate.
id: a8682fd4543fb47ff4938d79726f2694 - page: 10
How to Retrieve?
# Search

curl -X POST "https://search.dria.co/hnsw/search" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"rerank": true, "top_n": 10, "contract_id": "Y0JV4dx0lkkaJ6lqKrxwcYCyzSX-DOvAYQeZXHOGBa8", "query": "What is alexanDRIA library?"}'
        
# Query

curl -X POST "https://search.dria.co/hnsw/query" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"vector": [0.123, 0.5236], "top_n": 10, "contract_id": "Y0JV4dx0lkkaJ6lqKrxwcYCyzSX-DOvAYQeZXHOGBa8", "level": 2}'