Comments
Why Your Software Development Process Is Broken
Threaded  |  Newest First  |  Oldest First
rradina
50%
50%
rradina,
User Rank: Ninja
9/13/2013 | 4:29:02 PM
re: Why Your Software Development Process Is Broken
I disagree that only developers invent features with no ROI. There's plenty on the business side who fire up the waaaambulance because they don't want to prove the viability of a new business model with a small-scale manual procedures before requesting millions of IT software enhancements. Then when the business model doesn't work, IT is left with a new dimension of complexity and tons of dead code. Rinse and repeat and is it any wonder why custom software is riddled with dead code and no-longer-used features that are continually maintained each time they fail an automated test case?

Example: A former employer hired someone from a similar LOB who arrived with thunderous ideas. After getting chummy with the CEO on a business trip that demonstrated the success of these ideas elsewhere, the CEO immediately ordered IT to support these new ideas in several pilot locations. Despite IT's plea for an small-scale manual tests to prove and refine the process with limited IT support, we spent six months feverishly adding features to support what was billed as something that was going to not only attract new customers looking for these new uber-convenient services but it would also more than pay for itself and allow for additional investments in price to beat competitors on loss leaders. (Queue applause sign)

Not only was the pilot a failure but there was the belief that if we give it enough time, it has to eventually work. (Sound familiar Microsoft?) More locations were added which only exacerbated the complete failure it already was. It was finally killed after the new services became the target of con artists who made an already costly mistake even that much more of a dead end.

Without a doubt the complexities added to the organization's software still exist and continue to plague their software maintenance staff.

Granted, sometimes new business models are only a success when combined with technological automation. However, I've seen quite a few crazy ideas that wreck IT portolio plans because some new hot shot upper management type joins the company with big but unproven ideas.
jemison288
50%
50%
jemison288,
User Rank: Moderator
9/13/2013 | 4:49:39 PM
re: Why Your Software Development Process Is Broken
I'm not arguing that developers only develop things without ROI; I'm arguing that developers--left unchecked--will often choose to develop things in a way that often uses unideal technology solutions (either using too many new/different/cool technologies or using same-old, same-old technology without thinking about what is available out there).
rradina
50%
50%
rradina,
User Rank: Ninja
9/13/2013 | 11:50:32 PM
re: Why Your Software Development Process Is Broken
I wholeheartedly agree on that point. IT certainly needs strong leadership to prevent it. However, so too the business needs someone to curtail the relentless amplification of process complexity because it tries to chase every customer "shiny thing" regardless of how distant they wander from the core business.
TerryB
50%
50%
TerryB,
User Rank: Ninja
9/13/2013 | 5:04:24 PM
re: Why Your Software Development Process Is Broken
Seems to me you will still have a problem as old as software itself: Which customer do you listen to? Customer A says "got to have this, essential to use". Customer B says "I don't need that, just makes things more complicated.".
So you take a poll and 56% of customers agree with Customer A and the rest with Customer B. Is it as simple as going with majority? That may not get those customers to contribute any more revenue. But it may irritate the other 44% to look elsewhere, costing you revenue.
Is that world developers, or even benevolent dictators, need to live in? Seems like where Sales & Marketing earns their keep to me. Somehow they have to work together.
jemison288
50%
50%
jemison288,
User Rank: Moderator
9/14/2013 | 4:39:05 PM
re: Why Your Software Development Process Is Broken
It is true that I'm saying doesn't address the disagreeing-customers problem. Although I would argue that having a good benevolent dictator would help resolve those issues by having a clear vision of the product and a clear understanding of whether the feature fits with that vision or doesn't (or how to make it fit with that vision).
D. Henschen
50%
50%
D. Henschen,
User Rank: Author
9/13/2013 | 7:25:54 PM
re: Why Your Software Development Process Is Broken
This seems like an experienced, in-depth diagnosis from somebody who has been there and back. I'm not a developer, but it seems pretty straightforward that more direct interaction between developers and users would be a good thing: fewer intermediaries = more reliable communication.

But would it not be equally effective to have developers AND product managers sit in on the same requirements-gathering interviews with the customers (even if the PMs aren't technical)? Does the benevolent dictator really have time to oversee decisions by all developers and all PMs?
hyih
50%
50%
hyih,
User Rank: Apprentice
9/13/2013 | 11:00:48 PM
re: Why Your Software Development Process Is Broken
anyone remembers Steve Jobs?
jemison288
50%
50%
jemison288,
User Rank: Moderator
9/14/2013 | 4:37:48 PM
re: Why Your Software Development Process Is Broken
Doug -- I think that Marty Cagan mainly agrees with this vision that you're discussing; let's have more people involved all along. My concern that is PMs are not technical enough to really manage a software product properly, and that responsibility is too diffuse--there isn't one throat to choke in the bad PM situation that I describe above.
moarsauce123
50%
50%
moarsauce123,
User Rank: Ninja
9/14/2013 | 2:31:26 PM
re: Why Your Software Development Process Is Broken
You are missing a few key stakeholders and roles in the software development process:
- business analysts: they compensate the lack of tech knowledge of the product manager and write detailed requirements documents to be consumed by anyone involved with development
- QA: they cover both testing and quality advocacy (the "A" in "QA") and should be talked to and talking to product manager and BA before any developers come into the fold
- customer support: who better than support to tell you what is wrong with your software and what is needed? And who better to make a final call if a new version / product can go out as is without generating a lot of follow up cost?

Lastly, make developers at least handle upper level support cases. In most cases developers will never use the software they make in a production setting. Shielding them from the pain points that the customers encounters cannot lead to anything good. Nothing straightens out a developer more than a complaining customer...after all, developers didn't want to hear what QA, BA, and support told them all along. The biggest fault that can be made is leave all decisions to developers, they know how to write marvelous code, the rest not so much.
jemison288
50%
50%
jemison288,
User Rank: Moderator
9/14/2013 | 4:36:17 PM
re: Why Your Software Development Process Is Broken
Very good points. I am railing here against a certain vision of product management, and I do not outline a complete solution that takes into account all stakeholders.
arigney
50%
50%
arigney,
User Rank: Apprentice
9/16/2013 | 12:31:11 PM
re: Why Your Software Development Process Is Broken
In a perfect world you are absolutely correct however really important large software systems are being built by large companies like that have a vested interest in only providing the customer what they say or think what they want rather than evaluating and analyzing and working with them to produce the software that they actually need. Also governments and big clients don't really care who is building their software unless they are big enough to sue. So until agile development standards are accepted or enforced by law we will still see large software projects failing/costing their governments etc a lot more than they should with sub-standard quality and performance.
BrainiacV
50%
50%
BrainiacV,
User Rank: Apprentice
9/16/2013 | 2:37:00 PM
re: Why Your Software Development Process Is Broken
My take on development is that programmers have to interact with end users to the point they become experts, if just for a day, to understand the requirements and then use their knowledge of software systems to transcend the requirements. As Steve Jobs once said, if Henry Ford had asked the customers what they wanted, they would have asked for a faster horse. Many times the requirements that come my way are mired in manual processes. In effect they want to pave the cow path, because it is the only thing they know. Understanding the end result will allow you to take things to the next level that the end user has no concept of. It gets past the incremental requests because the end user didn't know you could do something so they pitch their requests low and you find yourself writing (and rewriting) code that would have been much more efficient if they had asked you for what they wanted in the first place. I tell them to tell me their wildest fantasy, I say we will scale it back to what can be done and in a reasonable amount of time, with an eye towards the future. To use an architectural analogy (I studied to be an architect before being seduced by the dark side of programming), don't tell me you will want a wet bar on the other side of the room AFTER I've laid the concrete floor. Software is plastic, but as systems get built, they start to develop rigidity. I've inherited systems that had to be rewritten because the previous system had developed the rigidity of concrete.
ChrisMurphy
50%
50%
ChrisMurphy,
User Rank: Author
9/16/2013 | 3:17:33 PM
re: Why Your Software Development Process Is Broken
More companies are learning these hard lessons as they do more customer-facing software development. Customer-facing mobile apps, in-vehicle features and touchscreens, B-to-B e-commerce sites -- smartphones and tablets are forcing companies to hone higher-level software development skills than they needed when the "customer" was an employee as compared with now when it's for the end customers who pay the bills.
WKash
50%
50%
WKash,
User Rank: Author
9/17/2013 | 12:46:57 PM
re: Why Your Software Development Process Is Broken
One other reason it makes sense for developers to get closer to their customers, and not just under the direction of a product manager, is the pain large enterprises face in having to too-frequently patch their software. For the US Marine Corps, as noted in our story, "Software Patches Eat Government's Lunch, " http://www.informationweek.com... , the cost of testing and applying patches is a huge tax on IT operations at large enterprises.
ChrisMurphy
50%
50%
ChrisMurphy,
User Rank: Author
9/17/2013 | 12:49:17 PM
re: Why Your Software Development Process Is Broken
A response to my tweet of this story makes a good point about needing to motivate your coders: "Even if you have a benevolent dictator, ALL need to be sold out to creating value!"
jemison288
50%
50%
jemison288,
User Rank: Moderator
9/17/2013 | 1:45:44 PM
re: Why Your Software Development Process Is Broken
Yes, and also, you better make sure your benevolent dictator is (a) smart, (b) motivated by the right things, and (c) truly benevolent.
AndrewT197
50%
50%
AndrewT197,
User Rank: Apprentice
9/19/2013 | 4:10:27 AM
re: Why Your Software Development Process Is Broken
Not a bad article, but I think it is brave to try bring a generic model to all development environments. The article starts with "It doesn't matter if you're building the next hot iPhone app or tweaking an in-house ERP system." then jumps to the mutually exclusive advantages of either side.

ERP -> many locked in restrictions
iPhone App -> solving a specific need

Major design differences.

A product manager needs to be technical if a specific need is being addressed (most open source projects) in other instances where many customers exists, the product manager needs to mediate AS a nonbiast customer without knowing the technical side, but more focused on the business side.

The problem that brews today is learning programming is a long hard ongoing task and most developer / programmers you meet don't actually learn how technologies work they believe a language is the answer to getting things done. Now today many programmers short cut the learning curve (university / training and resources are expensive) because they need to earn money quickly.

We all must start somewhere, but the funds allocated in startups are minimal so few people have to do the job of massive corporations. Also most startups are based on an idea or market need, so many times the starting point has a customer profile in mind and not a real paying customer.

In a massive world it would go like this. Notice how late the technical guys come in, but in small worlds, the technical guys must solve problems from other directions.

Note advertising is not sales.

Strategic managers talk to Marketing
Marketing talks to Advertisers

Advertisers talk to customers (potential and existing)
Customers talk to Sales
Sales talk to marketing
Marketing talks to Strategic managers
Strategic managers talk to systems analysts
Analysts talk to Product managers
Analysts talk to Test department
Analysts talk to Design department
Design department talks to Senior developers
Senior Developers talk to junior developers.

Development is a long term thing. Short cuts generate startups but ultimately long term is professionalism.


IT's Reputation: What the Data Says
IT's Reputation: What the Data Says
InformationWeek's IT Perception Survey seeks to quantify how IT thinks it's doing versus how the business really views IT's performance in delivering services - and, more important, powering innovation. Our results suggest IT leaders should worry less about whether they're getting enough resources and more about the relationships they have with business unit peers.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest September 24, 2014
Start improving branch office support by tapping public and private cloud resources to boost performance, increase worker productivity, and cut costs.
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.