Yes indeed it is. See fifth translation down: http://www.wordreference.com/es/en/translation.asp?spen=programa
I believe is because programa may not be a software. Software is one of the possible translations for programa, but it's used only for computer programs. Many words have many different meanings, and most of times these different meanings have different translations in other language. However, somtimes there is one translation that apply to all the same different meanings, which is the case here. When is possible I always try to use such words, because they will keep the original meaning of the sentence in any context, rather than only in one particular context.
Design and develop are not pure synonyms. Design is bringing together various ideas and alternatives to create a product to meet certain objectives. The initial design may be just a paper sketch. Like a dress design. For an actual product, the final design should include detailed specification for each component.
Development follows -- it is implementation of the final design into an actual product. Henry Ford designed his model A car and then developed it using the first assembly-line factories.
In practice, the word Development is used as an umbrella that covers everything, including design, implementation, documentation, testing, etc. This seems most true for computer programming where design-level decisions often have to be made by the developer. This can lead to unexpected consequences, aka bugs.
Poder is the infinitive form of a verb, which means to empower. Empowerment, enablement, or capability is most easily expressed as CAN. In the cry of the United Farm Workers... ¡Sí, se puede! Filipenses 4:13 Todo lo puedo en Cristo que me fortalece. LBLA
However, Poder can also be used as a noun, "No tengo poder" I don't have POWER or "No tengo electricidad" I don't have ELECTRICITY. Context and an understanding that nouns are not conjugated will help to differentiate.
“to carry out” is one of the given meanings for desarrollar on the translation drop down. Yet when I gave, “They can carry out a program”, it was marked wrong, and incicated they wanted the translation to be “develop”. Doesn’t the translation depend upon context? Certainly carry out would be a perfectly good translation in this case.