Monday, 24 December 2018

What’s the difference between Computer Science and Software Engineering ???

Computer Science

  • Computer Science is the study of how computers work, mostly from the theoretical and mathematical perspective.It focuses on understanding, designing, and developing programs.

Software Engineering

  • Software Engineering is the study of how software systems are built, including topics such as project management, quality assurance, software design, software security and software testing.

Tuesday, 18 December 2018

Traditional vs Agile Methodology

Traditional vs Agile Methodology


One main difference between the traditional and agile methodologies is the sequence of the phases in which the software development project is completed.
The traditional method uses a linear approach where the stages of the software development process must be completed in a sequential order. This means that a stage must be completed before the next one begins. These stages usually comprise the following:
  1. Requirements gathering and documentation
  2. System design
  3. Code and unit testing
  4. System testing
  5. User acceptance testing
  6. Bug fixes
  7. Product delivery
On the other hand, the agile methodology uses an iterative and team-based approach. Its main objective is to quickly deliver the application with complete and functional components. Instead of completing the software development tasks in sequence, they are completed in sprints that run from around 1 to 4 weeks and where a list of deliverable is completed in each sprint. The tasks that do not get completed within the sprint are then re-prioritized and included in future sprints. This also means that the different stages of the software development life cycle can be revisited as needed.
The typical agile approach involves the following stages:
  1. Project initiation
  2. Sprint planning
  3. Demos
With the traditional method, the details of the entire project have been visualized and defined before the project starts. In contrast, the agile methodology allows for more flexibility in that changes can more easily be made even after the project starts. It is best employed if the scope of the project cannot be clearly defined in advance. This also means that making unplanned software development changes with the traditional method is costlier than with agile.

What is Agile????

Agile principles are all about being collaborative, flexible and adaptive. It’s built on the premise that the world now changes regularly, and that means software teams no longer have years to bring new products to market. In that time, competitor offerings or customer expectations can change, and the team risks irrelevance. Agile minimizes this risk by helping teams collaborate together more by adapting to what the team needs to be successful. It does this by encouraging teams to regularly show off their work and gather feedback so that they can adapt to change quickly.