Is there anything more beautiful than crystals?

The Crystal Methodologies are a set of Software engineering methodologies that derive from Agile Sofware Development. The main idea of their creator (Alistair Cockburn) is to meet customer needs and have aligned team goals.
This model focuses on:
-Interaction
-Communication
-Community
-People
-Skills
A main idea of the model is to consider development as a game to generate creativity in all of the participants. There must be communication density, system criticality and project priorization. There are two main assumptions:
1. Teams work together integrating and optimizing.
2. Projects are unique and dynamic and need to be designed based on customer specifications.
These are the types of Crystal Models:
3. Crystal Clear
4. Crystal Yellow
5. Crystal Orange
6. Crystal Orange Web
7. Crystal Red
8. Crystal Maroon
9. Crystal Diamond
10. Crystal Sapphire

Sources:

Four Variants of Agile Development Methods

Agile Methodology

https://www.versionone.com/wp-content/uploads/2015/06/agile101-software-dev-300x200.gif
Original at: https://www.versionone.com/wp-content/uploads/2015/06/agile101-software-dev-300×200.gif

Agile Scrum Methodology

Scrum is a management and control process that cuts through complexity to focus on building software that meets business needs. With Scrum methodology, the “Product Owner” works closely with the team to identify and prioritize system functionality in form of a “Product Backlog”. The Product Backlog consists of features, bug fixes, non-functional requirements, etc. – whatever needs to be done in order to successfully deliver a working software system.

  • A “process framework” is a particular set of practices that must be followed in order for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so forth.)
  • “Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done.

Lean and Kanban Software Development

Lean Software Development focuses the team on delivering Value to the customer, and on the efficiency of the “Value Stream,” the mechanisms that deliver that Value. The main principles of Lean methodology include:

  • Eliminating Waste
  • Amplifying Learning
  • Deciding as Late as Possible
  • Delivering as Fast as Possible
  • Empowering the Team
  • Building Integrity In
  • Seeing the Whole
image1
Original at: https://www.infoq.com/articles/hiranabe-lean-agile-kanban

Lean also concentrates on the efficiency of the use of team resources, trying to ensure that everyone is productive as much of the time as possible.

Kanban is based on 3 basic principles:

  • Visualize what you do today (workflow): seeing all the items in context of each other can be very informative
  • Limit the amount of work in progress (WIP): this helps balance the flow-based approach so teams don ‘t start and commit to too much work at once
  • Enhance flow:
    http://dsdmofagilemethodology.wdfiles.com/local--files/start/ass11.PNG
    http://agilemodeling.com/images/lifecycleFDD.gif
    Continue reading "Agile Methodology"