Facebook Pixel fallbackDeveloping sofware for the government | Oceans Code Experts
logo
Developing sofware for the government

Developing sofware for the government

Kevin Esquivel

June 30, 2020

Tech
Business

The public sector is a complex market for software development, the movement to digitize government activities has been trending for decades and more strongly in recent years as needs have evolved. As public administration progresses in the use of technology, there has been a tendency to take ever greater efforts into actions to modernize the way we see and do things.
There are challenges in every organization when migrating processes to digital management, government entities are no exception. In this space, consolidating and completing the development of software successfully proves to be a demanding task. The following are some of the challenges that must be overcome to make way for innovation:


Development team
It is key to have a team of consolidated professionals, with sufficiently robust technical and methodological knowledge. These people must have the competency to stop, investigate, and understand the activities inherent to the organization’s work; in addition to this, specialize in the processes involved in the system to be developed. Similarly, it is important that they can integrate and exchange knowledge with collaborators in the various areas that are involved in the life cycle of the software to be developed.


Volume, hierarchy, and decision making
One of the most important elements is achieving a small group of highly-qualified professionals that are all committed and capable of making key decisions throughout the project. They must have a complete knowledge of the processes that are integrated in the development. It is important that these people are aligned and can make decisions together, since hierarchies and empowerment can be the source of conflicts to face decision-making.
As the project progresses, the volume of decisions to be made and their difficulty increases. The more teams and consequences involved, the harder it will be and the longer it will take to ensure that everyone is aligned. It is essential that the development team can be guided and managed in a timely manner to avoid generating internal conflicts or arbitrary decisions that affect the development result.


Backlog management
The management of pending work is a complex issue in every project, but even more so with government-led development since it works with public funds, it has to be effective and efficient. Requests come from various end users and the smallest development can become a huge tool box. The accumulated work consists of many activities that are not directly related to the main activity, establishing priorities is vital and for this, it is necessary to accompany the client and have the tact to help them understand the best alternatives when organizing the backlog.
Test administration can also be challenging, as much of the testing requires the participation of multiple teams. A second dimension of the complexity of order portfolio management is that many of its elements are not discretionary and are a direct requirement of other teams. These two dimensions make the product owner have a much higher demand to understand the scope of the entire program and thus face a pending job that is correctly sequenced and synchronized with the other teams.


Lining up the teams
Projects rely heavily on the speed calibration of the development team. Misalignment in communication and performance on computers can lead to latencies and inactivity. All teams must cross the finish line at the same time with the same level of integrity, to achieve this, early acceptance of the development ideology by all members is required.


Integration of resources
While there will be full-time members who are fully committed to the project, they will likely have to share their time between multiple teams, the same goes for the product owner side that will not be always available and their time turns out to be the most valuable. The time with the client to get the required information, clarify doubts or obtain approvals is extremely important; but they are not resources assigned solely to the development project, so scheduling in a timely manner and taking advantage of each meeting is a factor directly proportional to the project success. The effective allocation of their time will depend on keeping them aligned with the other teams in the project. Part-time resources outside of team participation should also be managed.


Bureaucracy
To keep the project going, it is typical for senior members to participate in formal reviews. Typically, in large-scale projects, more results and documentation are required to gain full support from all profiles involved in the review, which is challenging over time.


Processes
The automation of processes or digitization, means a study of the pampering and this can reflect shortcomings, opportunities for improvement, and even the elimination of unnecessary steps. Improving processes, reducing time and costs is the responsibility of the development team, which as computer professionals must ensure that their ethics and professionalism remain firm in this regard. Of course, presenting these improvements to the daily activities of the government organization means a clash of ideas and even conflicts with the various fields of action of the agents involved in the current processes of the organization. Communication, discussion, and improvement together is the only way to get ahead in this type of vicissitudes.


Resistance to change
Many of the collaborators of government institutions have spent many years developing their activities and responsibilities in the same way, the fact of incorporating software to favor them is not always well seen since it generates feelings of mistrust and even fear of being dismissed. By public policy, each charge must be maintained, so users must understand that software is only a tool, so that, their work for people is carried out in a better way. Again, communication is a pillar that the end user can understand, adapt, grow, and improve their performance.


Methodology
Based on the size of the project, a strategy must be taken in order to implement the correct methodology. Remember that the agile proposal addresses small processes and projects, so you can start from the principle of “divide and conquer” to divide the requirements in such a way that the problem can be attacked in small parts to form a whole. Other proposals such as the cascade, spiral or prototype model could apply, but it has been proven that in modern development, agile methodologies such as SCRUM set the tone for success.


Documentation
When developing each decision, process, methodology, budget, and code for a government entity, it must be properly and formally documented. Each element of the project must have a sufficiently solid documentation, it must be able to be part of an audit or to be accountable once the project is completed, in the worst case, it is also support to justify components that were not able to be incorporated into the scope.
Providing support to end users, promoting learning and being present to give support is vital, so that the final product of the project is incorporated into the institutional work and it is benefit to the public administration.


In general terms, projects are supposed to provide productivity improvements for achieving this, it is necessary to overcome each of the obstacles and challenges that appear along the way. Furthermore, it is important to surround yourself with a professional team with proven experience. Leaders must listen to team members and make sure they understand and facilitate what they need to do their job.
Many organizations have processes and workflows that have not been updated or may not be adapted to the constant changes that an organization is undergoing. It is necessary to present better ways of working that lead us to be more efficient in the processes. These implies favoring the state and indirectly the people.

About the author

Kevin Esquivel

Kevin Esquivel

An insatiable-for-knowledge coding rockstar with background in software engineering for government institutions. Kevin is constantly looking for new technologies to sharpen his skills in.