Lean case is the pathway that works with Lean business plan. Every Business needs some essential things for the success and growth of business so the lean plan contains these essentials such as Strategy, marketing tactics, offering tactics, financial tactics, forecasts of sales, metrics, schedule, costs, expenses, milestones, assumptions and cash. It is not documented and already decided plan, it is a streamlined plan which is being updated with time for forwarding business. So, it could be presented to the lenders and the investors for the establishment of business any further.
Principles of Lean Business Case
It can take time for the management practices to update anything like technologies, environment and development that are continuously evolving. Think about this for a while that the senior people of the organization do not want any changes in the rules and plans of the business then that kind of their behavior is harmful for the success of the business. So, that’s why the old business personalities will not be able run their businesses effectively anymore.
Let’s discuss main principles of the Lean Case;
Add new strategies in your business on the demands of market and environment. This obviously will be useful and supporting for the success of your business.
You should make hypotheses, do experiment according to the market demand and repeat them until you do not get the desire results. Sometimes you will experience that the results will remain same because some facts do not change.
- Little Bets:
By using cheap lean experiment and quick strategies, make small gambles to decrease the cost of loss and to increase the rate of success. It is the best way to get success that you have a lot of ideas.
- Focus on outcomes:
Always focusing on the upcoming goals or outcomes, and not restricting the outputs and plan should be directional. Use different and new methodologies which are evolving for your business model.
— Slimane Zouggari
Acceptance Test Driven Development (ATDD)
If you are working in scrum and you are taking a user story, you want to know that all the requirements are met. Now the team will have to write the test cases to meet all the acceptance criterions.
Whenever the development is going to start, right after then these tests are written and executed instantly, in this way these test cases may face failure. Now the developers have to write the code in order to pass the test cases, and then the tests cases are done again, this time they pass without any hassle.
How does it work
ATDD is known as a practice in which the team that is working together about the test case, collaborates with each other and after distilling it into acceptable test and executes it right before the development. This is said to be the best way as it provides with surety that everybody in the team knows that what are they going to build and from the very start they know that what are they going to get in the end.
Now, it is clear that how much it has importance in agile development process, we can say that it is the core part of the agile development.
When the team members with different views and perspectives get to collaborate with each other on how to implement the functionality then with this practice the desired results can be achieved.
Let us understand it better by knowing the main motive of these discussions, to make it simple they need to discuss these three things about the customers:
- What is the main issue we are going to solve?
- How are we going to solve this issue?
- What about THIS and THAT
They are going to find answers for these questions by keeping the customer’s perspective in mind.
— Slimane Zouggari
The Johari window is a technique that was introduced by the psychologist named Joseph Luft. It is used by a person to better understand himself and his relationship with other people. The Johari window uses a four room technique to execute this exercise. The Johari window is separated into four parts;
- The Arena,
- Blind Spot
- And Unknown.
The person and his peers select adjectives that are related to his personality; The Arena is what the person and the peers perceive him to be, the Façade is what the person the person selects. The Blind Spot is selected by the peers only and it shows that what others think of the person, not the person himself. The Unknown is what the person does not think of himself and those traits and characteristics are there in him but do not show up that often.
How is it used in Risk Management?
The Johari window can be applied in other than finding the personality of a person. The relation of the Johari window with the risk management is that the Unknown unknowns can be applied in the Managements to determine that what the team or the production is lacking or what risks it brings with it. Once the Unknown Unknowns are found, they become Known Unknowns and they are easier to handle in an agile manner. When there are situations when one is not prepared for Unknown Unknowns, the risk are very high and one cannot expect the results that is why it very important to keep the Unknown Unknowns in check and plan out the rest according to that. Unless we know what is coming or what is unknown to us, any project or development or any event it may be, it always involves risks and the only way to tackle that risk is to find out the Unknown and make it known.
— Slimane Zouggari
Scrum of Scrums is a technique which is much appreciated when conducting studies or even when there is a large group and there is a need of hierarchy. The large group is divided into multiple groups and from those groups, members are selected by other members of the same team. These selected members are called ambassadors. The selected ambassadors further vote for their ambassador who overlooks the whole large group and manages it instead of a single person running a mismanaged chaotic place.
The idea of Scrum of Scrums is very much used in the Agile Software Management. The Idea is to divide large groups in the team of five to ten and make them choose a leader or an ambassador for themselves. This allows the teams to work efficiently in an agile manner and not hinder the progress. The ambassador is to collaborate with the ambassador of the other teams.
When an ambassador is not holding any meetings with other team’s ambassador, he can perform the daily meetings with his team by reporting the completion of a task. The idea of implementing this technique within the Agile Software Management is to create a hierarchy and for the group to perform the task faster and better. It is quite frustrating and time consuming for a single person to look after a whole group by himself. As compared to that, when the members of different team contact their ambassadors to check the performance and further the report to the Scrum of Scrums, the task are made easier. This way, a single person is not burdened.
In the Agile Software Management, instead of all members shifting their workload to a single task and creating chaos of mismanagement, they are divided into groups and assigned single tasks that the teams can work on and give the well-deserved attention to that task.
— Slimane Zouggari
Business agility is referred to the capability of a company or organization that it can sense any kind of changes externally or internally and after doing that the response in accordance so that they can deliver the best to the customers.
We cannot say that it is a general framework or it is some kind of methodology, but it is a description that how the organization is operating through representing the type of growth approach; we can say that it is similar to the agile approach as said by the members of the software development community.
How does it work
Business agility is used and is appropriate for all the organizations that are undergoing through any rapid and uncertainty changes. As the teams learn through collaborating, interacting and communicating with each other same as the agile development. Business agility helps them to adapt both process and product so that they will be able to work effectively on the same. Any practice within the organization for the betterment of the organization; that will make sure the organization will deliver the expected product to the customers.
In software development the contribution of business agility is that it provides it with the means with which the organization is positioned to get the understanding of all the benefits of the agile approach.
It also allows the company to respond to the changes without losing vision or momentum. Balance, flexibility and adaptability are the three essential qualities for the agility of long term business. It is clear that business agility has an imperative role in the success and prosperity of long term business.
If the company is capable of changing with the environment and market then we can say that it will gain long term success by adapting then changes and managing the competition in the market.
— Slimane Zouggari
What is Feature Branching?
Feature Branching is the idea that the feature developments should only take place in the allocated branch and not in the main branch so that the code-base of the main branch is not disturbed, and the developers can work on a specific story in the dedicated branch.
The reason this is so is that when codes are being entered into the master branch, it might disturb it and it might result in the whole master branch to suffer. To prevent any unwanted broken codes from tainting the master branch, the feature branching is used. The Feature branching allows multiple developers to work on a feature in the Feature Branch and they can run different tests without getting hindered by the changes being done by other developers and vice versa.
Why is it bad?
The reason Feature Branching is considered to be bad is not because of what it is but because of how it is used. Feature Branching gives the developers different dedicated branches to work on, but it hinders the progress when the features and changes are not integrated into the master branch by a developer.
Another reason it is considered to be bad is because if there are two developers working on two dedicated branches, when they merge the code and it works then that is good but one cannot know if the feature coded in the dedicated branch will work individually and independently which may waste time and slow down the development altogether.
The real reason of the Feature Branching being bad is itself; when there are two developers working on two dedicated branches, one cannot know what the other developer has done and they possibly cannot predict how the work done in their dedicated branches will impact the work done in the other dedicated branches which altogether jeopardizes the whole point of using the Feature Branching.
— Slimane Zouggari
The Dunbar Number is something which an anthropologist named Robin Dunbar came up with after extensive research on Apes and Monkeys. This number essentially stipulates how many people can an average human being maintain a stable relationship with other human beings. Dunbar theorized that an average human being can maintain relationships with a maximum of 160 people. Dunbar furnished his results after comparing the size of the brain of primates with the size of their social circle and through this he came up with his final result.
Dunbar actually gave a limit of 120 relationships to 250 however the figure of 150 is taken as an average. Researchers believe that if a person where to actually exceed this limit then the overall status would begin to crack, and the relationships would start becoming unstable. Every human being has a different Dunbar number. In social relationships were the Dunbar number exceeds its limits yet still is working somehow this would only happen if it were subjected to certain strict conditions and rules to keep all the relationships healthy.
How does it relate to scaling Agile?
Agile is a technique used in software development were the sole focus is on team cohesion and the continuation of learning. Agile was developed for software management so that teams could quickly come up with ideas for future work and quickly come up with various solutions. The idea is that when a set number of teams are tasked with situations they can easily manoeuvre in and out of the various hurdles they face.
Agile scaling is a term used nowadays to focus upon the smaller teams within the technique and how a team that consists of different people can coexist and work together in such high-tension environments. Agile scaling combined with Dunbar number is very important since the Dunbar number sets the average amount of people one person can have a stable relationship with and this is very important for Agile software management (IT) as if a team is set up with people which exceed the maximum limits set by the Dunbar number the team cohesion will be affected and the whole purpose of Agile will collapse on itself.
— Slimane Zouggari
Blind men and the Elephant is the story of six blind men who are trying to describe picture by touching. They found a picture and these sightless people did not know about it so they were doing effort to recognise and comprehend the picture. Someone is telling after touching its ears that it is fan, second one tells his tail, a rope. Same like this the other four persons describe this object with the help of their own perception.
By this story we get a simple theory about things or situations and anything else that we cannot understand just by observing. We can get the idea by questioning and discussion.
Transposition to Software Development:
They should have guessed the tail as a tail, if the blind people knew about the picture that it is an elephant. Same like this, you can find different stories in the field of business and software development. If they are developing or producing something and they do not know about that what they are producing and what is its purpose even the owner of the product does not know about the real purpose of the product as well then it will become useless and time wasting. Anyone do not want to go in such situation so they should avoid it. The team must be raising the questions and they should be arguing about the product. By this they can get the main purpose of making the product clearly and so that they will be able to produce the required product efficiently.
No doubt, people have a tendency that they can represent their experiences as this is the whole truth but which is not; they do not like to listen or consider the experiences of other people. They should consider the experiences of other people and the experiences they have in software development to get the project done in the best way.
— Slimane Zouggari
What is Competency?
All skills and characteristics of the person which are observable and measurable, is called Competency. These abilities are classified in different groups or categories, such as behavioural skills, management skills. Knowledge, capability of doing anything and working skills. Competency means there is a relation between businesses and organizations with the help of which they both can achieve their aims.
The competencies of all the employees from upper to lower grade should be identified.
Competency matrix is a table or grid which clearly shows or categorizes the abilities or working manner of the worker along with his team members. The well managed grid of skills can identify the correct person for the required job. We can say competency matrix defines and is able to select the right person for the right job or scale.
How does it work?
Competency matrix is a useful thing and is of great importance in the field of business. It is used as a tool for the identification of the suitable person for the job, as well as a means to describe the needed competencies.
Let’s explain it with an example, a professional person having the skills of JAVA or software development is required in IT field. Same as this, the person has strong communication skills will be referring as a field worker, which is suitable for interacting with people and do productive work with them. On the other hand, a person who has leadership skills, motivational behaviour and having new ideas will be perfect for the interpersonal relations.
Now, it is clear that why measuring competencies is important for an organization and why should an organization go for the right person when selecting him for any job. By doing this the company will be able to get the expected results from that person.
— Slimane Zouggari
There is a need of project management software when a company is working on many projects at a time, they need to understand the business goals much better. If they are working on it and they think that there is no mistake in it but they get surprised the results are not same as the expected ones.
What is their mistake? Well, they ignored and neglected the importance of the Conway’s law. This is not considered as some scientific law but it is an effective plan for the organizations and its effects can be seen in the companies that are working in software development.
Now organizations have a need of this law in order to achieve the business goals set by them. People structure needs to be implemented so that all they teams must be aligned in an order to get the architecture of the software they need.
How it works
All you need to do is to map out the whole organization and then decide that does it meets the phases of the development process or not. If the organizational structure and development process are matched then what will be next when you are going to introduce Agile/Lean that is a different process flow?
As we know that all the departments are preoccupied with their local and internal efficiency. The concern of agile is about the overall efficiency of the process.
There is an important role of Conway’s Law in the construction of all the systems of the organization. This is due to the fact that the construction of all the products can eventually redirect that how the teams are communicating with each other and how the communication structure goes.
When the technical department is having all the technical abilities and their work is focused on the UI of one group, other group is doing process management, other one is looking on the infrastructure, another is checking the database, one of the groups is looking on the implementation of the business logic on the server; now communication structure must be defined so that all these groups can work with each other through communication.
So, Conway’s Law means structuring the working teams up for the betterment of the company.
— Slimane Zouggari