Showing posts with label Crystal clear. Show all posts
Showing posts with label Crystal clear. Show all posts

Friday, January 30, 2015

Crystal Clear - Process

Crystal clear process includes three steps

1.Chartering, 
2.Cyclic Delivery 
3.Wrap-up


Chartering: 

Chartering includes building the core team, performing the exploratory 360°, shaping & fine-tuning the methodology conventions and building the initial project plan.
            
            Build the core of the team:
Is nothing but forming the development team
An Executive Sponsor provides direction and support to the team, also act as domain expert for the project.
A Lead Designer acts as project manager, coordinator, technical expert and trainer.
An Ambassador User acts as the expert on system usage.
A number of Systems Analysts, Programmers, Support analysts, Business Experts, Testers, Text-Writers, Coordinators and others (Whoever is needed by the team).

            Perform the Exploratory 360°:
It is preliminary feasibility analysis which provides high level project review of the key issues (given below) which will affect the development effort
Overall project plans and constraints
High-level requirements (usually captured in use cases)
Expected business value
Technology to be used & alternatives
Necessary resources
Development methodology

            Shape and fine-tune the methodology conventions:
Shaping the methodology: Set of rules which are agreed upon by the team as the framework to be used in developing the system
Fine tuning methodology: Initial framework will be reviewed & revised iteratively during cyclic delivery, gradually evolving as a methodology tailored to fit the project.

            Build the initial project plan:
Developing the initial plan which includes project map (Consists tasks and their dependencies), Release plan with projected timelines (start and end date) for delivery cycles & iterations and Tasks (Prioritized and estimated).
Task estimations are done using Blitz Planning, which is a close variant of XP’s card-based planning technique.


Cyclic Delivery:

Each delivery cycle includes either one iteration or multiple iterations which leads to delivery to the real users. Each delivery cycle includes below activities to be performed
     Recalibrate\Revisit the release plan
     Develop in iterations
     Deliver to real users
     Reflect on the delivery
Recalibrate\Revisit the release plan: Release plan is reviewed and updated based on the experience with previous delivery cycles performance.
Develop in iterations: All the development is done in iterations which can range from one week to three months. One delivery cycle can have one or multiple iterations.
Deliver to real users: Integrated system is delivered to a group of users and use their feedback is used to improve the system. Update the plans/requirements according to the user feedback.
Reflect on the delivery: Reflection workshop is held and the team reflects on the delivered product and process used to develop the product.

Cyclic Delivery - Iteration:
Iteraration starts with Iteration planning, where team plans the tasks to be performed during the iteration.  Each iteration include multiple days integrated.

Each day (Cyclic program-test-integrate) includes
A Daily Standup meeting: Team meets to collaborate with one another
Mutiple Integration Cycles: It consists of Designer-Programmers developing tasks by programming and perform unit testing. These are called episodes. At the end of the integration cycle new code should be integrated into the system and integration tests should be performed.
Iteration Completion Ritual: A reflection workshop is held at the end of the iteration.


Crystal Clear Process-Wrap-up:

Wrap-up is the last step, in which Team performs acceptance testing and prepares the final product & user environment for final deployment.
Final reflection workshop.
Create Knowledge base: Record the lessons learned from the project which will be helpful for future projects.

Hope you got some idea on the crystal clear process. In next  post, let’s get started with eXtreme Programming. Please share your feedback to improve this blog or let me know if you need any specific topics to be covered. I will be very happy to present it in my blog.If you have any suggestions OR queries, Please feel free to reach out to me @ Linkedin || Facebook

Very Happy to see 1000 page views to my Blog, Thank you J

Twitter: @sathrambalaji

Have a nice day
-Balaji Sathram, CSP, PMI-ACP

Thursday, May 1, 2014

Crystal - It is about Self-awareness

Hi all, Thank you for coming back and reading my blog. I know that it’s been couple of months since my last post. My apologies for that. I was in to job trials, facing some health issues but finally could come out of it. Joined new organisation, completed all medical tests and………  back to blogging with more energy. Let’s get into our subject. In earlier post, we have discussed about kanban. Let’s discuss about Crystal methodology in this post.

Crystal is introduced by Alistair Cockburn as a family of methodologies in 1998. He says that, he developed crystal methodologies to get rid of software engineering which always questions as "Is our model accurate?". Think about "Is our product meeting the customer's needs?" and "Do we have our goals aligned as a team?", which gives you better product leading to customer satisfaction. Crystal Methods focuses on communication, with special focus on interaction, community, people and skills.

Picture: Alistair Cockburn
In Cockburn’s words, “Crystal is a family of human-powered, adaptive, ultra light and stretch-to-fit methodologies sharing a common genetic code.”

It is mainly developed based on two important things i.e. 
1) teams can streamline their process as they start working 
2) Each project is unique and dynamic which requires unique methods designed for it.

The Crystal Family:
Though it has started in 1998, New members of the family were defined in 2001 and 2004. Based on the belief that each project is unique and it may require a slightly tailored set of policies, practices, and processes in order to meet the project’s unique characteristics. It requires unique methodology designed for it. Crystal methodologies are categorized according to the project size (number of people of involved in the project) that they address and the criticality of the project.

Let’s discuss these factors in detail below

1) Criticality: "Criticality" is defined by the sentence "A defect in the delivered product could cause loss of "

Comfort (C)
Discretionary Money (D)
Essential Money (E)
Life (L)

                                 For example:
Loss of comfort & Loss of Life are self-explanatory
Loss of Discretionary Money (e.g.System errors which have manual fix)
Loss of Essential Money (e.g.System errors which causes bankruptcy)

2) Project size: number of people working the project. For example, L40 project is a project which involves up to 40 people developing a life-critical system. Based on the people working/getting involved in the project decides it’s size.


Crystal methodologies: 
Based on the above listed factors crystal methodologies have been grouped in to different groups. It uses different colours to denote the “weight” of the methodology. Darker the colour, heavier the methodology. Crystal methodologies named in the literature are
Crystal Clear
Crystal Yellow
Crystal Orange
Crystal Orange Web
Crystal Red
Crystal Maroon
Crystal Blue
and Crystal Violet

Out of the above crystal methodologies, The methodologies which were practically used in real projects have been defined

Crystal Orange: Introduced in 1998, targeting C40, D40 and E40 projects.
Crystal Orange Web: Introduced in 2001, targeting web development projects.
                             Crystal Clear: Introduced in 2004, targeting C6 and D6 projects.

Picture: Crystal Methodologies-Aerial View
Crystal Methodologies - Commonality:
There are some common properties (given below) between different methods of crystal famiy.
1.    Frequent delivery
2.    Reflective improvement
3.    Close or osmotic communication
4.    Personal safety
5.    Focus
6.    Easy access to expert users
7.    Automation testing, configuration management and frequent integration

Let’s discuss about these commonalities and Crystal clear-process in next post. Would like to conclude this post with some short, meaningful sentences by Alistair Cockburn. He came up with these from his discussion with participants

Scrum is about self-organization
XP is about self-discipline
Crystal is about self-awareness

Your feedback is important to me; Help me to improve by giving your feedback. I appreciate it very much! Please feel free to reach out to me @ Linkedin Facebook

Twitter: @sathrambalaji

-Balaji Sathram