Tag Archive for 'agile'

A Follower of the KISS Principle

“Everything should be made as simple as possible, but no simpler” - Albert Einstein

During my Masters in Information Systems at the Fox School of Business @ Temple University, I was introduced to “Strategic Process Management” and “User Interactive Site Design”. The first concept taught was to Keep it Sweet and Simple (K.I.S.S).

With 12 years of Web Application Development experience, I have had the opportunity to look at both:

  1. Processes which are complicated
  2. User Interfaces which do not make sense

Many a times, we try to bring an “Open Forum” approach into our organization. This could lead to:

  1. Multiple Members Contributing to a Project (too many cooks spoil the broth)
  2. Complicating the project in the early stages of formation/development
  3. Everyone has a request to meet their needs. This could over burden the project.

The chain of thought is to make life easier and simpler for both the developers and clients. Design simplicity should be a key goal and any unnecessary complexities should be avoided.

Product Design

Product Design

Here is a great link on “What is Simple Design“. It shares information about: Agile Development, YAGNI - You Aren’t Gonna Need It; Design Patterns, Code Smells, Simple Design and Test Driven Development (TDD), Once-And-Only-Once, Don’t Repeat Yourself (DRY), Communication, Single Responsibility Principle (SRP), Open Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP), Dependency Inversion Principle (DIP), Tell Don’t Ask, The Law of Demeter, Triangulate, Influence from Functional Programming, Tests don’t lie and Prototyping.

With everything that I try to manage, I tend to Keep it Simple. This allows me to focus on other core aspects of business which can lead to increase in productivity and sales. Being a follower of the KISS Principle makes my activities at Work and Life much enjoyable and productive.

Share this:
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Technorati
  • TwitThis

Agile Development Methodologies 101

I have a total of 16 years of Corporate Experience which can be summarized as:

  • 12 Years in IT (Development + Support)
  • 4 Years in Health Care IT (Product Management + Research + Development)

In my 16 years of experience, I have had the opportunity to work in companies which are Technology Intensive and have adopted “Agile Development” as their development framework.

Agile development is a method of constructing software by:

  1. delegating and trusting people,
  2. acknowledging change as a standard, and
  3. promoting constant feedback

Agile Team follows practices that keep it focused on customer needs

Principles behind Agile Development:

  1. Acknowledge Change as A Standard
  2. Promote Constant Feedback
  3. Tailored Approach
  4. Requirements Change
  5. Continuous Attention is Required
  6. Light on Documentation
  7. Small Teams
  8. Isolated Approach
  9. Face To Face Communication
  10. Self Organizing

There are several methodologies towards Agile Development. The most prominent ones include:

  1. Extreme Programming (XP)
  2. Scrum
  3. Agile Unified Process (AUP)
  4. Feature Driven Development (FDD)
  5. Lean Software Development
  6. Crystal
  7. Dynamic Systems Development Method (DSDM)

Agile development, to conclude is a journey which helps creating its own path by following the methodologies which suite best to the organizations development team and principles.

Share this:
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Technorati
  • TwitThis