There are two person post i have to reply them based on their opinion about the topic. minimum 400-450 words required.
Person 1 post: Khatri: Discusson 10
Earning the Seat (Planning, Requirements, Transformation)
To be Agile, an organization can not implement a rigid plan because plans are often unreal and not as accurate as execution. Chapter 4 of the book “A Seat at the Table” discusses that plan-driven approaches have not worked well for many organizations in the past, and it should be rejected as it espouses all the wrong values (Schwartz, 2017). But that does not mean that teams should not plan at all. However, there are a few things that teams need to keep in mind while planning. The time taken to create a plan can be utilized to get a simple product or increment in front of the customer (Schwartz, 2017). Also, teams need to understand that they cannot know that a planned initiative will have the business outcomes it intends (Schwartz, 2017). Therefore, teams can utilize the Agile approach’s predictability, control, and efficiency to deliver better business value to customers (Schwartz, 2017). The overall idea of making a plan and strictly sticking to it is a terrible idea in today’s corporate environment. A plan should be created to establish learning objectives, to give the team oversight, and a shared basis for communicating as the project progresses (Schwartz, 2017).
In chapter 5, the author has discussed that requirements are a way of controlling the developing team by constraining their creativity. Over the years, teams have become so used to the requirements that they do not see an implication that butchers creativity and promotes inefficiency (Schwartz, 2017). Specifying requirements create constraints and limit the teams from taking advantage of the experience and the team’s knowledge (Schwartz, 2017). In today’s turbulent market, teams no more know exactly what set of requirements will best satisfy the company’s business needs than a startup knows what product will be best for customers (Schwartz, 2017). Therefore, organizations should let the development teams take charge of the business instead of requirements while delivering business outcomes and finding the capabilities that deliver the best outcomes for the organization. There is a need to replace the requirement with the desired outcome (Schwartz, 2017).
Chapter 6 of “A Seat at the Table” discusses that transformation and modernization projects must be avoided by the IT leaders and continuously transform and modernize the company’s IT systems. A transformational project means that there has been a mistake, and it occurs when the amount of debt has become too much to bear (Schwartz, 2017). Whether the projects are to transform business capabilities or their technological requirements, they result from poor stewardship of IT assets and old ways of thinking about IT governance and execution (Schwartz, 2017). Therefore, teams can take a small piece of the legacy system and rebuild it in a way that lets it interoperate with the rest of the legacy system (Schwartz, 2017). The team can launch that piece into production and use it seamlessly as part of the legacy system. The team can take another piece of the legacy system and do the same thing (Schwartz, 2017). They can continue to transform the legacy system until there is nothing left of the legacy system, and the team successfully replaces and modernize the legacy system without ever implementing the transformation and modernization projects which are costly (Schwartz, 2017). This ability to change business and IT capabilities with the changes happening in the world is called Agility, and to be genuinely Agile means to be transforming continuously (Schwartz, 2017).
As discussed above, the purpose and the role of planning in Agile projects should be to deliver value to the customers by establishing learning objectives, giving the team oversight, and a shared basis for communicating as the project progresses (Schwartz, 2017). Often planning is different from execution and does not resemble similarities. Therefore planning should be done to deliver value by adapting to the changing nature of the business. Plans should be created to review and revise the project plan and accommodate the changes that may arise during the project’s lifecycle. Also, the team’s velocity should be taken into consideration to deliver a quality product on expected dates, and also, those products should be able to sustain the market.
According to Wolpers, technical debt is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer (2019). It can be caused due to poorly qualified developers who choose short-term solutions over long-term ones because they do not know alternatives (Smith, 2017). It could result from competition and market pressure because the team wants to outrun the competition, surprise users, and bring new technologies into the market (Smith, 2017). The budget and the time pressure can also cause it since the client often wants everything right away (Smith, 2017). Agile teams can implement the following solutions to manage the technical debt:
- Teams need to see the technical debt very clearly. Teams need to visualize existing technical debt prominently so that everyone is constantly reminded of the nature of your code-base (Wolpers, 2019). Also, they should address the technical debt at the Sprint Review events regularly so that the stakeholders are aware of the state of the application (Wolpers, 2019).
- Teams should use code metrics to track technical debt, for example, cyclomatic complexity, code coverage, SQALE-rating, rule violations. Or they should at least count the number of bugs (Wolpers, 2019).
- Teams should pay down technical debt regularly every single sprint. They should consider allocating 15 to 20 percent of the Development Team’s capacity each sprint to handle refactoring and bug fixing (Wolpers, 2019).
- Teams should make sure that all tasks related to deal with technical debt are part of the Product Backlog (Wolpers, 2019).
- Teams should create and adapt their definition of “Done” to meet their understanding of product quality, for example, by defining code quality requirements that contribute to keeping technical debt at a manageable level in the long run (Wolpers, 2019).
- Teams should create a standard procedure for handling experiments that temporarily introduce technical debt to speed up the learning in a critical field (Wolpers, 2019).
- Schwartz, M. (2017). A seat at the Table: IT Leadership in the Age of Agility. IT Revolution Press.
- Smith, A. (2017, October 13). How to Reduce Tech Debt: A Practical Guide – DZone Agile. Retrieved July 22, 2021, from https://dzone.com/articles/how-to-reduce-tech-debt…
- Wolpers, S. (2019, June 17). Technical Debt & Scrum: Who Is Responsible? Retrieved July 22, 2021, from https://www.scrum.org/resources/blog/technical-deb…
Person 2 post: Samir Discussion 9
Effective coordination and informed decision making in the Agile projects
Achieving success in Agile projects is about teamwork, constant communication, and coordination. Agile projects are driven by the Agile mindset, which is highly influenced by the Agile manifesto and its principles that value interactions, individuals, and collaboration. In today’s corporate world, organizations have many tools and techniques that help organizations maintain a high level of collaboration and coordination in the teams. Since it is crucial to respond to changes quickly and create changes for improvements, team members need to have a proper means of communication to coordinate and collaborate to find solutions that can respond to changes occurring in and out of organizations. Also, Agile helps teams and organizations respond to the changes late in the project. The adoption of Agile enables organizations and teams to expedite the delivery of the product, have better project visibility, improve team productivity, and manage changing requirements. The self-organizing team is the foundation of Agile projects, and it is essential to have proper communication and coordination among team members. Agile teams are also famous for innovative product development throughout the project lifecycle, and there is continuous involvement of the customer to provide feedback to develop better products. Therefore, coordination and informed decision-making through continuous and effective communication among team members are crucial to achieving the project goal.
Agile methods are not limited to the software development industry. In the article “A Coordination Perspective on Agile Software Development,” the authors have evaluated a software development project. The authors have mentioned that there is no targeted theory explaining the coordination in Agile projects, and many organizations in recent years have utilized Agile for different projects (Strode & Huff, 2015). This case focuses on building a theory that highlights that coordination is an essential aspect of any organization or domain. The authors have developed the theory based on evidence from four software development cases. The theory describes that the Agile software development projects are coordinated using a strategy that combines three broad coordination mechanisms that support synchronization, structure, and boundary spanning in the project team (Strode & Huff, 2015). Synchronization in Agile teams can be accomplished by bringing the project members together at regular intervals, producing and using synchronizing artifacts such as story cards and task notes (Strode & Huff, 2015). Structures are achieved through proximity, availability, and sustainability of roles in Agile teams (Strode & Huff, 2015). Boundary spanning is not standard Agile practice but an additional mechanism adopted by the project team when their customers are not closely involved in the project’s lifecycle (Strode & Huff, 2015). There is evidence provided by the authors that present that coordination effectiveness is an outcome of an Agile software development project’s coordination strategy, and the coordination effectiveness consists of explicit and implicit components (Strode & Huff, 2015).
While the explicit coordination is about the right thing in the right place at the right time, the implicit coordination is formed from the project team has shared goals, knowing what is going on and when, knowing what to do and when, knowing who is doing and what, and knowing who knows and what (Strode & Huff, 2015). This theory is essential for Agile practitioners to select Agile practice to improve coordination in the project and measure the effectiveness of the project. The authors have also mentioned that in the non-Agile project, coordination is achieved by one central controller, often called the project manager. The project manager will guide and inform all stakeholders what to do, when to do it, and perhaps how to do it (Strode & Huff, 2015). In contrast, team members in Agile projects are accountable for coordinating with each other and stakeholders (Strode & Huff, 2015).
Organizations must develop strategies to coordinate and communicate more effectively with the larger project teams and their members. Self-organization gives team members the benefit of expressing their ideas and solutions to the problem in a large project. Teams can use various ceremonies like daily stand-up meetings, daily interactions with the project team, retrospectives, reviews, and more to improve their collaboration and coordination (Highsmith, 2011). Daily interaction with the team members and customers is essential to ensure that the development efforts stay on track to meet customer’s needs and expectations. Leaders in the project should manage the stakeholder coordination by correctly identifying each stakeholder and initiating a coordination plan to ensure that they get the support they need from the team (Highsmith, 2011). Coordination is more accessible when the team is smaller. However, larger projects can focus on appropriate strategies to create a more favorable team coordination and communication environment.
- Highsmith, J. A. (2011). Agile project management: Creating innovative products. Upper Saddle River: Addison-Wesley.
- Strode, D. E., & Huff, S. L. (2015). A Coordination Perspective on Agile Software Development. Advances in IT Personnel and Project Management Modern Techniques for Successful IT Project Management, 64-96. doi:10.4018/978-1-4666-7473-8.ch00