Skip to main content

12 Principles of Agile by Ziggy Rafiq

Ziggy Rafiq Blog Post on 12 Principles of Agile


Agile is a collection of values and principles hence Agile’s the real utility is giving people a common foundation for making decisions about the best way to develop software effectively and to deliver on time.

The 12 Principles  of Agile

Below are the 12 Principles of Agile, which I feel are very important to follow/apply to any given software production. As delivering cost-effective, bug-free and on-time software is one of the main objectives for any software production cycle.

  1.  Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

  2.  Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

  3.  Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

  4.  Business people and developers must work together daily throughout the project.

  5.  Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

  6.  The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

  7.  Work software is the primary measure of progress.

  8.  Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.

  9.  Continuous attention to technical excellence and good design enhances agility.

  10.  Simplicity the art of maximising the amount of work not done is essential.

  11.  The best architectures, requirements and designs emerge from self-organising teams.

  12.  At regular intervals, the team reflects on how to become more effective then tunes and adjusts its behaviour accordingly.


Popular posts from this blog

What are C# Comments and how to use them in our code blog post by Ziggy Rafiq

  C# Comments Overview C# Comments are only for you to read, not for the computer to execute. All the comments displayed in the Code Editor are green by default, which makes it easy to identify those lines, and the C# compiler ignores those parts when it runs your program. Single-line Comments You can make any line into the single-line comment by starting it with the two forward slash marks //, indicating the remainder of the line is a comment. Example End of line comments The End of line comments is generally used to describe variables and data types. Example Multiline Comments (delimited comments) Multiline Comments begin with an open comment mark /* and end with a lost comment mark */. All the text between the delimiters is ignored by the compiler. Example Code Example Code(Header Comments) XML Comments In C# we use XML comment on our methods by simply typing /// to get the XML comment.

How to be a successful Software Consultant (Full-Stack Designer and Developer)

  Overview In this blog post, I am going to share with you exactly how I have become a successful Software Consultant and by following these simple rules and why it is important to apply the following in your Web Design, Web Development/Full-Stack Development and Mobile Application Development. There is this famous quote that “I wish he would tell me where I am going to die so that I cannot go there ever” In a nutshell what this means is that most of the times people trying to understand or learn something like how to become successful. I have seen many consultants closed their consultancy or have burned out to a point where they quit consulting and change their career to something else or started to work full-time for somebody else and avoid the consulting role completely because of their fear of failure. Five Fundamental Points There are five fundamental things I have followed to be a successful Consultant   Have a basic systematic way of attracting clients. This is the key

What are C# Virtual and Non-Virtual Method by Ziggy Rafiq

  C# Virtual and Non-Virtual Method In C# Virtual method supports polymorphism, which is part of the OOP Concept. We would combined virtual and override keyword with the virtual keyword on the parent/base class and then use the override keyword on the method in the child/derive class and both methods are virtual. Any methods which do not have virtual or override keyword or that have new keyword are non-virtual method. When a virtual method is invoked on an object, the run-time type of the object is used to determine which implementation of the method to use. When a non-virtual method is invoked on an object the compile-time type of object is used to determine which implementation of the method to use.