Busy executives in technology businesses (that's most every business, these days - not just software development houses and software product companies) are generally less than happy with the performance of their software development folks (whether in-house or out-of-house). What, in your experience, is the one most important things they'd like to see improve?
views:
189answers:
5What's the single most important thing that Executives want from their software development folks?
- Understanding business requirements and delivering the software which fulfils them
Also:
- Providing reliable estimates
- Keeping up with the promises given
Usually it's predictability. Managers usually just want to know when it's ready and how much it's going to cost. Unfortunately software-development is inherently unpredictable and the best ways to avoid risks here require intensive user and management involvement.
So the reason we (as software developers) can't deliver predictability is only partially our fault.
This isn't a problem that's exclusively a software development problem. Large building projects often end up over-time and over-budget too as do lot's of complex engineering efforts.
My guess would be developers who can think and act independently on technical issues, thus creating more rapid results while turning to the manager for decisions on non-technical, business-related questions.
Joel Spolsky often talks about how their aim was to have a lot of smart developers who are able to create some great applications without bothering their managers more than absolutely necessary (but also requiring that the managers not interfere more than absolutely necessary).
Some managers will unlikely not find this the most desirable skill in a developer but those are perhaps not the type of manager you would want to work in the first place.
I would say estimation. As developers and as social animals we want to please and we tend to think that a shorter delivery time will be more pleasing. It may be more pleasing if we could deliver to that schedule but typically we can't and the displeasure caused when we start missing deadlines is much greater than the pleasure at hearing that feature could be completed in two months.
I try to estimate really long when I say how long something will take and let people know as soon as I become aware that I can't deliver to that timescale for whatever reason - it's so easy to not say anything because often you feel like the people you're working for will be annoyed to hear it, and probably they will, but it will be a lot worse if you leave off telling them until closer to the deadline and it's certainly more stressful for you in the interim worrying about what will happen when you do say something.
Visibility.
Knowing what is going on the project at any given time so we can plan for the future. If its on track, then the next project needs to be prepared. If there are problems, what is the impact? What do we have to tell the client?
A close second would be accountability. What happened and why. How can we stop it from happening again.