 Crystal methods are part of the Crystal family developed by Alistair Cockburn in the mid- 1990s  Based on observations of many teams that did not follow.

Slides:



Advertisements
Similar presentations
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Advertisements

©Alistair Cockburn Slide 1 Alistair Cockburn The Crystal Family of Methodologies for Software Development.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Alternate Software Development Methodologies
An Introduction to Agile Project Management CHAPTER SEVENTEEN PowerPoint Presentation by Charlie Cook Copyright © 2014 McGraw-Hill Education. All Rights.
Agile development By Sam Chamberlain. First a bit of history..
1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Crystal Yellow Agile Software Methodology For ParaView Development Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin.
Software Engineering Modern Approaches
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
The Confounding World of Process Methodologies By Thelma Hataria.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Topics that covered Agile Software Development.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
44222: Information Systems Development
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Agile Gintarė Bernotaitytė © 2013.
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The Current Conversation in Agile Software Development April-2004
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Management Software development models & methodologies
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Software Engineering cosc 4359 Spring 2017.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
CS223: Software Engineering
Agile Project Management and the yin & yang of
Agile Methodology and Scrum
Agile Project Management Athanasios Podaras
Introduction to Agile Software Development
Methodologies and Algorithms
Managing the Project Lifecycle
Extreme Programming.
Valuable Project Management Tools and Techniques
Software Engineering (CSI 321)
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Rapid software development
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Operational and Postimplementation
Introduction to Software Engineering
Project Management and the Agile Manifesto
How to Successfully Implement an Agile Project
Rosa María Torres de Paz
Process Models Coming up: Prescriptive Models.
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Introduction to Agile Blue Ocean Workshops.
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Baisc Of Software Testing
Chapter 3: Agile Software Processes
Agile Development – a new way of software development?
Extreme Programming.
Agile software development
Topic 1: Introduction to the Module and an Overview of Agile
Rapid Application Development (JAD)
Project Management.
Agile Development.
Adapting Agile in Pharmaceutical Industries
Chapter 5: New and Emerging Process Methodologies
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

 Crystal methods are part of the Crystal family developed by Alistair Cockburn in the mid- 1990s  Based on observations of many teams that did not follow formal methodologies yet had successful projects  These are “lightweight methodologies” ◦ Avoids strict/rigid processes found in other methodologies

 Name crystal comes from gemstones ◦ The faces are a different view on the underlying core of principles and values of each method. ◦ In terms of software, the faces represent techniques, tools, standards and roles for each method.

 Crystal methods focus on: ◦ People ◦ Interaction ◦ Community ◦ Skills ◦ Talents ◦ Communications

 Scaled according to team size, different colors denote the weight Crystal Clear lightweight, not mission critical Crystal Yellow Crystal Orange Crystal Orange Web Crystal Red Crystal Maroon Crystal Diamond Crystal Sapphire heavy, mission critical

Crystal family methods have 7 common properties: 1. Frequent delivery 2. Reflective improvement 3. Close or osmotic communication 4. Personal safety 5. Focus 6. Easy access to expert users 7. Automated tests, configuration management, frequent integration

 Iterations of the software program should be released regularly (from weekly up to quarterly)  Problems can be found and fixed early on  Customers can ensure that the project is going the way they want it to go

 Developers dedicate time to improving the development process  Reflection workshops are held every few weeks to help find processes that are working and which ones need to be modified  Iteration helps determine if a process is working or not

 Development teams must be in the same room  This aids communication ◦ Developers do not need to break concentration to move somewhere else  Information flows quickly through the team  Communication overhead is reduced

 Team members must be able to speak freely in a group without being ridiculed

1. Focus on a task long enough for progress to be made ◦ 2 hour period where the developer should have no interruptions ◦ Developer assigned to a project for at least 2 days 2. Clear definition and goals of the project

 Developers work with experts in the field of the project who will also be end-users  Expert will answer questions and suggest solutions or improvements  Minimum: meet once a week for 2 hours and be reachable by phone

 Spot errors and problems that arise from changes being made  Done regularly ◦ Problems spotted early on ◦ Problems are less likely to grow

 Lightest methodology that will still lead to successful projects  Supports fixed price contracts  Teams using Crystal Clear can use techniques from other methodologies and vice versa  Requires documentation ◦ Does not prescribe what documentation but leaves that up to the judgment of the team

 Priorities: ◦ Project safety (deliver the system in adequate time and budget) ◦ Effective and habitable (people can live with the system and use it)  Focuses on people, not processes or artifacts ◦ One small team of people in the same office working on not life-critical systems

 Suitable for teams of 7 to 20 members  Crystal yellow has key characteristics such as easy communication, clear ownership of code areas, feedback from real users, automated testing, mission statement and monthly increments of improvements.  Easy communication replaces the need for detailed designed documentation and ensures everyone is comfortable with communicating the needs of the project.

 Clear ownership of code areas; helps with defined code areas being made so that changes do not have to be explained or granted by everyone. It also emphasises ownership and responsibility for each section of code.  Feedback is needed from “real users” where it eliminates the need of long process requirements collection.  Mission statements provide the goal and general achievements needed to be reached.

 Monthly improvements include making lists of what needs to be done and achieving small improvements within each list made.  Automated testing helps resolve errors quickly. It should be established before new functions are fully finished.

 Incremental development.  The idea is for agile development.  There needs to be a release every 3-4 months.  Each release is called an “increment”.

 Designed for medium size projects (10 – 40 team members)  Duration ranging from 1 – 2 years  Split up in teams with cross functional skills

Activities of Crystal Orange  Staging: Planning for releases. In this phase the developers gather the requirements, evaluate technical feasibility, and prioritise the tasks.  Review: This is the phase where the objectives of the increment is reviewed, to make sure that it was met accordingly. Increments consist of iterations – Construction → Demonstration → Review.  Tracking: Tracking the project at different stages of development ensures that fluctuations are picked up and handled correctly. The increments are measured at each milestone, including start, review, test and deliver.

Activities of Crystal Orange (cont)  Parallelism: This is the phase where monitoring teams review stability, work plans and synchronisation.  Holistic Diversity: This is an activity where large functional groups are split up into cross functional groups, creating a diversity of specialised people to handle certain parts of the project.  Tuning: This is the phase where interviews and workshops are used to find solutions.  Workshops: This helps to drive team attention to project goals.

 Used in projects that have a continually evolving code base that is being used by the public  Used for category D40 projects.  Used in teams with members

 Consists of a set of conventions grouped into five categories:  Regular heartbeat, with Learning  Basic process  Maximum Progress, minimum distractions  Maximally defect free  A community, aligned in conversation

1. Regular heartbeat, with Learning:  Consist of twee week development life cycles  It has a post-reflection workshop  Suggestions are made at these workshops 2. Basic Processes:  Organizes what work will be done by whom  Organizes what decisions will be made by whom

3. Maximum progress, minimum distractions  Gives the people enough time to work on deliverables that are the most important.  Work is broken into two week cycles and then further broken down into cycles for components that that can be developed in 1-3 days.  Developers have whiteboards outside their offices on which they post the status of their current work for the week.

4. Maximally defect free  Strive to develop code that is bug free.  Done by intensive testing and overlooking of code 5. A community, aligned in conversation  Focused on the long term target of the company  All roles in the company should participate in cross functional teams.  This means that teams with different expertise should all work towards a common goal

  methodology/ methodology/  ml#Crystal ml#Crystal  reading.org.ua/chapter.php/83470/35/Cockburn_- _Agile_Software_Development.html reading.org.ua/chapter.php/83470/35/Cockburn_- _Agile_Software_Development.html  Development-Methodologies-Scrum-Kanban-Lean-XP/ Development-Methodologies-Scrum-Kanban-Lean-XP/ 

 oftware_development%29 oftware_development%29  Gorakavi P.K. What You Should Know about Crystal Orange Methodology #6 of a Series, 2009  Coffin. R and Lane.D,  paraview.org/ParaView3/images/8/8a/Crystal_Ye llow.ppt