Commit 8c330652d7a24d6c8fe2c44202b6d0d1e04ee200
Exists in
master
and in
3 other branches
Merge branch 'master' of softwarepublico.gov.br:softwarepublico/articles
Showing
1 changed file
with
74 additions
and
66 deletions
Show diff stats
opensym2017/content/09-lessons.tex
| 1 | \section{Lessons Learned and Conclusion} | 1 | \section{Lessons Learned and Conclusion} |
| 2 | \label{sec:lessons} | 2 | \label{sec:lessons} |
| 3 | 3 | ||
| 4 | -The multidisciplinary composition of the development teams, mainly software | ||
| 5 | -engineers and designers, is necessary for the development of good software | ||
| 6 | -products, which naturally aim to meet the users needs. In the context of the | ||
| 7 | -SPB project, there were also stakeholders from different areas who composed the | ||
| 8 | -team of technicians and managers of the MP, as well as the administrative teams | ||
| 9 | -of UnB. This interaction with different professionals brought a great learning | ||
| 10 | -opportunity for the students, who had their first professional experience, even | ||
| 11 | -during their graduation course. On the other hand, the different perceptions of | ||
| 12 | -stakeholders generated high complexity of communications and expectations | ||
| 13 | -management, burdening too much the professors who were responsible for project | ||
| 14 | -management. | ||
| 15 | - | ||
| 16 | -The use of the Colab tool was a requirement required by the MP. They argueed | ||
| 17 | -that this tool presented functionalities that would allow MP managers to | ||
| 18 | -stimulate the participation of SPB service providers with gamefication | ||
| 19 | -practices. As we said, in order for Colab to perform the expected behavior in | ||
| 20 | -SPB its architecture had to be completely redefined and this caused in | ||
| 21 | -practice, (i) the considerable increase in the architectural complexity of the | ||
| 22 | -SPB and (ii) it was the subsystem that consumed the most effort and budget | ||
| 23 | -during development. | ||
| 24 | - | ||
| 25 | -Due to the computational complexity related to the SPB deployment, associated | ||
| 26 | -with the Brazilian government needs for product support, we made an effort to | ||
| 27 | -provide complete automation of the entire deployment procedure, a result of | ||
| 28 | -DevOps activities. In this way, we encapsulate all this complexity and enable | ||
| 29 | -the deployment of new SPB releases through the execution of few commands, as | ||
| 30 | -registered in the project documentation. Although we have provided a high | ||
| 31 | -degree of automation, training workshops for the MP technical team, and a | ||
| 32 | -meticulous description of the procedures in the documentation, we observed that | ||
| 33 | -the MP technical staff invariably depended on our support to perform these | ||
| 34 | -procedures. | 4 | +The multidisciplinary of the development teams - mainly composed of software |
| 5 | +engineers and designers - it is necessary for the development of a software | ||
| 6 | +product that naturally fit the user requirements and consequently achieve a | ||
| 7 | +high quality. In the context of the SPB project, there was a stakeholders team | ||
| 8 | +of technicians and managers of the MP, as well as the administrative team of | ||
| 9 | +the UnB. The interaction with different professionals contributed as a great | ||
| 10 | +learning opportunity for the students, which had their first professional | ||
| 11 | +experience during their graduation course. On the other hand, the different | ||
| 12 | +perceptions of the stakeholders generated a high complex communication and | ||
| 13 | +management environment. All of this complication generated a lot of overhead | ||
| 14 | +for the professors because they were responsible for the project management. | ||
| 15 | + | ||
| 16 | +At the initial phases of the project, MP imposed the integration of Colab to | ||
| 17 | +the platform by the claim that it had gamification features, which would | ||
| 18 | +encourage MP managers to be active on the platform. Since the first moment that | ||
| 19 | +MP demands it to us, we were totally against the idea because we already knew | ||
| 20 | +that Colab was a very experimental project and its adoption could dramatically | ||
| 21 | +increase the project complexity. Even though we provided technical reasons to | ||
| 22 | +not utilize Colab, MP enforces it to us and we had to manage this problem. As | ||
| 23 | +explained in section \ref{sec:architecture} we did a massive change in it, and | ||
| 24 | +at the end of the project we completely rewrite Colab and made it stable. It is | ||
| 25 | +important to notice that the MP compelled us to accept a technical issue based | ||
| 26 | +only on political interests, without considering all the money they would spend | ||
| 27 | +with their decision. At the end of the project, we verified that Colab consumed | ||
| 28 | +a vast amount of the budget and indeed increased the project complexity. In the | ||
| 29 | +end of the project and after our analyses on the decisions made by the MP, we | ||
| 30 | +understand that MP's managers are capable of ignoring technical reasons in | ||
| 31 | +favor to a political decision. | ||
| 32 | + | ||
| 33 | +In the process of deploying the SPB platform in the MP structure, we had to | ||
| 34 | +interact with the MP's technicians. We did several workshops, training and a | ||
| 35 | +meticulous documentation describing all the required procedures to update the | ||
| 36 | +platform, however, we realized that the MP's technicians constantly avoid the | ||
| 37 | +responsibility. After notice the aforementioned situation, we organized a | ||
| 38 | +specific team to start a DevOps activities and interacts with all the UnB | ||
| 39 | +teams. After a year of work, we completely automated all the deployment | ||
| 40 | +procedure. We simplified all the platform implantation to a few steps: (1) | ||
| 41 | +initial configurations (just ssh configuration) and (2) the execution of simple | ||
| 42 | +commands to completely update the platform. In the end of the project, we | ||
| 43 | +observed that the MP technical invariably depends on our support to update the | ||
| 44 | +platform even with all the automation provided by us. | ||
| 35 | 45 | ||
| 36 | From the point of view of management and development processes, we had to | 46 | From the point of view of management and development processes, we had to |
| 37 | -develop management strategies that would accommodate different organizational | ||
| 38 | -cultures. As reported, the MP has a functional hierarchical organizational | ||
| 39 | -culture, strongly supported by process management, typical of the traditional | ||
| 40 | -development paradigm. The UnB teams use a process based on agile manifest | ||
| 41 | -values and FOSS and agile community practices. So we created a process of | ||
| 42 | -"translation" of work done to communicate with MP managers who manage their | ||
| 43 | -portfolio based on the PMBoK processes. On the one hand, in the intermediary | ||
| 44 | -and final project's phases we have matured this process, mainly due to the | ||
| 45 | -perception of the results by MP, on the other hand, in the initial phase we had | ||
| 46 | -a lot of intervention in our work style, which ended up focusing strategic | ||
| 47 | -discussions for operational discussions. Again there was an overload in | ||
| 48 | -professors, who were responsible for maintaining the strategic alignment of the | ||
| 49 | -MP with the day to day development of the UnB team. | ||
| 50 | - | ||
| 51 | -Another importance factor for the students and maturing of the software | ||
| 52 | -engineering practices used in the project was the composition of the teams with | ||
| 53 | -the participation of experienced professionals from the FOSS communities. These | ||
| 54 | -professionals together with the professors promoted a work environment where | ||
| 55 | -the students could develop their skills in a didactic and practical way without | ||
| 56 | -being transferred the pressures for them. In addition, these experienced | ||
| 57 | -professionals were responsible for the most relevant technical decisions | ||
| 58 | -related to the SPB software product. | 47 | +develop strategies that would support different organizational cultures. As |
| 48 | +reported in Section \ref{sec:process}, the MP is organized in a functional | ||
| 49 | +hierarchical organizational structure, typically, a traditional development | ||
| 50 | +paradigm. The UnB team works based on agile manifest values and FOSS community | ||
| 51 | +practices. Therefore, we had to create a translation process to communicate | ||
| 52 | +with MP managers who manage their project based on the PMBoK ideas. On the one | ||
| 53 | +hand, in the intermediary and final project's phases, we had matured this | ||
| 54 | +process, mainly due to the perception of the results by the MP, on the other | ||
| 55 | +hand, in the initial phase we had a lot of intervention in our work style, | ||
| 56 | +which ended up focusing strategic discussions for operational discussions. The | ||
| 57 | +aforementioned situation created an overload to the professors because they | ||
| 58 | +were responsible for maintaining the strategic alignment of the MP synchronized | ||
| 59 | +with the development team. | ||
| 60 | + | ||
| 61 | +Another important factor for the students was the composition of the teams with | ||
| 62 | +the participation of senior professionals from the FOSS communities. These | ||
| 63 | +professionals and professors promoted a work environment where the students | ||
| 64 | +could develop their skills in a didactic way without transferring any pressure | ||
| 65 | +to the students. Addition, these experienced professionals were responsible for | ||
| 66 | +the most relevant technical decisions related to the SPB software product. | ||
| 59 | 67 | ||
| 60 | % * Gestão dos recursos: Fizemos mais por menos (2.6M de 3.2M) --- sem os dados | 68 | % * Gestão dos recursos: Fizemos mais por menos (2.6M de 3.2M) --- sem os dados |
| 61 | %% (escopo, custo, tempo e qualidade) bem discutidos é difícil sustentar essa | 69 | %% (escopo, custo, tempo e qualidade) bem discutidos é difícil sustentar essa |
| 62 | %% afirmação, embora eu e Paulo consigamos perceber isso. | 70 | %% afirmação, embora eu e Paulo consigamos perceber isso. |
| 63 | 71 | ||
| 64 | -The experience of the SPB project led UnB to develop a model of team | ||
| 65 | -composition and work style that proved to be appropriate to the cararteristics | ||
| 66 | -of an education environment, bringing the academy closer to the industry. The | ||
| 67 | -highest priority from the university's point of view is the students. | ||
| 68 | -Considering this, the activities of the project were never prioritized to the | ||
| 69 | -detriment of the classes and other didactic-pedagogical activities. In short we | ||
| 70 | -had students working at different times, part time, remotely or presential, | ||
| 71 | -always respecting their individual conditions, but doing the work in a | ||
| 72 | -collective, collaborative and open way. At the end of the project we realized | ||
| 73 | -that the skills developed by the students empowered them with the state in the | ||
| 74 | -practice of software engineering. The members of the teams got opportunities to | ||
| 75 | -work in public, private, national and international organizations, in addition | ||
| 76 | -to those students they preferred entrepreneurship, opening their own companies. | 72 | +The experience of the SPB project led UnB to develop a work style which proved |
| 73 | +to be appropriated to the characteristics of an educational environment and | ||
| 74 | +brings the academy closer to the industry. The highest priority from the | ||
| 75 | +university's point of view is the students, considering this, the activities of | ||
| 76 | +the project were never prioritized to the detriment of the classes and other | ||
| 77 | +pedagogical activities. In summary, we had students working at different times, | ||
| 78 | +part time, remotely or locally, always respecting their individual conditions, | ||
| 79 | +but doing the work in a collective, collaborative and open way. At the end of | ||
| 80 | +the project, we realized that the skills developed by the students empowered | ||
| 81 | +them with the state in the practice of software engineering. The members of the | ||
| 82 | +teams got opportunities to work in public, private, national and international | ||
| 83 | +organizations, in addition to those students they preferred entrepreneurship, | ||
| 84 | +opening their own companies. | ||
| 77 | 85 | ||
| 78 | %=========== | 86 | %=========== |
| 79 | % Conclusion | 87 | % Conclusion |