Monday, October 28, 2013

Hacking



A hacker is someone who uses a computer to gain unauthorized access to a network. But why do hackers hack? Some may do it for the challenge and thrill of gaining access to government computers, while others may hack to obtain certain information. Others still, have malicious intent, using gained access to damage other computers. Sounds pretty sneaky, right? I guess it all depends on which side you are on. http://ethics.csc.ncsu.edu/abuse/hacking/study.php
The infamous hacker group, Anonymous, is one such organization whose side I want to be on. They are an international network of activists and "hacktivists". For companies and organizations that are targeted, Anonymous must be a terrifying threat. But for citizens who have been jaded or treated unjustly by these corporations, Anonymous can be seen as a group of heroes. They have retaliated against anti-digital piracy campaigns, tracked down internet predators and threatened Mexican drug cartels. Aside from this, they have also attacked the pentagon, threatened to shut down Facebook and waged war on Scientology. 
Anonymous has no official leadership, but rather a group of people working together to accomplish various goals. One characteristic of the group, which I admire, is the fact that their motivation always comes from an unrelenting moral stance on issues and rights. I feel as if these hackers are looking out for the greater good and give voices to those who are unable to be heard. Even if action is not taken, sometimes the threat is all that is needed. And their threat is fairly intimidating: 

Sunday, October 6, 2013

Agile

What is Agile?
Agile development is an umbrella term for methods based on iterative and incremental project management, regularly used in software development. Agile methodology is an alternative to the traditional project management methods typically used. With a coordinated and organized team, the solutions can evolve through collaboration. It helps teams respond to unpredictability with each successive "sprint". This technique encourages adaptive planning with rapid and flexible responses to change. It's conceptual framework allows the ability to see beforehand, the interactions throughout the development cycle.

How did Agile begin?
In 1970, Dr. Winston Royce published an very influential article, Managing the Development Of Large Software Systems. In his paper, he criticized sequential development and asserted that software development should not be conducted as if an assembly line. He introduced several project managing models including what we now know of as agile. At a software developers meeting in Utah, in 2001, a group published The Manifesto for Agile Software Development to define this specific approach.
Martin Fowler is widely recognized as one of the key founders of agile methods.


Advantages and Disadvantages
  • Customers are satisfied by rapid, continuous delivery.
  • Constant interaction between the customers, developers and testers is encouraged, while keeping the process and tools understated. 
  • Daily, face-to-face conversation is the best form of communication.
  • Continuous attention to technical excellence and good design.
  • Adaptability to changing environment.
  • Even late changes in requirements are welcomed
  • In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.
  • There is lack of emphasis on necessary designing and documentation.
  • The project can easily become unfocused if the customer representative is not clear with the final vision.
  • Usually only experienced programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.

http://istqbexamcertification.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/