Leading IT Transformation – Workshop 19 (Agile Practices)
The Appleton Greene Corporate Training Program (CTP) for Leading IT Transformation is provided by Ms. Drabenstadt MBA BBA Certified Learning Provider (CLP). Program Specifications: Monthly cost USD$2,500.00; Monthly Workshops 6 hours; Monthly Support 4 hours; Program Duration 24 months; Program orders subject to ongoing availability.
If you would like to view the Client Information Hub (CIH) for this program, please Click Here
Learning Provider Profile
Ms. Drabenstadt is a Certified Learning Provider (CLP) at Appleton Greene and she has experience in Information Technology, Information Governance, Compliance and Audit. She has achieved an MBA, and BBA. She has industry experience within the following sectors: Technology; Insurance and Financial Services. She has had commercial experience within the following countries: United States of America, Canada, Australia, India, Trinidad, and Jamaica. Her program will initially be available in the following cities: Madison WI; Minneapolis MN; Chicago IL; Atlanta GA and Denver CO. Her personal achievements include: Developed Trusted IT-Business Relationship; Delivered Increased Business Value/Time; Decreased IT Costs; Re-tooled IT Staff; Increased IT Employee Morale. Her service skills incorporate: IT transformation leadership; process improvement; change management; program management and information governance.
MOST Analysis
Mission Statement
An agile methodology refers to practices that focus on continuous improvement, flexibility, increased productivity, and efficiency to accelerate the progress of a project or the organization as a whole. Adopting an agile methodology can help accelerate the digital transformation process by enabling significant improvements in the process and introducing innovative ways of achieving the desired results. Organizations that adopt agile practices are better at prioritizing their tasks, aligning their IT goals with their business goals, and improving measurability. All of these contribute to the success of an IT transformation program. Agile practices are also known to improve employee morale and reduce the risks in a project. Agile methodology recognizes that technology is not the only priority in IT transformation. Rather business value comes first. It is important to start the transformation process knowing why and how it will help add value to the business. The agile approach accepts and encourages change. It gives the process enough flexibility to test and switch if the business’ goals or priorities change at any point. Agile practices require continuous learning, collaborations, and improvements through small, incremental steps. It divided work into smaller, more productive sprints to ensure that every little goal achieved takes the team closer to the bigger goal. Agile practices also encourage better communication and transparency through daily updates and an efficient reporting system that makes it easy to track the progress. All these factors help in improving the quality of work and reducing the chances of failure, thus reducing the overall cost of the program.
Objectives
01. Agile Challenges: departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
02. Extreme Programming (XP): departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
03. Kanban: departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
04. Scrum: departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
05. Disciplined Agile Delivery (DAD): departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
06. Lean Development: departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
07. Scaled Agile Framework (SAFe): departmental SWOT analysis; strategy research & development. 1 Month
08. Feature-Driven Development (FDD): departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
09. Crystal: departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
10. Dynamic Systems Development Method (DSDM): departmental SWOT analysis; strategy research & development. Time Allocated: 1 Month
Strategies
01. Agile Challenges: Each individual department head to undertake departmental SWOT analysis; strategy research & development.
02. Extreme Programming (XP): Each individual department head to undertake departmental SWOT analysis; strategy research & development.
03. Kanban: Each individual department head to undertake departmental SWOT analysis; strategy research & development.
04. Scrum: Each individual department head to undertake departmental SWOT analysis; strategy research & development.
05. Disciplined Agile Delivery (DAD): Each individual department head to undertake departmental SWOT analysis; strategy research & development.
06. Lean Development: Each individual department head to undertake departmental SWOT analysis; strategy research & development.
07. Scaled Agile Framework (SAFe): Each individual department head to undertake departmental SWOT analysis; strategy research & development.
08. Feature-Driven Development (FDD): Each individual department head to undertake departmental SWOT analysis; strategy research & development.
09. Crystal: Each individual department head to undertake departmental SWOT analysis; strategy research & development.
10. Dynamic Systems Development Method (DSDM): Each individual department head to undertake departmental SWOT analysis; strategy research & development.
Tasks
01. Create a task on your calendar, to be completed within the next month, to analyze Agile Challenges.
02. Create a task on your calendar, to be completed within the next month, to analyze Extreme Programming (XP).
03. Create a task on your calendar, to be completed within the next month, to analyze Kanban.
04. Create a task on your calendar, to be completed within the next month, to analyze Scrum.
05. Create a task on your calendar, to be completed within the next month, to analyze Disciplined Agile Delivery (DAD).
06. Create a task on your calendar, to be completed within the next month, to analyze Lean Development.
07. Create a task on your calendar, to be completed within the next month, to analyze Scaled Agile Framework (SAFe).
08. Create a task on your calendar, to be completed within the next month, to analyze Feature-Driven Development (FDD).
09. Create a task on your calendar, to be completed within the next month, to analyze Crystal.
10. Create a task on your calendar, to be completed within the next month, to analyze Dynamic Systems Development Method (DSDM).
Introduction
What is Agile?
Agile is the capacity to innovate and adapt to change. It is a strategy for navigating a complex and chaotic environment and ultimately prospering in it.
The name “Agile” was chosen by the writers of the Agile Manifesto to describe the entire concept because it embodied the adaptability and capacity for change that were crucial to their methodology.
It basically comes down to considering how you can comprehend what is happening in the environment you are in right now, recognize the uncertainty you are experiencing, and determine how to react to it as you go.
Agile software development: what is it?
Scrum, Extreme Programming, and Feature-Driven Development are just a few examples of frameworks used in agile software development (FDD).
Agile software development encompasses more than just techniques like test-driven development, stand-up meetings, pair programming, and sprints.
The phrase “agile software development” refers to a variety of frameworks and procedures built on the values and tenets outlined in the Manifesto for Agile Software Development and its supporting Twelve Principles:
It’s generally a good idea to live by these values and principles when approaching software development in a particular way and to use them to guide you in determining the best course of action for your specific situation.
Agile differs from traditional methods of software development in part because it places special emphasis on the people executing the job and their interactions with one another. Collaboration between self-organizing cross-functional teams using best practices for their context leads to solutions.
The Agile software development community places a lot of emphasis on self-organizing teams and cooperation.
That does not imply that managers do not exist. It implies that groups might come up with their own strategies for handling problems.
It denotes the cross-functional nature of those teams. Teams don’t necessarily need to have defined roles; rather, while assembling a team, it’s important to check that everyone has the necessary skill sets.
A position is still available for managers. Managers ensure that team members have the appropriate skill sets or acquire them. Managers create the conditions necessary for the team to succeed. Most of the time, managers take a backseat and allow their team figure out how to provide products, but they intervene when the teams make an effort but are unable to solve problems.
When most teams and companies begin using Agile development, they prioritize the methods that promote teamwork and task organization, which is fantastic. Another important set of technical practices, on the other hand, that specifically deal with designing software in a way that helps your team manage with uncertainty, are less usually used but should be. You shouldn’t disregard those technical procedures because they are crucial.
A Short History of Agile
Here is a look at how Agile came to be, how it got the name Agile, and what happened after that. To understand where things stand today, it’s critical to consider the origins of Agile software development.
Agile is a Mindset
The values and concepts of the Agile Manifesto serve as the foundation for the agile mindset. These beliefs and principles offer direction on how to bring about change, react to it, and handle ambiguity.
You could claim that the Agile Manifesto’s opening line, “We are revealing better ways of producing software by doing it and helping others do it,” sums up the entire concept.
Try anything you believe might work when faced with uncertainty, seek feedback, and make adjustments as needed.
When doing this, keep the values and principles in mind. When choosing frameworks, strategies, and techniques to engage with your team and provide value to your clients, let your context be your guide.
What are Agile Methodologies?
What does the notion of Agile techniques mean if Agile is a mindset? You might find it useful to have a precise definition of approach before responding to this query.
A methodology, according to Alistair Cockburn, is the set of rules that a team decides to abide by. This implies that each team will have its own methodology, which will be distinct from the methodologies of other teams in either minor or significant ways.
Hence, Agile techniques are the practices that a team choose to adopt in accordance with Agile values and principles.
I thought Scrum and XP were Agile techniques, you’re presumably saying. Alistair referred to those ideas as a framework. They undoubtedly originated from the technique of a particular team, but when they were made universal to be used by other teams, they became frameworks. These frameworks assist teams in deciding where to begin with their methodologies, but they shouldn’t be the methodology itself. The team’s use of a framework will constantly need to be modified so that it is appropriate for the situation.
What about Agile Project Management or Agile Business Analysis?
Those participating in software development activities but who did not personally produce software searched for a means to understand how these Agile concepts applied to their field of work as Agile Software Development gained popularity.
Software engineers (together with a tester) wrote the Agile Manifesto and the 12 Principles to solve problems they encountered. Agile can be used in numerous contexts if you consider it to be a mentality.
When you do that, agile is now a noun. It explains how you go about doing a particular task. Because of the reasons mentioned above, it does not produce a new methodology.
Asking “How might we execute project management in a way that allows us to create and respond to change and cope with uncertainty” will help you better grasp Agile project management. Together, Agile Alliance and Project Management Institute (PMI) researched this issue to produce the Agile Practice Guide (Available to Agile Alliance Members).
Asking “How might we undertake business analysis in a way that allows us to create and respond to change and cope with uncertainty” will help you better grasp Agile business analysis. In order to develop the Agile Extension to the Business Analysis Body of Knowledge, Agile Alliance and the International Institute of Business Analysis (IIBA) jointly investigated this question (Available to Agile Alliance Members).
What is Business Agility?
The two ideas mentioned above are two instances of an effort to take Agile “outside of software.” The contemporary Business Agility movement is the product of those efforts.
Those who desire Business Agility ask themselves, “How might we build and manage our business in a way that allows us to create and respond to change and deal with uncertainty,” if you take the concept of Agile as a mindset further.
Business agility might be defined as the understanding that for individuals inside an organization to operate with an Agile attitude, the entire organization must support that mindset. Before the business altered its structure and operations to function in an uncertain environment, agile software development was never truly agile.
Key Agile Concepts
Below are a few key Agile concepts.
User Stories: The team breaks the work into functional units known as “user stories,” in conjunction with the client or product owner. Each user narrative is anticipated to add something valuable to the final product.
Daily Meeting: The team meets every day at the same time to update everyone on information that is essential for coordination: each team member briefly explains any “finished” contributions and any challenges they have encountered.
Personas: The team creates in-depth, fictitious biographies of hypothetical users of the future product when the project requires it, such as when user experience is a key determinant in project outcomes.
Team: A “team” in terms of agile is a small group of individuals allocated to the same project or effort, almost all of whom work full-time. A small percentage of team members might work part-time or have additional obligations.
Incremental Development: The majority of Agile teams prefer to utilize an incremental development strategy, which in an Agile setting means that each iteration of the product improves on the one before it by including user-visible functionality.
Iterative Development: Agile projects are iterative insofar as they intentionally allow for “repeating” software development activities, and for potentially “revisiting” the same work products.
Milestone Retrospective: Once a project has been running for a while or at its conclusion, the entire permanent team (not just the developers) devotes one to three days to a thorough examination of the key moments that have occurred.
What Kinds of Agile Methodologies Are There?
As was previously mentioned, the term “agile” refers to techniques and best practices for planning projects in accordance with the ideals and guidelines outlined in the Agile Manifesto. Agile can be implemented in a variety of ways, and there are numerous approaches to select from. Some of the most popular Agile frameworks are listed here.
Kanban
Teams can see the progress made thus far and what’s coming up next thanks to the straightforward, visual project management method known as kanban. The primary management tool for Kanban projects is a Kanban board, which divides tasks into three columns: “To Do,” “Doing,” and “Done.”
Scrum
In many aspects, Scrum and Kanban are similar. Similar to a Kanban board, a Scrum board is how Scrum commonly organizes tasks into columns based on progress. Scrum concentrates on segmenting projects into sprints and only planning and controlling one sprint at a time, in contrast to Kanban. Scrum master and product owner are two further distinctive project responsibilities.
Extreme Programming (XP)
In order to facilitate agile software development initiatives, Extreme Programming (XP) was created. Similar to the Scrum process, it emphasizes continuous development and customer delivery and employs intervals or sprints. Yet XP additionally includes 12 auxiliary procedures unique to the field of software development:
• Planning game
• Small releases
• Customer acceptance tests
• Simple design
• Pair programming
• Test-driven development
• Refactoring
• Continuous integration
• Collective code ownership
• Coding standards
• Metaphor
• Sustainable pace
Feature-driven development (FDD)
Another Agile framework that is specialized to software is feature-driven development. According to this methodology, software models must be produced every two weeks, and every aspect of the models must have a development and design strategy. It is better suited for teams with extensive design and planning skills because it has more stringent documentation requirements than XP. FDD divides projects into five fundamental activities:
• Develop an overall model
• Build a feature list
• Plan by feature
• Design by feature
• Build by feature
Dynamic Systems Development Method (DSDM)
The demand for a standard industry framework for quick software delivery gave rise to the Dynamic Systems Development Method (DSDM). Rework is expected, and any changes to the development process that take place must be reversible. Scrum, XP, and FDD all use sprints, and so does DSDM. This framework is built on the following eight guiding ideas:
• Focus on the business need
• Deliver on time
• Collaborate
• Never compromise quality
• Build incrementally from firm foundations
• Develop iteratively
• Communicate continuously and clearly
• Demonstrate control
Crystal
Agile techniques belonging to the Crystal family include Crystal Clear, Crystal Yellow, Crystal Orange, Crystal Red, etc. Each has a distinct structure. Your decision is influenced by a number of project parameters, including the size of your team, your priorities, and the importance of the project.
Lean Development
Lean development is often grouped with Agile, but it’s an entirely different methodology that happens to share many of the same values. The main principles of the Lean methodology include:
• Eliminating waste
• Build quality in
• Create knowledge
• Defer commitment
• Deliver fast
• Respect people
• Optimize the whole