Saturday 22 August 2020

Behaviour-driven development is a Key Tenet of Nimble Organisations

 The first step in every project is a discussion about the behaviours of the product or feature to be built. A businessperson or client comes up to the development team and explains what they want.

Sometimes these interactions come in form of an user story, other times they come in the form of design documents, come as flowcharts or mock ups, or even hurried phone calls.

From these communications alone, the development team is responsible for constructing a system that “just works”.

This is especially difficult for freelancers working outside the larger system.

Behaviour-driven development focuses on the business behaviours the code is implementing: the “why” behind the code. It supports a team-centric (especially cross-functional) workflow.

From my experience Behaviour-driven development works really well when the developer and business person sit down together and write pending specifications:-

  1. The business person specifies behaviours they want to see in the system.
  2. The developer asks questions based on their understanding of the system, while also writing down additional behaviours needed from a development perspective.

Ideally, both parties can refer to the list of current system behaviours to see if the new feature or behaviour will break existing features.

This collaborative approach lets the developer focus on what the feature provides for the end user, and having the business person right there constrains the developer to talk about behaviour, not implementation.

Behaviour-driven development is about collaboration & communication, and collaboration & teamwork are the key tenet of a Nimble Organisation.

Thursday 20 August 2020

Nimble Organisations

Successful businesses today are making strides to create a culture that promotes agility, flexibility and adaptability.  Everything from their policies, systems and core values encourage this type of workplace 

But organisations need Nimbility, to succeed in todays business market. They need to be rapid, quick, fast. The organisation needs to adapt rapidly to shifting markets, changes in business requirements. 

A key factor for any organisation to be nimble, 
  • The decisions need to be made at the lowest levels possible. ·       
  • Has no Senior Management ·       
  • Has Leaders ·       
  • Have missions and values, not vision.   
  • Has structure without hierarchies
  • Employee turnover is relatively low.
  • Has Core Principles, not culture.
Nimble organisations do the following really, really well:- 
Get comfortable with change: Agile organizations are comfortable with change and do what they need to do to address these new challenges. 
 Be clear and simple: Any process, procedure or policy that is overly cumbersome must get kicked to the curb and replaced with a simpler approach, and one that perpetuates and supports faster decision-making and more responsive actions.  
Balance stability with agility: First, the perfect blend of standardized and structured rules and processes combined with individual freedoms and flexibility needed to seize market opportunities and respond swiftly to customer demands. Second, a workforce and leadership team functioning in perfect harmony and high collaboration, high trust work environments. 
Trust and Empower employees: Trusting and empowering employees, divisions and teams to shift their focus and develop new products, services and methodologies is imperative. Employees must also be entrusted to make decisions at the lowest levels. 
Collaboration and Teamwork: Siloes and barriers to teamwork are broken down and leaders lead the way to facilitating healthy dialogue and reward those who collaborate well. Agility- focused leaders know that having more “brains in the game” will lead to better ideas and innovative developments.