Las 4 P´s para resolver problemas de programación y creación de proyectos

He estado ausente de este blog y de desarrollos por casi un mes, ya que me metí a sacar un especialización de JavaScript a una de las academias online más aceptadas en el primer mundo y con un prestigio grandísimo por la calidad de la plataforma como por sus maestros estoy hablando de Teamtreehouse.

Durante lo anterior mencionado empecé a ver muchas cosas que me parecieron interesantes y es la forma ya conocida por los profesionales, pero que poco novato conoce de resolver grandes problemas y entregar muy buenas app, web o a lo que nos dediquemos.

Recordando que ya sea en nuestro empleo o con nuestros clientes, a diario como programadores se nos presentan muchos problemas tenemos que tener en mente que para cada problema hay una solución en específico que luego de descubrirla puede ser usada en más problemas.

Pensamiento cognitivo:

Todos tenemos algo de esto en nuestra mente, que básicamente significa nuestros procesos mentales o el orden en cómo pensamos. La parte cognitiva siempre está activa y nunca para, incluso cuando estamos usando nuestro subconsciente. En pocas palabras estoy hablando de nuestro conocimiento, el que se va adquiriendo y usando con el tiempo y la práctica.

Resolviendo problemas con nuestro conocimiento:

Ya que como mencioné a veces estudiamos o trabajamos en proyectos y que a veces nos enfrentamos a problemas que de alguna manera u otra logramos resolver o simplemente nos grabamos toda una gran parte de teoría en nuestra cabeza que luego utilizamos en la práctica y eso forma un gran conocimiento, pero hay un conjunto de pasos para hacer este proceso más limpio y más profesional que va en los siguientes 4 pasos:

Prep, Plan, Perform & Perfect:

antes de definir esto vamos a crear un plan imaginario donde Jennifer(clienta) acuda para la creación de una intranet(el problema es saber cómo hacerla de la mejor manera) a Mary (Desarrolladora)

Teniendo en cuenta que para aplicar esto hay que saber lo que se hace recomendable no ofrecer nuestros servicios solo por necesidad de dinero y al final entregar algo mal hecho el caso de un desarrollador android queriendo hacer un sitio web teniendo en cuenta que este mismo no sabe ni siquiera estructurar bien un html para optimizar el seo preparation

Preparation (preparación):

Cuando hablamos de preparación hay que saber dos cosas que son: entender y diagnosticar. en este caso Jennifer quiere una intranet para su empresa basada en node.js, Angular y Express Teniendo en cuenta esto Mary comienza con la planificación de la misma.

Entender:

Mary entiende que una intranet es algo muy grande y muy delicado de hacer porque es un sistema que lleva el control interno de una empresa, por lo cual ella sabe que tiene que ser muy cuidadosa con los registros de información y con las contraseñas de los usuarios, ya que otra persona puede usar contraseñas del jefe para modificar reportes o hacer daños fuertes.

Diagnosticar:

Con esto en mente Mary diagnostica que la mejor forma de hacer esto es tener una gran seguridad por lo que acude a una buena base de datos para empresas en este caso "Oracle" sabe que la velocidad también es necesaria por eso diagnostica el uso de socket.io para la comunicación rápida, también es consciente que un buen diseño y una UI para el usuario es importante por lo cual diagnostica la integración de algún framework css que le facilite el uso y la integración con Angular.

plan

Plan (planificación):

Cuando ya hemos diagnosticado es por que ya sabemos en base a nuestra experiencia laboral cuales son las mejores formas de solucionar el problema, por lo cual tenemos que planear como integrar todo lo diagnosticado en pocas palabras planificar como darle vida a nuestra hipótesis.

En este caso la planificación lleva a tomar decisiones a Mary como el uso de protocolos de seguridad y tokens para que los empleados se inicien, ella planea trabajar 5 horas al día comenzando por el back-end y hacer todas las pruebas de seguridad necesarias, hasta que no tenga errores para poder comenzar con el front-end y así unirlo todo.
performance

Perfom (Trabajar)

Ella sabiendo lo que necesita y cómo va a proceder se dedica a trabajar el tiempo indicado aplicando todas sus herramientas anteriormente conocidas y apuntando las nuevas ideas por aparte para luego aplicarlas y probarlas al final, con cada problema encontrado durante en el trabajo sigue aplicando las 4 P´s Prep, Plan, Perform & Perfect hasta terminar cada uno de ellos por separado y luego juntar todo en la entrega final.
perfect

Perfect (perfeccionar)

Teniendo en cuenta todo lo anterior mencionado y la parte en la que Mary tomaba ideas nuevas y las apuntaba durante el proceso 3 del trabajo, ella tiene una versión final a lo cual en todo proyecto hay que perfeccionar. por lo cuál ella vuelve aplicar las 4 P´s Prep, Plan, Perform & Perfect a cada una de las posibles mejoras y hace pruebas en cada una de ellas hasta tener la versión final lista, optimizada y totalmente configurada y testeada por su equipo de trabajo para sen liberada y puesta en producción.

Cómo te podrás dar cuenta es un ciclo dentro de otro por cada problema individual y pequeño para luego hacer una gran solución, en todo este proceso se puede usar nuestro pensamiento cognitivo basado en nuestras experiencias y aplicando cada una de nuestras herramientas e ideas al mismo problema, algunas de esas herramientas ya sea en programación como en cualquier ámbito son las mismas, te dejo unas herramientas que puedes unir a las tuyas para trabajar en tus proyectos herramientas para trabajar como desarrollador.