Category Archives: Professional Development

Announcement: New Leadership Training – First in Canada!

Learn more about transforming people, process and culture with the Real Agility Program

Certified Agile Leadership (CAL 1) Training

Michael Sahota - Profile Picture (2016)Introduction:

Advanced training for leaders, executives and change agents working in Agile environments.


Your success as a leader in an Agile organization requires looking beyond Agile itself. It requires a deep understanding of your organization and your own leadership path. To equip you for this journey, you will gain a strong foundation in understanding organizational culture. From there, you will learn key organization and leadership models that will allow you to understand how your organizational culture really works.

Now you are ready to start the journey! You will learn about organizational growth – how you may foster lasting change in your organization. Key is understanding how it invite change in a complex system. You will also learn about leadership – how you may show up more effectively. And how to help others.


Learning Objective(s):

Though each Certified Agile Leadership course varies depending on the instructor, all Certified Agile Leadership courses intend to create awareness of, and begin the journey toward, Agile Leadership.


Graduates will receive the Certified Agile Leadership (CAL 1) designation.

See Scrum Alliance Website for further details.

Agenda:

Agenda (Training Details)

We create a highly interactive dynamic training environment. Each of you are unique – and so is each training. Although the essentials will be covered in every class, you will be involved in shaping the depth and focus of our time together. Each learning module is treated as a User Story (see photo) and we will co-create a unique learning journey that supports everyone’s needs.

The training will draw from the learning areas identified in the overview diagram.

Organizational Culture

“If you do not manage culture, it manages you, and you may not even be aware of the extent to which this is happening.” – Edgar Schein

  • Why Culture? Clarify why culture is critical for Organizational Success.
  • Laloux Culture Model: Discuss the Laloux culture model that will help us clarify current state and how to understand other organizations/models.
  • Agile Culture: Explore how Agile can be seen as a Culture System.
  • Agile Adoption & Transformation: Highlight differences between Agile Adoption and Transformation.
  • Dimensions of Culture: Look at key aspects of culture from “Reinventing Organizations”. Where are we and where might we go?
  • Culture Case Studies: Organizational Design: Explore how leading companies use innovative options to drive cultural operating systems.

Leadership & Organizational Models

  • Theory X – Theory Y: Models of human behaviour that are implicit in various types of management systems.
  • Management Paradigms: Contrast of Traditional “Modern” Management practices with Knowledge worker paradigm.
  • The Virtuous Cycle: Key drivers of success emergent across different high-performance organizational systems.
  • Engagement (Gallup): Gallup has 12 proven questions linked to employee engagement. How can we move the needle?
  • Advice Process: More effective decision-making using Advice Process. Build leaders. Practice with advice cards.
  • Teal Organizations: Explore what Teal Organizations are like.

Leadership Development

  • Leading Through Culture: How to lead through culture so that innovation and engagement can emerge.
  • VAST – Showing up as Leaders: VAST (Vulnerability, Authentic connection, Safety, & Trust) guides us in showing up as more effective leaders.
  • Temenos Trust Workshop: Build trust and charter your learning journey. Intro version of 2 day retreat.
  • Compassion Workshop: How to Use Compassion to Transform your Effectiveness.
  • Transformational Leadership: See how we may “be the change we want to see” in our organizations.
  • Leading Through Context: How to lead through context so that innovation and engagement can emerge.
  • Leadership in Hierarchy: Hierarchy impedes innovation. Listening and language tips to improve your leadership.

Organizational Growth

  • Working With Culture: Given a Culture Gap. What moves can we make? Work with Culture or Transformation.
  • Complex Systems Thinking: Effective change is possible when we use a Complex Systems model. Cynefin. Attractors. Emergent Change.
  • Healthy “Agile” Initiatives: How to get to a healthy initiative. How to focus on the real goals of Agile and clarify WHY.
  • People-Centric Change: The methods we use to change must be aligned with the culture we hope to foster. How we may change in a way that values people.
  • Transformation Case Study: Walkthrough of how a transformation unfolded with a 100 person internal IT group.

Audience:
There are two main audiences that are addressed by this training: organizational leaders and organizational coaches. The principles and practices of organizational culture and leadership are the same regardless of your role. Organizational leaders include executives, vice presidents, directors, managers and program leads. Organizational coaches include Agile coaches, HR professionals, management consultants and internal change leaders. “The only thing of real substance that leaders do is to create and manage culture.” – Edgar Schein
Facilitator(s):

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

A View From the Stands: Open Agile Conference, Toronto 2015

Learn more about transforming people, process and culture with the Real Agility Program

 

Valerie Senyk 20150505 white background - head - 275 squareI was (wo)manning the Berteig booth for most of this day-long event with my colleague Nima Honarmandan, since we were one of the Open Agile Conference sponsors. Still, I was able to nip away and take in a seminar called “Value: From Meh to Wow” delivered by Mike Edwards, author of leadingforchange.ca

After a personal introductory story about his dog dying while he was away from home, and WestJet Corporation’s remarkable assistance to him to get home as soon as possible, he listed three kinds of value: that which is monetized, that which is frugal and that which has a wow factor.

He believes WestJet has the wow factor because people are not just numbers or resources to them – people are truly people. He said that the employees of WestJet are empowered to act as if they’re owners, and so can make important (and compassionate) decisions for people on a case by case basis.

Edwards feels companies need to know what their customers’ values are, and allow themselves to align with them. Companies cannot hope to “wow” people with freebies. His point was that to create a wow factor in one’s business one needs to focus on relationships.

In an exercise, he had attendees make 3 columns on a sheet of paper. The first column was to list our employers’ values, the second to list our own values, and the third to list our customers’ values. I was “wowed” to see that, as regards my own employment and our customers, there was a great degree of alignment between all three groups, valuing such things as learning, honesty, encouragement, responsiveness and agility.

As for most of my day in the stands (at the Berteig booth), I observed that agilists (practitioners of Agile) are, by and large, very caring and user-friendly people. Between seminar sessions, hundred of them flowed through the hallways. Many of them greeted each other like long-lost buddies with big hugs, many engaged in in-depth conversations, and most were joyful and energetic.

As my colleague Nima and I met people at our booth, responded to questions, and handed out packs of Estimation Cards (freebies are fun at an event like this), I mused on the blessing of human contact. As wisdom would have it, there is a time for all aspects of life: to work, to learn, to rest, and a time to enjoy the diversity of our human family.


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Quotable Quotes: Limit Work-In-Progress As Much As Possible!

Learn more about transforming people, process and culture with the Real Agility Program

Jerry Doucett 201601 white background - head - 275 squareScrum team members should be allocated to as few different initiatives as realistically possible.  The more projects you are allocated to, the more task switching you may have to perform, the longer it will take to complete any one item, the thinner you will be spread and the less effective you will be.  In other words, people (and teams) should limit their work in progress as much as possible and focus on completing those things that truly matter most.  This is true for any framework, but it is particularly emphasized with Agile ones.  Note there is a slight but fundamental difference between being allocatedto a team and being dedicated to a team – that is a topic for a future article.

(By Senior Agile Coach Jerry Doucett)

*******************************************************************

Jerry is leading a series of SAFe training classes in Toronto, Ontario from September through to December 2016. See here for more details.


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Quotable Quotes: Leverage Technology When Possible!

Learn more about transforming people, process and culture with the Real Agility Program

Jerry Doucett 201601 white background - head - 275 square“For increased chances of success, a Scrum team should leverage technology and engineering practices whenever possible.  Techniques, skills and tools that facilitate Agile approaches such as Continuous Integration, Automated Testing and Test Driven Development all make technical excellence, continuous improvement and truly being “Done” every Sprint a possible reality for a Scrum team.”

(By Senior Agile CoachJerry Doucett)

************************************************************************

Jerry is leading a series of SAFe trainings from September to December. More details are here.

 

 


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Announcing: New Course Offerings!

Learn more about transforming people, process and culture with the Real Agility Program

BERTEIG Provides World Class Training For Agile Teams & Organizations

Join the BERTEIG team for Training in the GTA and throughout Canada.  Register for an upcoming class near you!

Imagine that you could learn the secrets to high performance teams, management and organizations! Double your productivity! Dramatically improve quality! Create great working environments! Delight your customers! Our Learning Events give you the tools and practices to transform your team and your organization. Whether you are a team member in a small startup or an executive in a Fortune 500 organization, we have something for you. Learn about the performance-enhancing methods of Scrum, LeSS, Kanban, SAFe and others!

Types of Training

Scrum Alliance Registered Education ProviderCertified ScrumMaster (CSM)Certified Scrum Product Owner (CSPO)Certified Scrum Developer (CSD)Certified Scrum Professional (CSP)
Large Scale ScrumScaled Agile FrameworkReal AgilityProject Management Institute (PMI) Registered Education Provider

See our complete schedule of Learning Events!

Earn PDUs! Earn SEUs!

BERTEIG is a Registered Education Provider with Scrum Alliance and Project Management Institute. Our training courses qualify as professional development units for IIBA, OpenAgile Institute, and others.


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

A Safe Approach To Developing High Performance Teams

Learn more about transforming people, process and culture with the Real Agility Program
Jerry Doucett 201601 white background - head - 275 square
Improving Teams Means Changing Culture

By Jerry Doucet

Under the right conditions Scrum can be a tremendous success story, but it often requires hard work to get there.  For new Scrum teams it means learning to fundamentally work very differently than they are used to, such as relying on a lot more collaboration, making and delivering on shared commitments and building a high degree of trust.  For existing Scrum teams it means constantly renewing the team commitment to each other, the cause, and to the Scrum framework.  This includes the rather painful practice of revisiting the fundamentals and ensuring any deviations from accepted processes or practices were for the right reasons and had the right results.

To have a chance at achieving high performance a new-to-Scrum team will not only need to just change their processes, but fundamentally change the culture and behaviour of the team and all of the supporting roles (that includes their leadership).  Meanwhile, a mature or well-established team should never assume they are high performance; they should always be checking (and rechecking) that they are still living the Agile values.

********************************************************************

Jerry is offering a number of SAFe training opportunities in Toronto, Ontario from September through December 2016. More details here. 


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Announcement: BERTEIG is launching the first course of its kind in Canada!

Learn more about transforming people, process and culture with the Real Agility Program
The Certified Agile Leadership training is a new course. At the Orlando Scrum gathering the program was announced and shortly after, CSTs and CECs with strong leadership coaching background and formal education in this field were invited to apply to teach the class.
Michael Sahota - Profile Picture (2016)
Michael Sahota was one of these selected coaches.
The course is an acknowledgement that Agile transformation can only go so far if it is driven from the grassroots level, or without the full support of the leadership.
As a leader, they are driving a culture change in the organisation to get better results. This goes far beyond corporate mantras and motivational speeches. Participants can expext to learn the intracacies required of a leader to bring about lasting change.
The target audience is C-level executives, VPs and Senior Directors with decision making capability. The training is also for Change Agents who are catalysts in an organisation, who have the drive and willingness to make a difference.
Michael is known by the Scrum Alliance and since he has had taken formal non-Agile related Leadership training, his application was accepted making him the second global trainer to be approved after Pete Behrens (who is part of the creation committee of CAL) and another chap.
BERTEIG is honoured to be a part of this global launch of a brand new training and we look forward to the positive feedback from many more participants!
CAL1

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Announcement: NEW Certified Scrum Developer Training!

Learn more about transforming people, process and culture with the Real Agility Program

Reasons Why BERTEIG’s Certified Scrum Developer training stands above all other offerings:

  • Mike is an Agile and technical trainer who has been writing code for over thirty years
  • Berteig Consulting is the premier Canadian Agile services organization
  • team of coaches & trainers to support Mike
  • Excellent hands-on training: focus on participant simulations and discussions, no slides
  • Mike blends his strong technical background with a deep understanding of Agile methods to help teams consistently improve how they deliver value to their customers
  • Mike has been an active member of the Agile community for the last fifteen years (since the beginning)

Praise for Our Certified Scrum Developer (CSD) Training:

“Mike inspires you to want to improve your craft as an individual and as a team. You will learn skills to improve your development instantly, and skills that will allow you to continue improving every day.” – Developer – June 2016

“This is one of the best trainings I have ever had. Learned everything in real-time in much fun way rather than total theory. When taught with live examples, that create more impact. Mike is just so awesome in his teaching style.” – Front-end Developer – June 2016

“The course is very useful and it is relevant to our daily work. Exercises we did in the course helped to understand the agile/ scrum process a lot.” – Technical Specialist – June 2016

“I feel reinvigorated to take my job and team performance to a higher level.” – Developer, Feb-Mar 2016

“Mike is a great instructor and his details in explaining concepts and applying them during the training was a great learning experience.” – Developer, Feb-Mar 2016

“The class was incredibly beneficial to help illustrate the benefits of TDD, and improved code quality yields better productivity over time. It also helped emphasize Agile works best for Complex systems.” Senior Developer, Feb-Mar 2016

“The course was really interesting and helpful. Some of the topics were eye-openers. Would recommend to any SCRUM team member (developer or tester).” – Technical Consultant, Feb-Mar 2016

“This course gave a practical experience to most Agile development skills in a short period of time.” – Technical Specialist, Feb-Mar 2016

“This is a very good course for Scrum Developers as you can practise all learning on the spot.” – Scrum Developer, Feb-Mar 2016

“I loved this certification course! What I learned here would have taken lots of time to learn and observe in real life and now I know I can apply it into my job.” — Reynaldo 2015

“I really enjoy learning from Mike. He’s flexible and willing to listen for feedback to adapt his course/agenda to fit our groups needs. I’ve learned a number of topics relevant to what we do in our company and will definitely try them out.” — S/W Developer, November 2015

“I like the time I spent here. It was useful for myself as a software developer. I’ve learned several new techniques and technologies.” – S/W Developer, November 2015

“Opened a new window for doing my job.” – Developer, November 2015

“This was a very fun and useful course because it was delivered by an extremely experienced coach who is a developer. PS and he likes LEGO.” – Developer, November 2015

“Mike is an ‘agile’ trainer w/ for both technical and agile approaches.” – T, November 2015

Bonus #1: attendees get one free book from the list of recommended reading on Agile and Scrum topics. You select a book at the end of the course. The book will be shipped to an address of your choosing after course completion.

Bonus #2: attendees get free Planning Poker decks. Every attendee gets at least two. If you need more, please let us know when you register; if you are from a large enterprise company, we can ship you 100 decks at no charge!

Audience:
This course is ideal for those who desire to create high-performance product development teams. Professional developers will gain tremendous understanding about Scrum’s amazing transformational power and the critical role of the Scrum developer. If you are a member of the Project Management Institute, this course counts for 40 PDUs (5-day) or 21 PDUs (3-day), and can be used as part of the requirements towards the PMI-ACP designation.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Announcement: Mike Bowler’s CSD course – Spots Still Available

Learn more about transforming people, process and culture with the Real Agility Program

SAMSUNG CAMERA PICTURES

On September 13 & 14, Mike Bowler is presenting “Writing Defect-Free Code Faster” at the Courtyard Mariot in Toronto, Ontario.

This Certified Scrum Developer (CSD) class gives developers the techniques and methods needed to directly apply Scrum processes to development.

“15 years ago, to develop something in 6 months was okay,” Mike said when I interviewed him on the phone recently. “But now, something can be in production in 20 minutes. The world has changed and we need to go with it.”

The Scrum Alliance website describes the course as aiming to support software developers (programmers) who are building software in a Scrum environment.

“The goal is to expose students to the most important tools and techniques that need to be applied in order to build good software in the iterative and incremental fashion that Scrum requires. These ideas are central to the entire field of Agile software development.”

Mike said that in an agile organization if the developers are not aware of the agile process behind Scrum they will not be developing at full capacity. This course gives them the tools they need to be able to develop faster and with less defects.

 


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

ANNOUNCEMENT: New Course Offering — Writing Defect-Free Code Faster!

Learn more about transforming people, process and culture with the Real Agility Program

What?

The ONLY Certified Scrum Developer (CSD) Training offered in Canada! This highly-coveted Scrum offering is certified by the ScrumAlliance and counts toward 21 PDUs or SEUs.

Why?

Writing Defect Free Code Faster! – This 3-Day course will prepare you for all that a Professional Developer will encounter in an Agile environment.

  • – Learn how to write defect free code that will be easy to manage over the long-term.
  • – Understand why test driven development is the key to successful product development.
  • – Delight your stakeholders and customers by giving them exemplary software.

Where?

Toronto, Ontario

When?

September 13 & 14, 2016

Who? Instructed by Senior Agile Coach Mike Bowler!

SAMSUNG CAMERA PICTURES
SAMSUNG CAMERA PICTURES

Participants also receive two free books after attending the CSD training. The first book is Mishkin Berteig’s collection of the best articles from our blog Agile Advice. This book includes a multitude of useful and insightful articles about all things Agile. The second is a book of your choice from our list of recommended reading! These are the most important books for people using Scrum: books about technical topics, processes, the human side of Agile, and even corporate culture.

REGISTER NOW! 

***********************************************************

More about Certified Scrum Developer Training from Scrum Alliance:

Certified Scrum Developers have demonstrated, through a combination of formal training and a technical skills assessment, that they have a working understanding of Scrum principles and have learned specialized Agile engineering skills. The Certified Scrum Developer® course is aimed at software developers (programmers) who are building software in a Scrum environment. The goal is to expose students to the most important tools and techniques that need to be applied in order to build good software in the iterative and incremental fashion that Scrum requires. These ideas are central to the entire field of Agile software development.” –

and

By earning a Certified Scrum Developer® certification you:

  • Learn the foundations of Scrum and the scope of the Certified Scrum Developer’s role from the best minds in Scrum.
  • Demonstrate to employers and peers your attainment of core Scrum knowledge.
  • Expand your career opportunities by staying relevant and marketable across all industry sectors adopting Agile practices.
  • Engage with a community of recognized Scrum experts who are committed to continuous improvement.

As a CSD, you will also have access to a two-year membership with Scrum Alliance. Through this membership you can join local user groups and online social networks, gain access to deep discounts on gatherings and member-only resources.

 

 

 


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Promotional: Video About our Agile Training

Learn more about transforming people, process and culture with the Real Agility Program

BERTEIG offers agile training for Certified ScrumMaster, Certified Scrum Product Owner, Certified Scrum Developer, Leading SAFe, and more.  This promotional video gives you a glimpse into the classroom for these fantastic events.

Find out more on our BERTEIG / WorldMindware course registration site.

Note: all prices in Canadian dollars.  Most courses are delivered in the Toronto area, but we also come to you to deliver training upon request!


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Refactoring: 4 Key Principles

Learn more about transforming people, process and culture with the Real Agility Program

I believe in refactoring.  The Agile Manifesto holds that

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

The quality of our software systems depends on refactoring.  In fact, I believe that the only way that an organization can avoid refactoring is by going out of business.  Maybe I should explain that.

Refactor or Die

Heart Monitor Flatline - Refactoring or DeathEvery software system that we build is inside a dynamic environment.  The organization(s) using the software are all in a state of constant change.  The people using the software are also constantly changing.  Due to this constant change, every software system needs to be adapted to the environment in which it is used.  Most of the time, businesses think of this constant change in terms of new features and enhancements – the scope of functionality that a system can handle.  Less commonly, businesses think of this change in terms of the obvious external qualities and attributes of the system such as performance or security.  But almost never does an organization, from a business perspective, think of the invisible qualities of the software system such as simplicity and technical excellence.

What happens when the business does not recognize those invisible qualities?  I’m sure almost every software developer reading this can answer this question easily: the system becomes “crufty”, hard to maintain, bug-prone, costly to change, maze-like, complex.  Some people refer to this as legacy code or technical debt.

The longer this state is allowed to continue, the more it costs to add new features – the stuff that the business really cares about.  It is pretty easy to see how this works – for someone who has a technical background.  But for those without a technical background it can be hard to understand.  Here is a little analogy to help out.

Imagine that you set up a system for giving allowance to your kids.  In this system, every week your kids have to fill out a simple form that has their name, the amount that they are requesting, and their signature.  After a few weeks of doing this, you realize that it would be helpful to have the date on the form.  You do this so that you can enter their allowance payments in your personal bookkeeping records.  Then you decide that you need to add a spot for you to counter-sign so that the paper becomes a legal record of the allowance payment.  Then your kids want extra allowance for a special outing.  So you add some things on the form to allow them to make these special requests.  Your accountant tells you that some portions of your kids allowance might be good to track for tax purposes.  So, the form gets expanded to have fields for the several different possible uses that are beneficial to your taxes.  Your form is getting quite complex by this point.  Your kids start making other requests like to be paid by cheque or direct-deposit instead of in cash or to be paid advances against future allowances.  Every new situation adds complexity to the form.  The form expands over multiple pages.  Filling out the form weekly starts to take significant time for each child and for you to review them.  You realize that in numerous places on the form it would be more efficient to ask for information in a different way, but you’re not sure if it will have tax implications, so you decide not to make the changes… yet.  You decide you need your own checklist to make sure that the forms are being filled out correctly.  A new tax law means that you could claim some refunds if you have some additional information… and it can be applied retroactively, so you ask your kids to help transcribe all the old versions of the form into the latest version.  It takes three days, and there is lots of guess-work.  Your allowance tracking forms have become a bureaucratic nightmare.

The forms and their handling is what software developers have to deal with on a daily basis – and the business usually doesn’t give time to do that simplification step.  The difference is that in software development there are tools, techniques and skills that allow your developers to maintain a system so that it doesn’t get into that nightmare state.

For a more in-deth description of this process of systems gradually becoming more and more difficult to improve, please see these two excellent articles by Kane Mar:

Technical Debt and Design Death

Technical Debt and Design Death: Part II

Ultimately, a software system can become so crufty that it costs more to add features than the business benefit of adding those features.  If the business has the capacity, it is usually at this point that the business makes a hard decision: let’s re-write the system from scratch.

I used the word “decision” in that last sentence.  What are the other options in that decision?  Ignoring the problem might be okay for a while longer: if the company is still getting benefit from the operation of the system, then this can go on for quite a while.  Throwing more bodies at the system can seem to help for a bit, but there are rapidly diminishing returns on that approach (see The Mythical Man-Month for details).  At some point, however, another threshold is reached: the cost of maintaining the operation of the system grows to the point where it is more expensive than the operational value of the system.  Again, the business can make a hard decision, but it is in a worse place to do so: to replace the system (either by re-writing or buying a packaged solution), but without the operating margin to fund the replacement.

In his articles, Kane Mar describes this like so:

It’s pretty clear that a company in this situation has some difficult decisions ahead. There may be some temporary solution that would allow [a company] to use the existing system while building a new product, [A company] may decide to borrow money to fund the rewrite, or [a company] may want to consider returning any remaining value to their shareholders.

In other words, refactor or die.

Refactoring and Business

Refactoring and Business Success - Growth ChartIn the Scrum Master and Product Owner classes that we teach, this topic comes up frequently: how does the business account for refactoring?  How do we “govern” it?  How do we make good decisions about refactoring?

There are a few principles that are important in helping to answer these questions.  All of these principles assume that we are talking about refactoring in an Agile team using a framework like Scrum, OpenAgile, or Kanban.

Refactoring Principle One: Keep It Small

Refactoring is safest and cheapest when it is done in many small increments rather than in large batches.  The worst extreme is the complete system re-write refactoring.  The best refactoring activities take seconds or minutes to execute.  Small refactorings create a constant modest “overhead” in the work of the team.  This overhead then becomes a natural part of the pace of the team.

Not all refactoring moves can be kept so small.  For example, upgrading a component or module from a third party might show that your system has many dependencies on that module.  In this case, efforts should be made to allow your system to use both the old and the new versions of the component simultaneously.  This allows your system to be partially refactored.  In other words, to break a large refactoring into many small refactorings.  This, in turn, may force you to refactor your system to be more modular in its dependencies.

Another common problem with keeping refactorings small is the re-write problem.  Your own system may have a major component that needs to be re-written.  Again, finding creative technical means to allow for incremental refactoring of the component is crucial.  This can often mean having temporary structures in your system to allow for the old and new parts to work harmoniously.  One system that I was working on had to have two separate database platforms with some shared data in order to enable this “bi-modal” operation.

Refactoring Principle Two: Business Catalysts

When is the earliest that a refactoring should be done? Not whenever the technical team wants to do it.  Instead, the technical team needs to use business requests as catalysts for refactoring.  If the business needs a new feature, then refactoring should only be done on those parts of the system that are required to enable that feature.  In other words, don’t refactor the whole user interface, just refactor the parts that relate to the specific business request.

Again, there can be exceptions to doing this… but only in the sense that some refactorings might be delayed until a later date.  This is tricky: we want to make sure that we are not accumulating technical debt or creating legacy code.  So, instead, we need to allow the technical team to refactor when they detect duplication.  Duplication of code, data or structure in the system.  A business request might impact a particular part of the system and the team sees how it might be necessary to refactor a large swath of the system as a result.  But, the cost of doing so is not yet justified: the single request is not enough of a catalyst, and the team can also choose a simple temporary solution.  Later, the business makes another request that also implies the same large refactoring.  Now is the time to seriously consider it.  It is now a question of duplication of another simple temporary solution. The business may not be happy with the extra expense of the large refactoring so the principle of keeping it small still applies.  However, the technical team must also be willing to push back to the business under the right circumstances.

Refactoring Principle Three: Team Cohesion

Teamwork in Agile requires high levels of communication and collaboration.  In refactoring work, teamwork applies just as much as in any other activity.  Here, it is critical that all members of the team have a unified understanding of the principles and purpose of refactoring.  But that is just the first level of team cohesion around refactoring.

The next level of team cohesion comes in the tools, techniques and practices that a team uses in refactoring.  Examples include the unit testing frameworks, the mocking frameworks, the automation provided by development tools, continuous integration, and perhaps most importantly, the team working agreements about standard objectives of refactoring.  This last idea is best expressed by the concept of refactoring to patterns.

The highest level of team cohesion in refactoring comes from collective code ownership and trust.  Usually, this is built from practices such as pair programming or mob programming.  These practices create deep levels of shared understanding among team members.  This shared understanding leads to self-organizing behaviour in which team members make independent decisions that they know the other team members will support.  It also impacts research and learning processes so that teams can do experiments and try alternatives quickly.  All of which leads to the ability to do refactoring, large and small, quickly and without fear.

Refactoring Principle Four: Transparency

In many ways, this is the simplest refactoring principle: the team needs to be completely open and honest with all stakeholders about the cost of refactoring.  This can be difficult at first.  Another analogy helps to see the value of this.  A surgeon does not hide the fact that care is put into creating a clean operating environment: washing hands, sterilizing instruments, wearing face masks and hair covers, restricted spaces, etc.  In fact, all of those things contribute to the cost of surgery.  A surgeon is a professional who has solid reasons for doing all those things and is open about the need for them.  Likewise, software professionals need to be open about the costs of refactoring.  This comes back to the main point of the first part of this article: hidden and deferred costs will still need to be paid… but with interest.  Software professionals are up-front about the costs because doing so both minimizes the costs and gives stakeholders important information to make decisions.

The challenge for business stakeholders is to accept the costs.  Respecting the team and trusting their decisions can sometimes be very hard.  Teams sometimes make mistakes too, which complicates trust-building.  The business stakeholders (for example, the Product Owner), must allow the team freedom to do refactoring.  Ideally, it is continuous, small, and low-level.  But once in a while, a team will have to do a large refactoring.  How do you know if the cost is legitimate?  Unfortunately, as a non-technical stakeholder, you can’t know with certainty.  However, there are a few factors that can help you understand the cost and it’s legitimacy, namely, the principles that are described here.

If the refactoring is small, it is more likely to be legitimate.

If the refactoring is in response to a business catalyst, it is more likely to be legitimate.

If the refactoring is reflective of team cohesion, it is more likely to be legitimate.

And, of course, if the refactoring is made transparent, it is more likely to be legitimate.

 


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

What Do Strong Companies Hire For – Skills, or “Something Else?”

Learn more about transforming people, process and culture with the Real Agility Program

Perhaps you’ve experienced this…You go all revved up to a job interview with your beautiful resume in hand outlining all your accomplishments, believing you have all the right training, skills and experience…but you’re not chosen for the position. You cannot understand why.

Advertising guru and author, Simon Sinek, explains: “Weak companies hire the right experience to do the job. Strong companies hire the right person to join their team.”

Teamwork is becoming the hallmark of most successful businesses and organizations. We have entered an age where cooperation and working together is a vital necessity. No longer is the individual star performer going to do it for an organization. That’s not enough. Everyone needs to have the same vision, the same values, the same feeling of being valued. The demands on companies is just too great for one or two individuals to lead the way. Everyone must be a leader.

How can one show a potential employer that you are a team player? That you have great consultative and cooperative skills? That you’re willing to learn from everyone around you? Is this something that can be reflected in your personality?

“A recent international study surveyed more than 500 business leaders and asked them what sets great employees apart. The researchers wanted to know why some people are more successful than others at work, and the answers were surprising; leaders chose “personality” as the leading reason. Notably, 78% of leaders said personality sets great employees apart, more than cultural fit (53%) and even an employee’s skills (39%).” http://www.linkedin.com/pulse/do-you-have-right-personality-successful-dr-travis-bradberry

Forbes Magazine has published online articles about the hiring process which are fairly old-school, even wishy-washy. Writers talk about knowing the clear skill-sets a company is looking for, and having a detailed scorecard that defines the performance objectives for the position. They also discuss qualities of behaviour, but do not define behaviour in any specific way. Their expertise falls short in looking at personality, team-building qualities, and desire to learn, change and adapt.

Agile is the leading team-oriented methodology being adopted by the best and the brightest organizations in the world, such as Google and Apple. Agile teaches its participants to reflect, act and learn.

This is a kind of life-agility that’s needed in every realm we function in, whether as spouses, parents, employees, or members of our communities.

What do you hire for?


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Nexus Reifies

Learn more about transforming people, process and culture with the Real Agility Program

Nexus Scrum

I had the privilege of attending Scrum.org‘s 2-day seminar on Scaled Professional Scrum. The Nexusa connection or series of connections linking two or more things (direct translation from Latin a binding together), is the recommended scaling framework. The purpose of the Nexus is to manage dependencies between 3-9 Scrum Teams towards “reification”, to make an abstract idea real or concrete. This is ensured mostly through a single Product Owner, single Product Backlog, integrated (Nexus) Sprint Planning, Review and Retrospective and the addition of a Nexus Integration Team whose membership is made up mostly of Scrum team members internal to the Nexus, but often also includes other support personnel. The structure is very similar to LeSS, but perhaps even less prescriptive and is certainly much less prescriptive than SAFe. This is probably my favourite thing about the Nexus – the fact that it has just enough structure to be a model for scaling Scrum, but is light and flexible enough to accommodate all of the nuances that “just depend” on your situation. Like the other two above-mentioned scaling models, it places emphasis on the need for strong technical practices, continuous integration and the synchronization of events to facilitate integration. There is flexibility around synchronization, in that if the Nexus Sprint is 4 weeks in duration and teams within the Nexus want to do 2 or even 1 week Sprints, the model accommodates – as long as all of the teams’ work is combined into a fully integrated (reified) increment of potentially shippable product by the end of the Nexus Sprint.

 


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Are You Getting What You Need From Conferences?

Learn more about transforming people, process and culture with the Real Agility Program

Professional Development opportunities are everywhere and they are easy to find at any price-point on any topic at any location. The hard part is deciding how to spend your time.

It is important to think about why you attend conferences. Most importantly, why do you choose some conferences over others? Do you want to learn from peers in your field? Do you want exposure to the latest industry trends? Are you looking for a new job? Or do you just want to be blown away by great people?

I attended the Agile Coach Camp Canada last weekend in Cornwall, Ontario, and that incredible experience has caused me to reflect on the variety of conferences I have enjoyed in recent years…and why I choose some over others.

Like any great product, successful conferences have clear and focused goals which create specific opportunities for their participants. Conference organizers choose location, venue, date, duration, registration cost, format, theme, etc. The best conference organizers are courageous and willing to make difficult decisions in order to compose their events with utmost respect to the collective vision and goals of the attendees, sponsors, and founders. The organizers of Agile Coach Camp Canada, for example, are dedicated to creating an event in which the agile coaching community can “share in an energizing and supportive environment”. That’s it! A clear and compelling vision. This clarity of vision guides decisions like whether to host the event in a metropolis (which may result in larger numbers and more sponsorship opportunities) or away from large cities (think overnight “camp”) — this is one formative decision of many that make Agile Coach Camp Canada so intense and unique year after year.

Some background: This was the 6th annual Agile Coach Camp Canada and the 2nd time that I have attended; the event generally starts on Friday evening and includes supper followed by lightning talks, Saturday uses Open Space Technology to produce an agenda followed by supper and socializing (late into the night!), then Sunday morning wraps-up with retrospection then everybody leaves in early afternoon; the cost per person is between $300-$500 for the entire weekend including meals, travel, hotel room; the event is often held in small-ish towns like Guelph or Cornwall which are a few hours from a major airport. Having been there twice — both times just blown away by the community, their expertise, their emotional intelligence, their openness — I understand very clearly the responsibility of conference organizers and I have gained new respect for the difficult decisions they must make.

Upon reflection, I know that I attend the Agile Coach Camp Canada because (a) I learn a lot and (b) I have bonded deeply with my colleagues. Those are the two reasons that I will return next year and the next. I do not attend that event with an expectation to develop new business, or attract new leads, or stay on top of industry trends — instead, I will look to other conferences for those opportunities.

What/where/when is your next professional excursion? Do you know what you want to get out of it? Here’s a tip: choose one objective from the list below and find a conference that delivers exactly that!

  • Business development: Find new or reconnect with existing business contacts.
  • Professional development: Find or explore opportunities for career enhancement.
  • Learning: Listen/watch/share with others who practice in your areas of interest.
  • Community building: Connect and communicate with people with interests or qualities that you appreciate.
  • Market exposure: Evangelize a product or service for a captive audience.
  • Other?

Life is short…make it amazing!


Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail