Truly, One Size Does Not Fit All

Software development is not really a single discipline. What comes under the overall field is a combination of disciplines that address a range of problems: Maintaining and evolving fielded code Adding significant new features to an existing application or platform Building an entirely new application or platform These differ in the amount of innovation required and the amount of information available for delivering a quality system. Teams working on type 1 problems generally are not required to invent anything and they have detailed information on the code change required and available technology. Teams addressing type 2 efforts may need to be innovative in building out and integrating the capability. Also, they usually have incomplete information …

Read more

 
The Importance of Cross-Training

Cross-training reduces reliance on individual experts and extends a firm’s capabilities without hiring externally. A single specialist can become a bottleneck in a business process simply because he or she is the only person with a necessary skill. This is evident in areas such as software development where the idea of multi-skilling has become a component of Agile development. The problem that cross-training solves is the natural creation of islands of expertise and its consequences. While some people certainly need to be experts, cross-training problems occur at a lower level. Overall, it is important to recognize that isolated skills and resultant bottlenecks develop as a process over time. Consider an individual familiar with a particular …

Read more

 
Value Is Elusive, Even To Agilists

Agile practitioners are often proud — and justifiably so — that when people are seriously adhering to the principles and practices, they keep the focus on value. They usually do a better job on average, I would argue from both first-hand experience and a fair amount of research, than the adherents of Waterfall methods. That’s not the same as saying that there’s not room for improvement. Value is a slippery concept. What’s valuable to you isn’t necessarily valuable to me. That statement extends to user stories, in which the “so that…” clause differs, depending on the persona identified in the “As a…” section that precedes it. We’re supposed to write stories that have some value …

Read more

 
Why Embrace a Process- and Content-Driven Approach to EA?

A curious thing happens when an EA team adopts a particular framework — it takes on the preconceptions of that framework. This broadly means that companies adopting TOGAF assume a process-driven approach to EA, while those using the Zachman Framework embrace a more content-driven style. Does this matter? From my observations of EA teams that I work with, this does matter because it has a significant impact on how you architect! More than that, it is my belief that this preconception toward a process- or content-driven tactic imposes a one-sided approach, resulting in less-effective EA outcomes. When EA follows a process it often becomes reactive, prescriptive, and inflexible — rather than proactive, supportive, and adaptable. …

Read more

 
avatar

Lean, like Agile, is an increasingly nebulous term. At its core, Lean centers on paying attention and continuously improving our processes and our products. Tools like Kanban, Personal Kanban, A3s, Validation Canvases and the like are spreading Lean thinking — but the focus is more and more on tools, not on continuous improvement. The more we learn about how software is created and the modern product lifecycle, the less certain the processes are becoming. Change happens quickly, and business needs to respond quickly. We want to increase predictability, but the best we can hope for is to simply understand what is predictable and build systems to suit. Since we are dealing with evolving products in …

Read more

 
Retrospective Meetings: What Goes Wrong?

[Editor’s note: Don’t miss Diana’s keynote The Heroic Learner: Courage, Compassion, and Confidence for the 21st Century at the Cutter Summit, May 4-6 in Cambridge, MA.] Too many retrospective meetings receive cursory planning or inadequate facilitation and are thus unable to reap the potential benefits. Too many retrospective meetings are held to “check the box” on the process meetings template, rather than to focus on real improvements. Too many teams never implement or revisit the action plans coming out of retrospectives. Disguised as retrospective action planning, too many teams seek to shift blame and responsibility for action to others. In too many organizations, retrospective meetings don’t deliver the promised return on time invested (ROTI). It’s …

Read more

 
Trust Requires Accountability

The whole notion of an enterprise chief information officer (CIO) or chief technology officer (CTO) is obsolete. As technology itself decentralizes — regardless of formal organizational structures — there will be multiple technology experts/specialists/leaders. There are already “go-to” technology experts, leaders, and, yes, even “chiefs” in every business unit, every business pod, and surrounding every business process. They are seldom part of the central IT organization, and if they are, their loyalties are aligned more with the business units than with their “boss,” the enterprise CIO. In fact, time and time again I’ve seen “assigned” technologists commiserate much more with their business units than with the IT organizations to which they belong or with their …

Read more

 
The Evolving Science of Computational Creativity

Innovation has become accepted as central to competitiveness in today’s world, both in new product development and in enhancement of internal processes. Companies struggle with innovation, and there have been numerous attempts to regularize and program it. But the development of truly breakthrough ideas is difficult, and recognizing them when they do arrive can be harder still. We have processes available for vetting ideas and passing them through a series of increasingly selective gateways until they reach the point of usefulness or are discarded altogether. But we do not have good processes for stitching together new ideas and reaching that eureka moment that says a critical new idea has been found. Some of the ways …

Read more

 
avatar

IT infrastructures are growing in size, capability and complexity as organizations take advantage of cloud computing, big data analytics, the Internet of Things, mobile computing and social media, to deploy complex, integrated, and collaborative applications. As a result, the need to run several applications under varying workloads to meet different functional, nonfunctional, and performance requirements is increasing. Managing these new complex infrastructures via traditional means is challenging and inefficient. Hence, many organizations are looking for new directions and approaches to more efficiently manage their infrastructures to meet their customers’ growing demands, ensure adaptability to changing business requirements, reduce duplication of efforts, and remain competitive. One approach organizations are adopting is software defined infrastructure (SDI) or …

Read more

 
avatar

When you read technology news, security (or lack thereof) dominates many of the headlines. When you scan the titles of talks at Agile conferences, or you skim blog posts about Agile, you don’t see as much discussion about security. Agilists aren’t indifferent to security, but there are few clear guidelines for how to incorporate security into Agile practices. Fortunately, the ways to address security within Agile practices are not too hard, but as with anything related to security, the earlier you deal with it, the better. Security often fits into the work of an Agile team in the following ways: Tasks needed to implement a story. Security often appears within implementation tasks (“When I write …

Read more