The Phoenix Project
A novel about IT, DevOps and Helping your Business Win
A novel about IT, DevOps and Helping your Business Win
The traditional design methods, which assume that developers fully understand the user’s requirements and that the user knows what they want before seeing the product, are often flawed in the real world. Complex systems, such as software products and their users, constantly evolve and adapt to users’ changing needs and preferences. As users interact with a software product, … Read more
A measure of good design is how dependent higher structures are on lower ones, and this is closely related to the principle of separation of concerns and cohesion. Cohesion is a measure of how closely the elements of a module or component work together to achieve a single, well-defined purpose. When a system is well-designed, the higher structures … Read more
Distributed large teams can face several challenges when producing Agile architecture. One of the main challenges is communication and coordination. Team members may be located in different locations and time zones and have different cultural backgrounds. These factors make having regular meetings, sharing information, and collaborating on design decisions difficult. Additionally, distributed teams may have difficulty building trust and developing a … Read more
A hierarchical system facilitates evolution and constant regeneration by allowing for modularity and flexibility in its design. The system is divided into several layers, each building upon the one below it. This structure allows individual components within each layer to be modified or replaced without affecting the overall system’s functionality. In software design, this concept … Read more
Agile design, evolution in living organisms, and antifragility share similarities in how they approach problem-solving and adapting to change. Evolution is a process by which organisms adapt to changing environments through: The ability of an organism to adapt and evolve is critical to its survival and success. Similarly, Agile design is based on the principle of … Read more
Agile design methodologies, specifically Scrum and Kanban, have effectively addressed unarticulated business needs through: Unarticulated business or customer needs refer to requirements or user stories that stakeholders or end-users have not explicitly identified or communicated. These latent requirements may not be immediately discernible during the software development life cycle (SDLC) requirements gathering phase. They may surface during the validation phase through usability testing or customer feedback sessions. Addressing … Read more
Agile design is particularly well-suited for projects with the following characteristics: The Agile design approach has tremendous benefits when dealing with moving targets, as it allows software and solution architectures to adapt quickly, at acceptable costs, and without compromising the integrity of the whole design. Complex and rapidly changing requirements Agile design is well-suited for … Read more
Practical Fibonacci is a lightweight, confidence-based approach to job sizing. By using Fibonacci numbers to estimate effort, teams can express not just how long something might take — but how much clarity, confidence, and complexity is involved. This method encourages meaningful conversation about risk, unknowns, and deliverability, helping teams avoid underestimating large or unclear work, … Read more
Product delivery involves ensuring that a product or service is developed in a timely and cost-effective way, meeting the user needs. Skill level Description Awareness You can:manage your contribution to tasks to fit in with the work of your wider team Working You can:show an awareness of the differences between delivery methods, such as Agile … Read more