The in depth of USP

This is a picture that describes the amoun of time taken on each of the phases of the model, it describes the amount of time and the duration of the phase in terms of time.

When it´s time to create a software from scratches you must allways choose a model to develop your software, in which every model you choose you will allways follow the same phases in order to develope your product,which are:

Planning: Which is the phase where all the requirements and the tools to create the proyect are defined, basically define the structure of the proyect.

Modeling: Which is the phase were it is defined how the proyect must look at the end of the development.

Construction: Which is the division of the software in order to make the job easier and faster to complete.

Deployment: Which is the phase where the process of delivering the product takes part.

Communication: Which is the phase where the consumers gives feedback about the products in order to upgrade the software.

Unified Software Process

All this models follow this simple phases in their own ways, even though this model gives, the difference between these models and the USP is that this model is an iterative and incremental model that can be customized depending on the software needs.

This model adds four extra phases that allows the developers to upgrade the proyect at every main phase, which are:

Inception: This is the phase where the requirements and the goals of the proyect are, as well as the risks of developing the proyect.

Elaboration: In this phase an in depth analysis of the software is made in order to know the pros and cons of the software.

Construction: This is the phase were the software is developed, then is tested and finally prepared to be given to the consumer.

Transition: This is where the software is delivered to the users in order to receive feedback.

Personal Opinion

As I wrote in the description of my blog, I would like to help readers to understand the topics and explain how these topic helped me to develop better projects, first of all, in every post I will give a brief introduction about the topic, and then at the end explain what are my thoughts about it.

This is definetely a process that you would like to implement when working in a big project, why?, because the way that this model works takes too much time in analysing and verify each phase, when you try to create a small project like for a class or something that needs to be done in a small amount ot time is way better to use another model process, it won’t take a long amount of time and would fit the main need of a project, instead if you want to develop a big project, this is definetely the process to implement, the reason is very simple, with this method you can analyse, implement, develop, check, re-check, fix, repeat, test and fix again, this method allows to detect the strenghts and weaknesses of your project, it will tell when to and how to work on your project, I definetely recomend using this method only when working on big projects, because takes large amount of time and work.

References

Information: http://bawiki.com/wiki/Unified-Process.html, David Olson

Information: https://www.youtube.com/watch?v=yUB0BsEimTU, Education 4u

Photo: Wikpedia

A never ending cycle?

The life cycle of a software

Coming out (Links to an external site.) flickr photo by Randy Read (Links to an external site.) shared under a Creative Commons (BY) license

Through the years people and technology had been evolving continuously, there is no doubt about it, even though people are made by nature and nature and technology is made by people both follow the same basic life rules, the life cycle. People born, grow, make other people and die, so how does technology follows the same rules? Well it is not that similar but pretty much, as an example I will introduce to some example of some software life cycles.

A must have of a software

When we talk about software and how it is created we can easily think about some simple task that the software must complete before becoming a full working software

  • An idea
  • How will it be designed
  • How it is going to work
  • How is it going to be produced
  • It is going to keep updating, or complete a objective and die

In my opinion every software before becoming a software needs to get through all this points before being ready to sell to the public, that is the reason why there are so many life cycle models that describe the beginning and the end of a full working software.

Waterfall

The waterfall model is the oldest in the world because it was the first model that could handle the basic needs for a software, it follows a structure where all the instructions for an specific phase needs to be done before getting to the next phase in order to finish every phase successfully, the only problem is that when the software is done it may have some not updated or pre finished error that were not notable when each phase was done.

Agile

The agile model is one of the newest models in the world, it focuses on quick actions to solve the customer needs easily and efficiently, because the software is divided into little segments that can be treated as individuals so when a need is presented it can be easily manageable it has shown really good results so it may be not the most effective method but one of the fastest one.

Software follows the same life cycle that humans, because as humanity is magical so do software development, even though there are still more models and updated versions for older models, viewing all of them would take us weeks so there are some of these models:

  • V shaped model
  • Prototype model
  • Spiral model
  • Magic box
  • Iterative
  • Incremental

Images and references taken from:

A Broken Me

This is the place where you can be the real you, it is time to show you that you’re really missing.

Why am I here?

I’m here because I needed a place to talk about myself and about how does it feel to be in my place, the more you read this page the more you will understand the main focus of my blog.

I would like to talk about how does a life of a software engineer is, about how does it feel to want something really bad but at the same time not feeling part of it, about the things that made me give all of me in order to achieve what I proposed, because I want to help people by showing them that with the time and effort every goal is achievable, they just need to never surrender.

By doing this I would like to get involved with people that have faced similar situations like mines, that every day keeps fighting for what they believe is good for them, for what makes them never surrender, I want get involved with more broken wallflowers.

A wallflower by definition is a person who occasionally feels that he is not a part of a group, that is isolated, shy and who sometimes feels like he is invisible, with this blog I want to show other wallflowers that we can be heard, we can be seen and most important we can still be ourselves, that what I would like to accomplish with this blog, to make us feel that we are not broken wallflowers anymore.