Categories
Agile Leadership

CodeCraft Leadership: Hacking the DNA of Agile Teams 1/3

I had the opportunity to talk at the DevDays conference on the topic of CodeCraft Leadership: Hacking the DNA of Agile Teams.

I split the interactive workshop into 3 parts

  • Company DNA
  • Team DNA
  • Your DNA

“Those who cannot remember the past are condemned to repeat it” – George Santayana

It was fun to listen to success stories in a company’s history. We then dived deeper into each success and asked what made it successful. This question helps us understand what the company is good at. These success stories need to be remembered and documented as best practices. These are the reasons why clients keep coming back. This knowledge needs to be in the DNA of existing and new employees.

It was equally interesting to listen to the failures in a company’s history. This helped us understand that documenting the lessons learnt from these failures were crucial. If existing and new employees know about past failures and why they happened, they can find ways to avoid the same mistakes and learn from them.

Links:

DevDays, DevOps Pro & CyberWiseCon Europe 2024 (pinetool.ai)

Categories
Agile Leadership

Agile parallels

I had done a course with Chris recently on Sales and I was interested on his take on Project Management and I was not disappointed. Chris has a clear way of explaining things and providing great examples to cement the knowledge.

I wanted to see how Agile methodologies map to the Twelve Steps to Managing a Project Successfully.

Twelve Steps to Managing a Project Successfully

  1. Define the project.
  2. List the tasks.
  3. Plan the running order.
  4. Add contingency.
  5. Consider crashing.
  6. Make a Gantt chart.
  7. Calculate resource requirements.
  8. Assess risks and prepare action plans
  9. Monitor progress using the Gantt chart.
  10. Monitor costs.
  11. Readjust your plan.
  12. Review.

Here is my take of each of the steps with an Agile twist:

ItemClassical Project ManagementCustomAgile
Define the projectClear scope and objectives set at the beginning, with detailed planning upfront.Clear scope and objectives set at the beginning of each sprint, allowing for some flexibility in implementation.Flexibility to adapt to changing requirements throughout the project, allowing for continuous improvement.
List the tasksTasks are clearly defined and prioritized in a detailed project plan.Tasks are clearly defined and prioritized, with some flexibility for adjustments based on evolving needs.Agile teams can quickly respond to changing priorities and customer needs, enhancing responsiveness and customer satisfaction.
Plan the running orderStrict adherence to predetermined project schedule and sequence of tasks.Adaptable planning to accommodate changing priorities or unforeseen circumstances.Agile planning allows for iterative and incremental delivery, enabling faster time-to-market and early feedback.
Add contingencyContingencies are included in the initial project plan but may be inflexible.Built-in flexibility to accommodate unforeseen challenges or changes in project scope.Agile teams can adapt quickly to unforeseen challenges, leveraging iterative planning and incremental delivery to manage risks effectively.
Consider crashingOvertime or resource reallocation may be used to meet deadlines, but with limitations.Flexibility to adjust resources or timelines within certain constraints to meet project deadlines.Agile methodologies provide various options for managing tight deadlines or resource constraints, such as reprioritizing backlog items or adjusting sprint scope.
Make a Gantt chartGantt charts are commonly used to visualize project schedules and dependencies.Gantt charts or similar tools may be used, but with flexibility to adapt as needed.Provides a visual representation of tasks and dependencies, aiding in communication and planning.
Calculate resource requirementsResource requirements are calculated based on detailed project plans and estimates.Resource requirements are assessed and adjusted as needed throughout the project lifecycle.Supports effective resource management and allocation, facilitating efficient project execution.
Assess risks and prepare action plansRisks are identified and addressed through proactive risk management processes.Risks are continuously assessed, with proactive mitigation strategies in place.Encourages continuous risk assessment and mitigation, improving project resilience and adaptability.
Monitor progress using the Gantt chartProgress is tracked using the Gantt chart, with deviations addressed through formal change control processes.Progress is tracked using the Gantt chart or similar tools, with flexibility to adjust plans based on real-time feedback.Provides visibility into project progress and helps identify potential bottlenecks or delays.
Monitor costsCosts are monitored closely against the budget, with any deviations addressed through formal change requests.Costs are monitored throughout the project, with adjustments made as necessary to stay within budget constraints.Enables effective cost management and budget tracking, ensuring project stays within budget constraints.
Readjust your planChanges to the project plan are managed through formal change control processes.Plans are adjusted as needed based on evolving requirements or feedback, with appropriate documentation and communication.Supports adaptive planning and decision-making, enabling teams to respond quickly to changing circumstances.
ReviewFormal reviews are conducted at key project milestones to assess progress and identify areas for improvement.Regular reviews are conducted to evaluate progress, identify lessons learned, and make continuous improvements.Promotes continuous learning and improvement, enhancing team performance and project outcomes.

It think the interesting journey in each of these steps is to figure out the “Custom” for the client and deliver what is right for them.

Links:

https://www.linkedin.com/learning/project-management-simplified-2019