Today are are going to talk about Agile methodologies and how to implement it in the real production process.
Agile is not simply a set of practices to be implemented according to a rigid set of guidelines or checklist.
Successful Agile implementation is best described as a mindset
We are going to talk about Agile mindset and manifesto, how to build teams which work using agile methodology, how efficiently organize the internal process and life hacks from our experience…
So, there is no set of rules which will allow us to lead all kinds of projects to success. IBM tried to achieve this goal and got Rational Unified Process (RUP) which has more than 100 rules, a lot of subprocesses and it is pretty close to well-known Waterfall. This is too hard.
The power of Agile is that it leverages human behaviour as a means to achieve a goal. It is important to note that Agile is not simply a set of practices to be implemented according to a rigid set of guidelines or checklist. Successful Agile implementation is best described as a state of mind or mindset. Agile Mindset is a vision based on 4 simple ideas:
You can use them to grow the desirable behaviours that springs forward from Agile.
If you hire people who believe what you believe, they'll work for you with blood and sweat and tears First of all, wecare about our staff mindset which should meet Agile manifesto. We check candidates for the motivation: if they prefer technology to working product or vise versa.
According to the 2nd point from Agile manifesto: Working software matters.
I will give you quick example:
One of our projects, which analysis production process on factories, is based on measurements using statistical methods to improve process and predict problems. Technology stack, required by the client, is Java and React.js and it is written on the scalable microservice architecture. During the implementation the team initiated usage of Python as the service should do a lot of calculations. This is how product-oriented development team provide solutions basing on the client’s business goals: they implemented microservice for calculations in Python, which helped a lot our client. Engineers from this team have never written code in Python before but they have done it because of their concentration on well working software. In this case, Python helped to improve performance..
We are looking for such candidates and we hire them to create the synergy. It is impossible without certain ideology:
Ideology is one of the most important factors for the team success. And we believe in it. To make sure that all employees are on the same page, our mission and values are printed in our team members mindset, we constantly transmit them and live by them, so each of us knows what we do and how we do it.
The main message of our mission is “Our value is solutions which solve business problems” I would add “... and help the business to grow”.
I will tell you one more story... Once one of our clients came to us with the new project: they asked to build customized reports in the existing SaaS application. Proposed stack was Java and Angular. Analyzing the task and client’s domain, we discovered that clients of our client use API from this SaaS to display some info on their own sites. Basing on this insight we offered to create Builder based on React.js and pack it as a separate library which will allow to add such builder to any site easily and just specify API endpoints. The client accepted our proposition and right now our client and their clients are using this builder for their purposes. So we didn’t just solved client’s problem - we have helped him to find new opportunities for business. As per the 4th idea of Agile Manifesto: Responding to change over following a plan.
Here you can see the standard Scrum workflow. Development process is divided into Sprints.
Each sprint has artifacts like Planning with story points, Implementation with daily meetings, Demonstration and Retrospective. All those info can be easily found in the internet.
But Is there anything that help us to build the right agile development process?
We should go to the Agile Manifesto and check the 1st point: Individuals and interactions over processes and tools which definitely means that it absolutely doesn’t matter are you using Scrum or Kanban - the most important is the mindset of your team.
So, we can go with any agile methodology but we work with them in a special way which allows us to be smarter and our customers gain benefits from it.
Here are some of our tricks:
Regarding the estimation we also have own vision:
And those points according to the 3rd point of Agile Manifesto: Customer collaboration over contract negotiation. Weare absolutely up for close communication, changes, re-estimation and so on in case if it will help us to bring better value to our client’s business.
Everything in the development process can be driven only by the people who are carefully selected during the hiring process and they have not only technical skill but also the Agile Mindset which is very important because it is not possible to create the set of rules which will cover all cases, so we need to have the right person to take the right decision.
You will receive new articles from Limestone team. It’s all about software development trends for your business success.