Este artículo fue coescrito por Stephen Cognetta, MBA. Stephen Cognetta es cofundador y CEO de Exponent, una plataforma de aprendizaje que ayuda a las personas a prepararse para sus entrevistas tecnológicas y terminarlas con éxito. Stephen se especializa en coaching para gestión de productos, ingeniería de software, marketing de productos, administración, administración de proyectos técnicos y entrevistas de ciencia de datos. Stephen tiene una licenciatura en Ingeniería Informática de la Universidad de Princeton, donde se graduó Summa Cum Laude, y una maestría en Administración de Empresas de la Universidad de Stanford. Antes de fundar Exponent, Stephen trabajó como gerente de productos para Google y cofundó HackMentalHealth.
Este artículo ha sido visto 288 393 veces.
Actualmente, los programas de computador están implementados en todas partes, desde los automóviles hasta los teléfonos y pasando por casi cualquier empleo que existe. A medida que el mundo se vuelve cada vez más digital, la necesidad de programas nuevos siempre irá en aumento. Si tienes una idea asombrosa para un programa, ¿por qué no la haces por tu cuenta? Lee el primer paso que está debajo para saber cómo empezar a aprender un lenguaje de programación, desarrollar tu idea para convertirla en un producto estable e iterar los procesos del programa hasta que esté listo para su lanzamiento.
Pasos
Parte 1
Parte 1 de 6:Prepara una idea
-
1Piensa en varias ideas. Un buen programa llevará a cabo una tarea que simplificará la vida del usuario. Examina el programa que está disponible actualmente para cumplir la tarea que quieres hacer y revisa si existe la manera de hacer que el proceso sea más fácil o estable. Un programa exitoso es aquél que los usuarios encuentren muy útil.
- Examina las tareas diarias que haces en tu computador. ¿Existe la manera de automatizar algunas de esas tareas con un programa?
- Escribe todas las ideas que se te ocurran. Incluso si parece algo tonto o extravagante, puede tratarse de algo que podría convertirse en algo útil o incluso brillante.
-
2Examina otros programas. ¿Qué es lo que hacen? ¿Cómo podrían hacerlo de una mejor manera? ¿Qué es lo que les falta? Las respuestas a estas preguntas pueden ayudarte a pensar en ideas para tu propia perspectiva.
-
3Escribe un documento de diseño. Esto documento explicará las características del proyecto y lo que quieres lograr con él. Al remitirte al documento de diseño durante el proceso de desarrollo harás que el proyecto no pierda su rumbo y permanezca enfocado. Lee esta guía para conocer más detalles acerca de cómo escribir este documento. El documento de diseño también te ayudará a decidir el lenguaje de programación más conveniente para tu proyecto.
-
4Empieza con algo sencillo. Cuando apenas comiences con la programación informática, es conveniente que empieces con un proyecto pequeño y que lo amplíes con el tiempo. Aprenderás mucho más si fijas metas concretas que puedes alcanzar con un programa básico. .
Parte 2
Parte 2 de 6:Aprende un lenguaje de programación
-
1Descarga un buen editor de texto. Casi todos los programas se escriben en editores de texto y se compilan para que un computador los pueda ejecutar. Aunque puedes usar programas con el Bloc de notas o TextEdit, es muy recomendable que descargues un editor que resalte la sintaxis como Notepad++, JEdit o Sublime Text. Esto hará que sea más fácil analizar tu código visualmente.
- Algunos lenguajes como Visual Basic incluyen un editor y un compilador en un solo paquete.
-
2Aprende un lenguaje de programación. Todos los programas se crean por medio de los códigos. Por lo tanto, si quieres crear tus propios programas, necesitarás estar familiarizado(a) con al menos un lenguaje de programación. Los lenguajes que necesites aprender dependerán del tipo de programa que quieres crear. Algunos de los lenguajes más útiles e importantes incluyen:
- C. Este es un lenguaje de bajo nivel que interactúa muy de cerca con el hardware del computador. Es uno de los lenguajes de programación más antiguos que aún tienen un uso extendido.
- C++. La mayor desventaja de C es que no está orientado a los objetos. Aquí es donde entra C++. Actualmente, C++ es el lenguaje de programación más popular del mundo. Los programas como Chrome, Firefox, Photoshop y muchos más están hechos con C++. También es un lenguaje muy popular para crear videojuegos.
- Java. Java es la evolución del lenguaje C++ y es extremadamente versátil. La mayoría de computadores (independiente de su sistema operativo) pueden ejecutar una máquina virtual Java, lo que permite usar el programa casi universalmente. Se usa ampliamente en los videojuegos y en los programas empresariales, además de estar recomendado a menudo como un lenguaje esencial.
- C#. Este lenguaje basado en Windows es uno de los más importantes para crear programas para este sistema operativo. Está relacionado estrechamente con los lenguajes Java y C++, por lo que debe ser fácil de aprender si estás familiarizado(a) con Java. Si quieres hacer un programa para los sistemas operativos Windows o Windows Phone, querrás analizar este lenguaje.
- Objective-C. Este es otro lenguaje relacionado con el C que está diseñado específicamente para los sistemas Apple. Si quieres crear aplicaciones para el iPhone o el iPad, este es el lenguaje que necesitas.
-
3Descarga el compilador o el intérprete. Para cualquier lenguaje de alto nivel como C++, Java y muchos más, necesitarás un compilador para convertir tu código en un formato que pueda usar el computador. Hay una variedad de compiladores para escoger, dependiendo del lenguaje de programación que utilices.[1]
- Algunos lenguajes son "interpretados", lo que quiere decir que no necesitan un compilador. En vez de eso, solo necesitan que el intérprete del lenguaje esté instalado en el computador para que el programa se ejecute instantáneamente. Algunos ejemplos de lenguajes interpretados son el Perl y el Python.
-
4Aprende los conceptos básicos de la programación. Independiente del lenguaje que elijas, probablemente necesitarás entender algunos conceptos básicos comunes. Al saber la forma de manejar la sintaxis del lenguaje podrás crear programas mucho más potentes. Algunos conceptos comunes incluyen:
- Declarar variables. Las variables son la manera en la que los datos quedan guardados temporalmente en el programa. Después, estos datos pueden guardarse, modificarse, manipularse y llamarse en el programa.
- Usar sentencias condicionales como "If, else, when" (si esto ocurre, de lo contrario, cuando ocurra esto), entre otras. Estas son unas de las funciones básicas de los programas y determinan la manera en la que funciona la lógica. Las sentencias condicionales giran alrededor de las sentencias de "verdadero" y "falso".
- Usar bucles como "for, goto, do" (para, ir a, hacer) entre otros. Los bucles que permiten repetir los procesos varias veces hasta que se dé el comando de parar.
- Usar secuencias de escape. Estos comandos ejecutan funciones como crear líneas nuevas, guiones, comillas, etc.
- Comentar el código. Los comentarios son esenciales para recordar lo que hace tu código, ayudar a otros programadores a entenderlo y para deshabilitar partes de él temporalmente.
- Entiende las expresiones regulares.
-
5Encuentra algunos libros sobre el lenguaje que escojas. Hay libros para todos los lenguajes y niveles de experiencia. Puedes encontrar libros sobre programación en la librería de tu localidad o en cualquier tienda en línea. Un libro puede ser una herramienta invaluable, ya que puedes tenerlo a la mano mientras trabajas.
- Más allá de los libros, el internet es una mina valiosa interminable de guías y tutoriales. Busca guías del lenguaje de tu elección en sitios web como CodeAcademy, Code.org, Udemy, Khan Academy entre muchos más.
-
6Toma algunas clases. Cualquier persona puede aprender por su cuenta a crear un programa si se esfuerza, pero en ocasiones recibir clases de un profesor en un ambiente académico puede resultar realmente beneficioso. Las clases individuales con un experto pueden reducir enormemente el tiempo que necesitas para comprender los fundamentos y los conceptos de la programación. De igual forma, las clases son un buen lugar para aprender las matemáticas avanzadas y la lógica que necesitarás para crear programas más complejos.
- Las clases no son gratuitas, así que asegúrate de inscribirte en sesiones que te ayudarán a aprender lo que en realidad quieres saber.
-
7Pregunta. El internet es una manera fantástica de conectarte con otros desarrolladores. Si tienes un proyecto muy difícil en el que no puedes avanzar, pide ayuda en sitios web como "Entre desarrolladores". Asegúrate de preguntar de una manera inteligente y de justificar que trataste de solucionar tu problema de varias maneras.
Parte 3
Parte 3 de 6:Construye tu prototipo
-
1Empieza escribiendo un programa básico con tu funcionalidad principal. Esto será el prototipo que mostrará la funcionalidad que deseas alcanzar. Un prototipo es un programa rápido en el que debes iterar hasta que encuentres un diseño que funcione. Por ejemplo, si estás creando un programa de calendarios, tu prototipo sería un calendario básico (¡con las fechas correctas!) que proporcione la opción de añadir eventos.
- A medida que crees el prototipo, deberás usar un enfoque descendente. Omite la mayor cantidad posible de detalles al principio. Luego agrega cada vez más detalles poco a poco. Esto acelerará el proceso de crear un prototipo y también evitará que el código se vuelva demasiado complejo e inmanejable. Si este se vuelve muy difícil de seguir, podrías tener que iniciar todo de nuevo.
- Tu prototipo cambiará frecuentemente durante el ciclo de desarrollo a medida que elaboras formas nuevas de solucionar los problemas o piensas en una idea posterior que quieres incorporar.
- Si estás creando un juego, ¡tu prototipo debe ser divertido! Si el prototipo no es divertido, es probable que el videojuego completo tampoco lo sea.
- Si la mecánica que deseas simplemente no funciona en el prototipo, entonces quizás sea el momento de empezar de nuevo.
-
2Reúne un equipo. Si estás desarrollando un programa por tu cuenta, puedes usar un prototipo para reunir un equipo. Un equipo te ayudará a localizar más rápido los errores, iterar las características y diseñar el aspecto visual del programa.
- Aunque un equipo definitivamente no es necesario para los proyectos pequeños, ayudará a reducir significativamente el tiempo de desarrollo.
- Administrar un grupo de personas es un proceso complejo y difícil que requiere de buenas habilidades de gestión y una estructura sólida del equipo. Lee esta guía para conocer más detalles acerca de cómo liderar un grupo.
-
3Si es necesario, empieza desde el principio. Cuando estés familiarizado(a) con el lenguaje, probablemente puedas poner en funcionamiento los prototipos en solo unos días. Debido a su naturaleza rápida y si no estás feliz con el resultado, no temas desechar tu idea y comenzar desde el principio adoptando un ángulo diferente. Es mucho más fácil hacer cambios importantes en esta etapa del proyecto que en el futuro, cuando las características empiecen a quedar en su lugar.
-
4Coméntalo todo. Usa la sintaxis de comentarios en tu lenguaje de programación para dejar notas en casi todas las líneas de código, a excepción de las más básicas. Si tienes que alejarte del proyecto por un tiempo, esto te ayudará a recordar lo que estabas haciendo, además de ayudarle a otros desarrolladores a entender tu código. Esto es especialmente importante si estás trabajando como parte de un equipo de programación.
- Durante las pruebas, puedes usar los comentarios para deshabilitar temporalmente algunas partes de tu código. Simplemente encierra el código que quieres deshabilitar con la sintaxis de comentarios para que no se compile. Puedes borrar la sintaxis de comentarios para restablecer el código.
Parte 4
Parte 4 de 6:Pruebas alfa
-
1Reúne un equipo de pruebas. En la etapa alfa, el equipo de pruebas puede y debe ser pequeño. Un grupo pequeño te proporcionará comentarios centrados y te da la capacidad de interactuar individualmente con las personas del equipo. Cada vez que le hagas actualizaciones al prototipo, se envían las versiones a los miembros del equipo de pruebas alfa. Estas personas probarán todas las características incluidas y tratarán de dañar el programa mientras documentan sus resultados.
- Si estás desarrollando un producto comercial, querrás asegurarte de que todos los miembros del equipo de pruebas firmen un acuerdo de confidencialidad. Esto evitará que le cuenten a otras personas sobre el programa y prevendrá las fugas de información a la prensa y a otros usuarios.
- Tómate algo de tiempo para proponer un plan de pruebas sólido. Asegúrate de que todos los miembros del equipo de pruebas tengan una manera sencilla de reportar los errores del programa y de acceder a las versiones nuevas del prototipo. Los repositorios de código son una manera excelente y sencilla de manejar este aspecto.
-
2Prueba tu prototipo varias veces. Los errores son la perdición de cualquier desarrollador. Los fallos en el código y el uso inesperado pueden ocasionar todo tipo de problemas en el producto terminado. A medida que sigues trabajando en tu prototipo, hazle todas las pruebas que puedas. Haz todo lo posible para dañar tu programa y luego trata de evitar que eso ocurra en el futuro.
- Si tu programa maneja fechas, prueba ingresando fechas extrañas. Las fechas realmente antiguas o demasiado futuras pueden ocasionar reacciones extrañas en el programa.
- Ingresa el tipo incorrecto de variables. Por ejemplo, si tienes un formulario que le pregunta la edad al usuario, en su lugar ingresa una palabra y observa lo que ocurre con el programa.
- Si tu programa tiene una interfaz gráfica, haz clic en todo. ¿Qué ocurre cuando regresas a una pantalla anterior o haces clic en los botones en el orden equivocado?
-
3Soluciona los errores en el orden de prioridad. Al revisar el programa en la etapa alfa, pasarás mucho tiempo arreglando características que no sirven correctamente. Cuando organices los reportes de errores para el equipo de pruebas, tendrás que dar dos criterios para organizar los resultados: gravedad y prioridad.
- La gravedad de un error es una medida para determinar el daño que causa. Los errores que hacen fallar al programa, corrompen los datos y evitan que el programa se ejecute se conocen como "bloqueadores". Las características que no sirven o que proporcionan resultados incorrectos se conocen como errores "críticos", mientras que las características difíciles de usar o de mal aspecto se conocen como errores "importantes". También hay errores normales, menores y triviales que afectan las secciones más pequeñas o las características menos importantes.
- La prioridad de un error determina el orden que debe tener cuando te pongas a la tarea de solucionar los problemas. Arreglar los errores de un programa es un proceso que demora bastante y le resta tiempo a las tareas de agregar características y perfeccionar el programa. Por lo tanto, tienes que tener en cuenta la prioridad de un error para asegurarte de cumplir con las fechas límite. Todos los errores bloqueadores y críticos toman la prioridad más alta, en ocasiones conocida como "P1". Los errores de tipo "P2" generalmente son aquellos clasificados como "importantes" que tienen programado su arreglo, pero no impiden que el producto final llegue a su destino. Los errores de tipo "P3" y "P4" generalmente no tienen programada una fecha para su arreglo y entran en la categoría de "características deseables".
-
4Agrega más características. Durante la fase alfa agregarás más características al programa para hacer que se acerque al concepto descrito en el documento de diseño. La etapa alfa es donde el prototipo evoluciona en la base para el programa completo. Al final de la etapa alfa, tu programa debe tener implementadas todas sus características.
- No te alejes demasiado de tu documento de diseño original. Un problema común en el desarrollo de software es la "funcionalitis creciente", en el que se siguen añadiendo ideas nuevas que hacen perder el enfoque original y dividen el tiempo de desarrollo en muchas características diferentes. Quieres que tu programa sea el mejor en lo que se supone que debe hacer, más no una herramienta que sirva para todo.[2]
-
5Prueba cada característica a medida que la agregas. A medida que agregas características al programa durante la fase alfa, envía la versión nueva al equipo de pruebas. La frecuencia de las versiones nuevas dependerá completamente del tamaño de tu equipo y del progreso que hagas en las características.
-
6Bloquea tus características cuando la etapa alfa termine. Cuando implementes todas las características y funciones en tu programa, puedes terminar la fase alfa. En este punto no debes añadir más características y las que están incluidas básicamente deben funcionar. Ahora puedes seguir a una etapa de pruebas y perfeccionamiento más amplia, conocida como la fase beta.
Parte 5
Parte 5 de 6:Pruebas beta
-
1Aumenta el número de personas en tu equipo de pruebas. En la fase beta, el programa se pone a disposición de un número más grande de personas encargadas de hacer las pruebas. Algunos desarrolladores hacen pública la fase beta, lo cual se conoce como "beta abierta". Esto permite que cualquier persona se inscriba y participe en las pruebas del producto.
- Dependiendo de las necesidades de tu producto, determinarás la viabilidad de hacer una fase beta abierta.
-
2Prueba la conectividad. Ya que los programas están interconectados entre sí cada vez más, hay una buena probabilidad de que tu programa dependa de las conexiones con otros productos o servidores. Las pruebas beta te permiten asegurarte de que estas conexiones funcionan bajo una carga pesada, lo cual en última instancia te garantiza que el público podrá utilizar tu programa cuando llegue el momento del lanzamiento.
-
3Perfecciona tu programa. En la fase beta no se agregan más características, así que puedes concentrar tu atención en mejorar la estética y la facilidad de uso del programa. En esta fase, el diseño de la interfaz del usuario se convierte en una prioridad, ya que es importante garantizar que los usuarios no tengan problemas para navegar por el programa o aprovechar las características.
- El diseño y la funcionalidad de la interfaz del usuario pueden ser muy complejas. Hay personas cuya profesión es el diseño de interfaces del usuario. Solo asegúrate de que tu proyecto personal sea fácil de usar y agradable a la vista. Quizás no sea posible desarrollar una interfaz del usuario profesional sin un presupuesto ni un equipo.
- Si tienes el presupuesto, existen muchos diseñadores gráficos independientes que podrías contratar para diseñar una interfaz del usuario. Si tienes un proyecto sólido que esperas convertir en el siguiente producto revolucionario, encuentra un buen diseñador de interfaces del usuario y hazlo parte de tu equipo.
-
4Sigue buscando los errores. A lo largo de la fase beta, debes seguir catalogando y priorizando los reportes de errores que envía tu base de usuarios. Ya que hay más personas que tendrán acceso al producto para probarlo, es probable que aparezcan errores nuevos. Soluciona los errores con base en su prioridad mientras tienes en cuenta tu fecha límite definitiva.[3]
Parte 6
Parte 6 de 6:Lanza tu programa al público
-
1Promueve tu programa. Si quieres tener usuarios, querrás asegurarte de que sepan sobre la existencia de tu programa. Al igual que cualquier otro producto, necesitarás hacer un poco de publicidad para que las personas conozcan tu programa. El alcance y la profundidad de tu campaña publicitaria estarán determinados por las funciones de tu programa y los recursos que tengas disponibles. Algunas maneras sencillas para dar a conocer tu programa incluyen:
- Hacer publicaciones sobre tu programa en foros relacionados. Asegúrate de seguir las reglas para publicar en el foro que selecciones para que las personas no denuncien tus publicaciones.
- Envía comunicados de prensa a los sitios web de tecnología. Encuentra algunos blogs y sitios web de tecnología que concuerden con el género de tu programa. Envíale comunicados de prensa a los editores detallando tu programa y la función que cumple. Incluye algunas capturas de pantalla.
- Haz algunos videos de YouTube. Si tu programa está diseñado para completar una tarea específica, haz algunos videos de YouTube que muestren tu programa en acción. Haz que los videos tengan una estructura de guía.
- Crea páginas en las redes sociales. Puedes crear páginas gratuitas en Facebook y Google+ para tu programa, además de usar Twitter para noticias de la empresa y del programa.
-
2Hospeda tu programa en tu sitio web. Para los programas pequeños, lo más probable es que puedes hospedar el archivo en tu sitio web. Querrás incluir un sistema de pagos si vas a cobrar por tu programa. Si tu programa se vuelve muy popular, quizás necesites hospedar el archivo en un servidor que pueda soportar más descargas.
-
3Establece un servicio de soporte técnico. Cuando tu programa esté disponible al público, sin lugar a dudas tendrás usuarios con problemas técnicos o que no entienden el funcionamiento del programa. Tu sitio web debe tener disponible documentación minuciosa sobre el programa, como también alguna clase de servicio de soporte. Esto puede incluir un foro de soporte técnico, un correo electrónico de soporte, ayuda en vivo o una combinación de las opciones anteriores. Las opciones que proporciones dependerán de tus recursos disponibles.
-
4Actualiza constantemente tu producto. En la actualidad, casi todos los programas tienen correcciones y actualizaciones que se publican mucho después del lanzamiento inicial. Estas correcciones pueden solucionar errores críticos o leves, actualizar protocolos de seguridad, mejorar la estabilidad, agregar funciones o incluso rehacer la estética del programa. Mantener tu programa actualizado ayudará a que siga siendo competitivo.