Inicio de la semana 2

--Originally published at Memogcia blog

En esta semana se definirán algunas tareas, como aprender o ver tutoriales del framework que se está usando en el proyecto. Israel, Germán y Andŕes tendrán que hacer la instalación del framework en su computadora al mismo tiempo que lo aprenden, esto les ayudará a familiarizarse con la estructura y así aprender mas rápido, además de que podrían salir dudas más puntuales de algunos componentes del framework.

Periódico al día

--Originally published at Memogcia blog

Nuestro proyecto consistirá en crear un periódico virtual en el que se muestren las noticias lo más rápido posible y así evitar que los usuarios que estén leyendo el periódico seguidamente no tengan que esperar a comprar el periódico al día siguiente como lo hacen la mayoría de las personas tradicionalmente.

Los conceptos del desarrollo de este proyecto los iremos desarrollando a lo largo de la próxima semana. Usaremos los frameworks que más se puedan adaptar el proyecto y además buscando que se pueden hacer pruebas unitarias para así tener un proyecto completamente probado.

 

Análisis pre-morten

--Originally published at Memogcia blog

Este semestre está lleno de riesgos que se tienen que tomar. Llevo 5 materias este semestre además de trabajar en Dogsi en donde soy el desarrollador de la página web y próximamente la nueva aplicación que estará llena de funcionalidades nuevas y además más amigable. Me gusta mucho el trabajo que tengo, me ha servido todo el esfuerzo que le he dedicado para lo que ahorita es para mí el mejor proyecto que he realizado. En Dogsi ayudamos a los papás de perritos a encontrar a su cuidador ideal cuando salen de vacaciones o tienen que salir a trabajar y no pueden cuidarlo(s). Se les envía diariamente imágenes de sus perritos, además se les informa de que es lo que han hecho. Les ofrecemos tranquilidad y una plena estancia a sus perritos, mientras ellos disfrutan de sus vacaciones.

Cambiando un poco de tema en la clase de calidad y pruebas de software me gustaría aprender como desarollar pruebas de software que realmente ayuden a mejorar el producto final y así ofrecer una mejor calidad de servicio. Además me gustaría aprender como le han hecho otras personas para mantener esa calidad que se pudo lograr y eseñar al equipo de desarrollo cómo es que se tiene que desarrollar un producto de alta calidad (software).

Quality assurance and Architecture

--Originally published at Memogcia blog

Quality assurance is the most important thing that a project or product has to have. Why? because It’s the trust that your clients will give the product. When we said quality we think that the product need to pass several tests, to achieve quality, but the reality is that quality means the product need to be tested yeah but also needs to have technical reviewing and project planning, all these will bring to us early detection and correction of defects.


Why software can’t measure time

--Originally published at Memogcia blog

More software projects have gone awry for lack of calendar time than for so all projects have gone awry for lack of calendar time other causes combined. Why  this cause of disaster is common? First, our techniques of estimating are poorly developed. seriously, they reflect true, i.e., that all will an unvoiced assumption which is More quite un- go well. Second, our estimating techniques fallaciously confuse effort with progress, hiding the assumption that men and months are interchangeable. Third, because we are uncertain of our estimates, software managers often lack the courteous stubbornness of Antoine’s chef. Fourth, schedule progress is poorly monitored. Techniques proven and routine in other engineering disciplines are considered radical innovations in software engineering. Fifth, when
schedule slippage is recognized, the natural (and is to add manpower. Like dousing a fire with makes matters worse, much worse. More fire re- more gasoline, and thus begins a regenerative cycle which traditional) response gasoline, this quires ends in disaster.  Schedule monitoring will be the subject of a separate essay. Let us consider other aspects of the problem in more detail.


Taking more control in a software project

--Originally published at Memogcia blog

Hi, I’m going to tell you about how to implement “staged delivery” in your software project. First of all let’s discuss what is staged delivery. Staged delivery is an approach to organize the deliveries on a software project, it is based in stages, there isn’t a magic number for this, some one need 5, 2 or just one stage to release the product. Why staged delivery is the best? because this means the most important part of the project is going to be build at the first stages. The best of all is that everybody could track it, upper management, costumers and users.

Software projects are divided into three conceptual stages:

img1

The first phase is going to be discovery, here is where the uncertainty areas changed to certainty areas. Here is where technical investigation and building user interface prototypes take place.

In the middle of the project is where the phase change to invention. Here is where developers at macro level invent a software architecture and design. At the micro level, each function or class may require small inventions.

In last part the phase shifts again into implementation. In this phase is where the work done in discovery and invention are mapped.

The next figure illustrates how a staged delivery take place:

screenshot-from-2017-02-27-20-00-43

This plan emphasizes project planning and risk reduction. The project team develops a software concept first, then gathers and analyses requirements and then completes an architectural design. In each stage the project team does detailed design, coding, debugging, and testing. As I mentioned at first It doesn’t need to be 3 stages, this is only a example of how it will be if there is only 3 stages. But in real life it will take more than three or less.

The benefits of this are:

  • Critical functionality is available earlier.
  • Risk are reduced early.
  • Problems become evident early.
  • Status-reporting overhead is reduced.
  • Staged delivery makes more options available.
  • Staged delivery reduces the possibility if estimation error.
  • Staged delivery balances flexibility and efficiency.

But there are some disadvantages:

  • Increases project overhead.
  • Retest already tested features.
  • Perform version control tasks associated with making a delivery
  • Address extra complexity of supporting additional versions of the software in the field.

The next picture define a well structured project and its stages:

screenshot-from-2017-02-27-20-21-19

The black line shows the nominal code growth pattern, and the shades area shows the range of normal variations. The variations in code growth in the middle of the project are due too interim releases in which the projects emphasis shifts from generating new code to raising the quality of existing code.

Telling this, here is another approach:

Change control procedure

This approach ensure the project to be stable if there are changes ready to be implemented. This approach evaluates, control and approves important changes.