o you have decided to implement Agile at your company. You like the ability to track the teams progress using velocity charts, and the close customer communication. The ability for a software team to release software frequently (at the most every month) is attractive as well.
What is the best way to introduce this? There are many ways to implement Agile in IT, the following are experience based recommendations.
Introducing Agile to a Software Development Team
The bulk of the literature about Agile methodologies is related to software development. In fact, Agile was developed in software development teams. See “Agile, a Different Methodology” for more information on the background. For that reason, introducing Agile first to an application development team makes sense. If your team is one or 200, there is something in Agile for all sizes of teams.
If your group has no experience with Agile, use a good consulting group to do at a minimum an immersion class for the developers. This is the best way for all devs to get jump started into doing Agile.
The different methodologies include Scrum, XP, Crystal, FDD, Lean and others. The methodology with the most adoption is Scrum. We will touch on standard Scrum practices initially, and mention some newer Lean ideas used in software development as well.
Keep in mind that Agile/lean practices promote continuous improvement. Even though when the team first uses Agile practices, there will be mistakes. The beauty of using practices like breaking requests into smaller features/stories, and frequent iterations is that those mistakes will be caught early.
Continuous improvement helps to make sure that mistakes happen less frequently and waste is eliminated. For instance, three months after using Agile, the team may change their estimation method based on experience.
Starting a New Project with Agile
Once the Agile training or immersion class is done, the team is ready to begin. Start the project as soon as possible after training, to keep the training fresh in the teams minds. One core Agile concept is the self directed team. Have the team decide what practices to implement in this project. This means, the kickoff meeting is the place where the Scrum master, or team leader, leads the team to determine the following:
* Breakdown of work (use Features or stories for instance) * Length of iterations (in the case of lean length of releases) * Team Room (recommended) * Testing discipline (use TDD? Recommended) * Preparation for Customer demo/planning meetings * Estimation practices (use planning poker or other) * Release planning * Definition of Done
Daily standup meetings of 15 minutes are not considered optional. In these standups, team members who are doing work (usually developers, analysts and testers), communicate to the team leader and stakeholders. This communication takes place by each team member providing the answers to the following three questions.
* What did you do yesterday? * What are you working on today? * Are there any roadblocks?
If you have a large team (more than 10 developers, analysts etc.), then consider having only blocked team members communicate. If this restriction is not put into the standup, then this daily meeting can take a lot of time that may not be necessary.
Breakdown of Work
The breakdown of work is critical to many of the other issues mentioned. Estimation planning is dependent on what size of work the team is using. Customer planning expectations depend on what size of work items are selected as well.
Features may make more sense to customers. If your marketing person wants to let external customers know what will be included in the next release, features can be useful.
The definition of features from Feature Driven Development is as follows: “Features are granular functions expressed in client-valued terms using this naming template:
General Motors (GM) recently announced its entry into the Eclipse Foundation. The Eclipse Foundation is a prominent open-source software foundation. In addition, GMC announced its contribution of “uProtocol” to facilitate
What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular
The earliest cell phones included boxy designs full of buttons and antennas, and they only made calls. Needless to say, we’ve come a long way from those classic brick phones
When it comes to programming, a good mechanical keyboard can make all the difference. Naturally, you would want one of the best mechanical keyboards for programmers. But with so many
In the age of digital transformation, the internet has become a ubiquitous part of our lives. From socializing, shopping, and learning to more sensitive activities such as banking and healthcare,
The world of software development is changing drastically with the introduction of Artificial Intelligence and Machine Learning technologies. In the past, software developers were in charge of the entire development
Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved
Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across
Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several
Creating a website is not easy, but protecting your website is equally important. Implementing copyright laws ensures that the substance of your website remains secure and sheltered. Copyrighting your website
One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of
Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes