Software Configuration Management

According to Techopedia, the Software Configuration Management is a way in which some of the organizations act when new changes are implemented in the company. It’s a software control management, it helps the company to control the new systems. The Software Configuration Management has some advantages, such as:

  • Reduced redundant work.
  • Effective management of simultaneous updates.
  • Avoids configuration-related problems.
  • Facilitates team coordination.
  • Helps in building management; managing tools used in builds.
  • Defect tracking: It ensures that every defect has traceability back to its source.

(Retrieved from: https://www.techopedia.com/definition/24583/software-configuration-management-scm).

The Software Configuration Management exists since 1950, when the Configuration Management was integrated to the software development. At the beginning, all the processes were made by manual operation. With the time, the SCM became more popular because of the implementation of software in daily life. SCM now is a tool to manage processes and help people to adapt to changes when new systems appear.

If you  want to continue reading where does the Software Configuration Management emerge, go and visit the following link: https://rmzkrieg.wordpress.com/2016/08/30/scm-where.


Agile Software Development

Agile Software Development is an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto.
Solutions evolve through collaboration between self-organizing, cross-functional teams utilizing the appropriate practices for their context.

  • The satisfaction of the customer must be guaranteed throughout all the development process.
  • Change is a key of the ASD, developers must be capable of changing and adapting to the customer’s needs.
  • Deliver new releases frequently.
  • A friendly environment must be present between business people and the devteam.
  • Promote motivation among all individuals involved.
  • In order to be efficient, the communication must be face-to-face.
  • Progress is measured by stable and working releases.
  • There must be sustainable development by keeping a constant pace between sponsors, developers and users.
  • There is constant attention to provide technical excellence.
  • Keep things simple.Period.
  • The devteam must be sustainable and self-organizing.
  • Everyone involved learns from their mistakes and move on.

As everything in this world, ASD was criticised. There was an anti-agile movement called the Dark Manifesto for ASD. You can read it here.

It was also heavily criticised by Aaron Gray because of the working environment of ASD, in this critic, the author establishes that people is not always willing to work, or the team might not be so motivated to work in a team, and rather prefer to work alone.  The biggest argument is that programming or coding is not measurable, because of the environment uncertainty.

Written by Miguel Cabral and Juan Pablo Ramírez


Ethics

ethics

A code of ethics is so essential in the software engineering. This code is needed to be followed in order to create a good environment between customers and employers. The ACM code of ethics is divided in eight main concepts : public, client and employer, product, judgement, management, profession, colleagues, and self.

We had a discussion the other day in class and we joined all of our ideas. If you want to follow the discussion, visit the following link: https://tc1019carminaperezguerrero.wordpress.com/2016/08/19/inside-the-mind-of-a-moral-software-engineer/.

Here is the Code of Ethics from the ACM if you want to read it by yourself: http://www.acm.org/about/se-code.

I agree with almost all of these main concepts. I think that a code of ethics is needed in software engineering because we all need to establish some rules in order to act as an integral person while working. We are here to improve and develop new ways to live. If we are the future, we need to create a great future.

 

 


Software Engineering, an art or a discipline?

fbee2d22-eec7-45a7-82f4-e67b6d8cb770

According to the Institute of Electrical and Electronics Engineers,  Software Engineering applying the principals of engineering  to software development. For me, it’s a way to use the imagination to create new stuff, it’s a way to simplify the daily life activities all around the world. The question is, is it an art or a discipline? It’s an interesting discussion, because there are a lot of different ideas regarding the same theme. Here is a link if you want to know more about the topic:  http://www.softwareengineerinsider.com/articles/what-is-software-engineering.html#.V7cNpaPmFsM

To me, Software Engineering is a discipline because of all of the things that you need to learn in order to create a great development of a software. I think that it’s important to spend a good time studying, not just in a classroom, but in the outside. Before creating a really good software program, it’s a lot of work behind it; investigation, planning and processing the whole ideas that came up, deciding, etc. A complete Software Engineer needs to have an excellent process in order to be great in what he or she is doing.