DoD Code at Large Vs. General Issues - Deepstash

DoD Code at Large Vs. General Issues

  • The array of contributors that feed into a large software effort create a number of potential concerns. 
  • Software delivered from contributors will be of varying quality, style, and structure. 
  • The integration into a larger system creates the potential for complex issues. 
  • Engineering organizations that feed into the DoD do not always deliver systems that include comprehensive architecture and design considerations.

Solution: Accept that large systems may require extra people power to integrate, test, and maintain. Over time, some engineers develop a deep, organic understanding of a system.

STASHED IN:

2

MORE IDEAS FROM Navigating People Concerns when Transitioning from Sustainment to Engineering Software-Reliant Systems

In organizations where professional-development opportunities are limited, team members’ working problems alone will not develop and enhance their skills and may not advance their careers.

One solution is to Incentivize teams through alignment with industry pay practices. Organizations can create rewards for teams and individuals who improve product iteration latency through the use of reuse, COTS, open-source, and open standards.

STASHED IN:

2

Understanding human factors are especially important as we develop new models for remote work. Managers could use human factors research to shape a remote work environment with fewer sustained work hours and fewer concurrent projects that in turn fosters more secure development practices.

STASHED IN:

2

Software sustainment groups often churn out fixes that are narrowly scoped, without consideration for the global view. Effective software solutions require collaboration, leverage experience, and provide analysis of the architecture and design applied to meet the requirements.

Some ‘just works’ patterns arise from time pressures, narrow mindsets, and lack of experience.

STASHED IN:

2

  1. Learn and apply relevant patterns and idioms.
  2. Create a defined context for your coding effort.
  3. Learn and apply modern quality assurance practices and tools.

1

STASHED IN:

2

Engineering large, complex systems and systems-of-systems cannot be done in isolation. Engineers must create interfaces among software components and subsystems and set expectations for how the systems may behave when interacting. Groups of strong individual contributors accustomed to working problems alone may not easily transition to this collaborative setting.

STASHED IN:

2

Team-building exercises can be viewed as soft by some organizations. However, their value has been proved through research showing that people are more likely to share an idea and accept feedback from someone with whom they regularly engage on topics not directly related to work.

STASHED IN:

2

COVID-19 has created social distancing protocols that mandate remote work for many employees. The extra effort needed to stay connected to team members is more widely understood. Savvy managers will have remote members at the top of their checklists when making decisions that affect their teams, demonstrating that priority to the entire team in everyday actions.

Virtual brown bag lunch situations and happy hours have enabled connections and team building, and have generally positive effects on well-being.

STASHED IN:

2

It is important to know more about these issues because an increasing amount of empirical evidence points us in this direction. Also, we believe that there is a need to change what is made available to the practitioners today in terms of software engineering knowledge, and make them realize the importance of these issues and incorporate them into everyday project development and management practices.

STASHED IN:

2

Deepstash helps you become inspired, wiser and productive, through bite-sized ideas from the best articles, books and videos out there.

GET THE APP:

RELATED IDEA

Origin of a Platform team

With growing pains, software entropy kicked in and product developers had to manage several cross-cutting concerns along with their feature work and timelines.

We need to solve problems holistically to handle multiple teams and applications instead of just the projects at hand

1

STASHED IN:

8

Platform level problems

TLDR; Scaling teams are hard. A platform team done right can help ease the hardships.

At Conde Nast International we grew from a team of 20 engineers to less than 100 in less than a year. We found out that building out a system that will be used in many markets has a lot of moving parts and repetition. For example rebuilding the infrastructure and application configuration. Adding third party add-on software. Building the application using CDN redirects. DNS registration and configuration.

1

STASHED IN:

6

Critical systems must be both safe from inadvertent harm and secure from malicious actors. However, safety and security practices have historically evolved in isolation. Safety-critical systems, such as aircraft and medical devices, have long been analyzed for problems that could arise accidentally or from component degradation.

They have been considered standalone systems, however, that were impervious to security issues because they had no networking capabilities. 

2

STASHED IN:

2