Showing posts with label Agilegod. Show all posts
Showing posts with label Agilegod. 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

Monday, January 6, 2014

Agile - Overview: What is Agile, Agile Manifesto, Agile principles and Agile Methodologies


Agile: What is Agile?

‘Agile’, one of the biggest IT development buzzwords; we hear about this in variety of places like Agile teams, Agile leadership, Agile methodologies, Agile principles, Agile governance and many more. What exactly agile is all about? Let’s see the dictionary meaning first (from OxfordDictionaries)

Adjective
  • able to move quickly and easily
  • able to think and understand quickly
  • relating to or denoting a method of project management, used especially for software development, that is characterized by the division of tasks into short phases of work and frequent reassessment and adaptation of plans

To tell in very simple words, agile development is an umbrella term that describes several agile methodologies to handle IT teams and projects. The word ‘Agile’ is derived from agile manifesto (http://agilemanifesto.org/)

Agile manifesto:

In 2001, small group of people got together to discuss about better ways of software development as the traditional approach was failing in reaching customer requirements. After many discussions, they came up with the agile manifesto:

We are uncovering better ways of developing software by doing it and helping others does it. Through this work we have come to value



 That is, while there is value in the items on the right, we value the items on the left more.

Agile Principles: there are twelve principles behind the agile manifesto

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

Unlike the traditional software development (Delivery after months/years of work), small components of the project functionality are delivered within weeks after starting the project. It is incremental delivery rather than a single delivery. Features having high business value getting delivered early and continuously gains customer satisfaction which is very critical in business.

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

Main objective of the agile software development is to give a competitive edge to customer by implementing evolving requirements at any point of time throughout the project

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

Agile development focuses on fast, iterative deliveries than traditional one-time deliveries

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

In Agile software development, development team works closely with business people/customers on daily basis and takes their feedback.  With this better working relationship is established and development team will correct their mistakes quickly based on customer’s feedback

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

Agile software development emphasizes on team culture; concentrates more on factors which build trust in the team. Agile strongly believes that these are the reasons for team’s/software’s success

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

Agile development encourages face to face conversations as it is better compared to e-mail/ phone/ communicator. It avoids many mis-understandings and confusions

7)      Working software is the primary measure of progress.

In Agile development, progress & success is measured by working software (i.e. the component of software which ready to get delivered to customer / delivered to customer)

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

Agile development progresses in very consistent; neither slow nor fast. Total team is responsible and accountable for the same.

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

We know that agile development focuses on extrinsic quality (customer satisfaction & Product quality) and along with this it takes care of intrinsic quality as well by following best agile development practices

10)   Simplicity--the art of maximizing the amount of work not done--is essential.

Agile development always keeps software simple, workable and easy to maintain. Traditionally developed software products are complex due to cumbersome design, requirements etc

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

Agile development believes that best architectures, requirements, and designs emerge from self-organizing teams as there are no hierarchies involved here. The team is empowered to organize themselves to be more effective and efficient. Transparency, inspect, adapt, Continuous planning, Continuous customer feedback and customer collaboration makes team self-organizing

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

In traditional software development approach, team will be waiting till the end of the project to conduct post-project review. But agile software development emphasizes continuous review. Team member can give feedback to team member or to process @ any point of time by writing it in post-it/face to face. Inspecting and adapting continuously solves many of the repetitive issues experienced by many teams and projects.

These principles may not give perfect solutions to all problems faced during software development process. But it gives scope to highlight all the issues faced by team and total team will focus on it collectively to reduce the risk. By following agile principles agile teams can achieve increased team efficiency, Lower development costs, faster time to market, Better quality software, Systems better suited to customer needs and Consistent Repeatable results.

Become a signatory by adding your name to the list of people signing the Agile Software Development Manifesto here.

Agile Methodologies:

Hope you understood what is Agile by now. Let’s move on to agile methodologies. If you assume as Agile as umbrella (as shown in below figure), it consists several specific methodologies under its shadow. Broadly agile methodologies are classified in to 2 types

1.       Light weight Approaches
2.       Fuller Approaches


Light weight Approaches has relatively few prescriptive governance when compared with fuller approaches. Examples for Light weight approaches are Scrum, Lean, Kanban, Crystal and Extreme programming (XP)

Fuller approaches involve more details and guidance in terms of process prescription. Examples of fuller approaches are DSDM (Dynamic systems development method), AUP (Agile Unified Process) and FDD (Feature Driven Development)

Let’s discuss about these methodologies in the next posts in detail. 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


References:
1.       Agile manifesto
2.       Wikipedia
3.       All About Agile
4.       Coaching Agile Teams

-Balaji Sathram

Thursday, December 19, 2013

CSM (Certified Scrum Master) Experience


Hi Everybody,

Recently I have completed CSM (Certified Scrum Master) certification. Overall, it is a fabulous experience

Organization:      Simplilearn
Trainer:                 Satisha Venkataramaiah
Venue:                   Hyatt Bangalore, M.G. Road, Bangalore - 560008, India
Dates:                    Nov 9-10, 2013
Timings:                8:30 AM to 5:30 PM

 As soon as I remember the boot camp, first thing It reminds me is our trainer Satisha’s words

“People are inherently GOOD, Talk to them”

He is kind of a trainer who sticks to things he committed, excellent command on agile methodologies, well disciplined, Listens to all questions and answers to them patiently, respects other’s time, good organizer (the way he organized whole scrum workshop was like a mini Scrum project which delivered many delighters to the CSM aspirants) and an Excellent presenter (Trust me, in a batch of 30 CSM aspirants in this workshop, he made everybody to be part of one or other discussion while explaining about SCRUM). It’s been more than a month I completed this workshop and certification but still I feel his effect on my daily discussions. I think my English knowledge is not sufficient to convert my experience in to words here, thus will end about Satisha with one quote

"The mediocre teacher tells. The good teacher explains. The superior teacher demonstrates. The great teacher inspires." 
- William Arthur Ward

He inspired me and some of my friends in the workshop to the extent that we have taken process very seriously as a career option. You might see me as a Trainer/Coach in future…

Satisha, would like to use this platform to thank you for everything you did in CSM workshop. Thanks a lot…

I would strongly recommend Satisha’s CSM workshop if you are thinking to learn about Scrum. Please go through below links to get connected to Satisha Venkataramaiah.


Completed my certification and I am a Certified Scrum Master now. Would like to end with providing some useful links for CSM aspirants

Videos about Scrum:

Some Books and papers about Scrum:

Roots of Scrum:

Please feel free to mail me if you need anything related to process. I can definitely help you with in my horizon. All the best and Thank you for being with me


- Balaji Sathram

Wednesday, December 11, 2013

About Me


My name is Balaji Sathram, have completed M.Sc. in Biotechnology & Bioinformatics (2006), and currently working as Test Engineer at Technology Pipeline Solutions (TPS), Monsanto Holdings Pvt Ltd, Bangalore. Job is to ensure quality of scientific software used for breeding & lab activities. Prior to this I have worked in below places

From -- To
Designation
Company
June 2011 to till date
Test Engineer
TPS, Monsanto holdings Pvt Ltd
Mar2011 to May 2011
Senior Research Fellow
Avesthagen Limited
June2008 to Feb2011
Research fellow
Reliance  Pvt Ltd
July2007 to May2008
Junior Research Fellow
Jawaharlal Nehru University
Oct2006 to June2007
Trainee Executive
Mahyco Ltd

Accomplishments:
  • University Second rank in Post-Graduation
Publications:

  • Yeast functional screen to identify genetic determinants capable of conferring abiotic stress tolerance in Jatropha curcas L .Nalini Eswaran, Sriram Parameswaran, Balaji Sathram, Bhagyam Anantharaman, Raja Krishna Kumar, Sudhakar Johnson Tangirala. BMC Biotechnology 2010, 10:23
  • Generation of expressed sequence tag (EST) library from salt stressed roots of Jatropha curcas for the identification of abiotic stress responsive genes. Nalini Eswaran, Sriram Parameswaran, Bhagyam Anantharaman, Raja Krishna Kumar, Balaji Sathram, Sudhakar Johnson Tangirala. Plant Biology , 14 (2012), pp. 428–437
Patents:
  • Identification of genes related to abiotic Stress tolerance in Jatropha curcas. Nalini.E, Sriram.P, Balaji.S, Bhagyam.A, Johnson, T. S. (Application number: 2650/MUM/2008)
  • Nucleic acids of Jatropha curcas and its applications. Nalini.E, Sriram.P, Balaji Sathram, Bhagyam.A, Johnson, T.S.(Application number: 389/MUM/2009)
Surprisingly, Exposure to core Information Technology domain in the past years made me to think about the process and how it benefits in Team Culture (I feel this is the best thing happens with Agile transformation), faster delivery and customer satisfaction if you tweak it in right way. Thus started to explore about process, completed CSM (Certified Scrum Master) as an initial step. Planning for PMI-ACP, CSP in near future

Main objective behind starting this blog is to connect with people who are interested in Agile way & to share information with Agile world.

I will be posting all useful information related to PMI-ACP prep which I come across in my preparation. So, keep watching this blog. All the very best

- Balaji Sathram