Welcome!

Microsoft Cloud Authors: Pat Romanski, Liz McMillan, Lori MacVittie, Elizabeth White, Yeshim Deniz

Related Topics: Microsoft Cloud, Microservices Expo

Microsoft Cloud: Article

Software Development Processes Out of Balance

This unbalance can cause bottlenecks in the decision making process

I find a lot of software development environments out of balance. It only takes one area of the environment to be out of its element to throw off the entire software development environment.

Business Owners, Project Managers, Software Architects, Developers, Testers, and End Users all need to work together, but a common mistake made is that a lot of processes promote working together too much or not enough.

This unbalance can cause bottlenecks in the decision making process. There is a right time to come together to review progress on artifacts. To early in its development process can derail its progress by introducing unnecessary threads of thought on the subject. To late in the process can cause rework to have to take place that could have been avoided with earlier feedback.

Another dynamic that can have a terrible effect on the project is clearly defined roles that include who has the decision making power in a given situation. No one party should have the final say in all areas, but the party responsible for that area should always have the final say. In other words, beyond the cost of technical decisions, business owners and users should not have any authority when it comes to the final decisions on technology, the technical part of the team such as architects and developers make those decisions. Just as the business owners and users have the final say on business processes.

I have seen horrible results when business owners are allowed to make technical decisions. This usually happens because there is no qualified architect on the project to make proper technical decisions, and then defend the decisions when push comes to shove. In the absence of a qualified architect, I have seen way to many "technical" project managers try to make the technical decisions. More often than not, they are usually just "yes" men and women, because they do not really have the technical expertise to make the right decision.

The same out of balance issues can be found at a team level in an enterprise. An Enterprise Architecture team can very easily create complete chaos for an application development team, or have absolutely zero impact in an IT environment.

There is a lot of talk in the agility space about treating the team as if they have a collective ownership. This is often implemented as "everyone on the team does a little of everything, we are interchangeable".

As nice as that sounds, on decent size projects, it simply does not work. The context is off. The team succeeds and fails together, as one, but they are not clones.

If you apply the same line of thought to a football team olds are you won't be very effective if you try to make the team rotate in and out of all available positions. From center, to quarterback, to punter, to safety, to running back. The same is true on software teams. Developers skill sets must be taken into consideration when the process instance is being created.

Not only developers but every one on the team must be assigned a role, role responsibilities, and role authority. Architects do not tell business owners how to do there business, and business owners don't make technical decisions. Part of the technical decisions made by the architects are what will be delivered and when.

Business owners of course give input as far as their needs are concerned, but they do not decide how it is delivered (technically, not functionally) or when. They can give deadlines, but that just means the scope of what can be delivered will be changed to be able to meet the deadline. Project managers are like the referees, they make sure everyone is playing by the rules. I wish there were more project managers that understood that.

The overall message here is that for a process to be effective, the people in the process must be matched up with the right role, role responsibilities, and role authority depending on their qualifications. Boundaries are necessary to keep everyone in the role assigned. Not walls, boundaries. One of the most valuable lessons I have learned is to proof of concept my development team (more on that here). That way I can make adjustments to assignments and timelines after I have a clear understanding of their capabilities.

The only way to get a process back on track is to get someone involved that is qualified enough to shine some light on the issues, make suggestions on how to adjust the process, and to lead the clean up the messes. The entire team must be willing to be humble enough to accept the mistakes they have made. In other words, be ready to accept the truth that your baby really is ugly. Without that level of acceptance the only other option is to replace the team. That means anyone from the business owners to the developers (Project Managers, CIOs, Architects, Testers, etc.) who refuse to play ball. It often also includes a sit down with the customers to explain the new direction. Believe me when I say they won't be mad, they will be relieved to know their current pain is about to be reduced.

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

IoT & Smart Cities Stories
As IoT continues to increase momentum, so does the associated risk. Secure Device Lifecycle Management (DLM) is ranked as one of the most important technology areas of IoT. Driving this trend is the realization that secure support for IoT devices provides companies the ability to deliver high-quality, reliable, secure offerings faster, create new revenue streams, and reduce support costs, all while building a competitive advantage in their markets. In this session, we will use customer use cases...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
DXWorldEXPO LLC, the producer of the world's most influential technology conferences and trade shows has announced the 22nd International CloudEXPO | DXWorldEXPO "Early Bird Registration" is now open. Register for Full Conference "Gold Pass" ▸ Here (Expo Hall ▸ Here)
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...