Question

Quelles sont les pires fausses économies (qui est des moyens d'économiser de l'argent qui coûtent finalement plus qu'ils économisent) prévalent dans l'industrie du logiciel et comment voulez-vous les combattre?

Était-ce utile?

La solution

Dette technique

-à-dire « Il suffit de le faire rapidement, nous allons Refactoriser plus tard ». Tout d'abord parce que je dois encore voir quelqu'un se livrer à ce comportement fait factoriser plus tard. Ensuite, parce que faire les choses rapidement, au lieu de la bonne façon, il est plus difficile d'ajouter des fonctionnalités futures ou résoudre des bugs futurs si vous finissez par perdre du temps à long terme.

Malheureusement, beaucoup pensent encore enregistre cycles de développement pour les faire faire quelque chose rapidement. Je suppose que ce qui est possible, mais je dois encore voir dans la pratique.

Autres conseils

Embauche 2 développeurs bon marché au lieu de 1 vraiment super. (Pour le même prix)

Mon exemple serait le contraire de exemple de Nim Chimpsky , à savoir:

Essayer de développer en interne quelque chose qui peut être acheté impromptu.

Normalement, cela se réalise en raison d'un défaut de vérifier réellement la place du marché pour voir si quelque chose existe déjà qui va résoudre le problème. Cela peut être aggravé par les développeurs qui aiment à « plonger » de codage avant de faire des recherches et par les gestionnaires de projets qui ne parviennent pas à un facteur dans ce temps = argent.

L'un des exemples les plus courants que je l'ai vu dans mon domaine, le développement web, sont des entreprises qui essaient de développer et système CMS en interne. Ceux-ci commencent invariablement hors petit, mais très vite se ballonné et hors de contrôle comme caractéristiques sont boulonnés sur, alors que tout le temps il y a beaucoup de produits et de cadres libres hors-là ce serait beaucoup mieux.

Pas de ressources dédiées à la gestion de projet

Je l'ai connu plusieurs moments où quelques programmeurs ont été contractés, et quelqu'un qui a déjà un travail de jour exigeant aurait géré le projet, mais en fait était trop occupé à d'autres tâches afin que le projet n'a jamais vraiment gagné du terrain. Les programmeurs ont fait « prototypes » et d'autres choses, mais sans plomb, une grande partie a été en cours d'exécution dans les milieux de l'air occupé.

Bad équipements pour les nouveaux programmeurs

Je l'ai une fois connu une entreprise où la politique était « nouveaux programmeurs doivent travailler sur un PC vraiment vieux avec un petit écran jusqu'à ce qu'ils prouvent qu'ils sont dignes ». Pas étonnant que cette politique a provoqué une sélection négative qui démarra de bonnes personnes qui ont toujours le choix de travailler dans un environnement plus sain d'esprit.

Nous pouvons économiser de l'argent en ayant les programmeurs à double testeurs / rédacteurs techniques

Si vous payez les salaires du programmeur pour le travail de l'écrivain testeur / technique, alors vous perdez de l'argent et probablement obtenir du travail de qualité inférieure que quelqu'un qui a consacré leur carrière à cette tâche. En outre, lorsqu'un programmeur est contre un test de délais serrés et la documentation sont très susceptibles d'être tombé ou fait demi-cul pour y répondre.

BTW: Les développeurs sont toujours contre un délai serré

.

La recherche / lecture / écriture de code non lié au développement des produits est une perte de ressources.

Certains programmeurs et gestionnaires croient même à cet égard. Normalement, ils font juste la programmation basée sur les connaissances dans leur tête, et faire des recherches et trouver des réponses quand ils sont confrontés à des problèmes. Ils n'améliorent pas en permanence leurs connaissances de manière proactive. Mon avis, nous devrions toujours nous tenir à jour, et les connaissances que nous réunis serait utile pour nous pour résoudre les problèmes actuels et futurs. Bien sûr, vous devez allouer votre temps à bon escient pour le faire.

Ceci est également similaire à réponse de Dan . Certains gestionnaires veulent juste les développeurs de plongée rapidement dans et développer le produit en fonction des besoins sans recherches sur les produits existants sur le marché.

Dans de nombreux cas offshoring coûte plus d'argent. Dans mon entreprise, il est très difficile d'obtenir de nouveaux créneaux horaires des employés, nous sommes poussés fortement à sous-traiter. Il est aussi difficile d'obtenir des entrepreneurs sur place; il y a un rapport de 3: 1 en mer à terre, ils sont censés maintenir. Par conséquent, de nombreuses équipes simplement embaucher une douzaine en mer et de les utiliser à peine du tout, juste pour qu'ils puissent obtenir 4 entrepreneurs sur place.

boucles de rétroaction long!

Il arrive à tout le monde: vous construisez quelque chose que vous pensez est génial, et il se trouve que vous aviez tort. Ce n'est pas le problème. Le problème est combien de temps vous passez la construction avant de savoir que vous devez arrêter.

Au haut niveau, vous voyez ce problème avec de longs cycles de libération. Si vous construisez une année sans retour, vous êtes de jeu toute l'année. Le plus souvent vous libérer, plus vos paris, et mieux vous obtenez au jeu.

Mais il arrive aussi au plus bas niveau. En tant que développeur, je aime vraiment des revues de code fréquents (ou, mieux, programmation paire) car elle limite la quantité de temps que je peux continuer à faire quelque chose de stupide avant que quelqu'un dit: « Hé, il y a un moyen plus simple! » Pour la même raison, je que mes tests unitaires pour courir rapidement et souvent, donc je peux attraper et tuer les insectes avant qu'ils ne grandissent.

Une fois que vous commencez à remarquer l'importance des boucles courtes de rétroaction, vous verrez partout. Par exemple, la notion militaire de la boucle OODA .

Non ma propre anecdote, mais je ne l'ai une fois entendu parler d'un magasin qui a cessé de fournir du café gratuit à ses développeurs, en leur disant au lieu que chaque fois qu'ils voulaient prendre un café, ils étaient libres de se promener au magasin le plus proche du café (quelque chose comme dix minutes voyage dans chaque sens) et en acheter.

A peu près la définition de fausse économie.

Fournir des postes de travail à écran unique, car un second moniteur est trop cher . Même si elle ne vous permet d'économiser une heure de travail chaque année, un deuxième écran est toujours un bon investissement. Je sais pour sûr que le mien m'a sauvé beaucoup, beaucoup d'heures de travail.

Une configuration multi-écrans peut faire presque toutes les tâches plus efficace, non seulement des tâches de développement. Trois moniteurs est encore mieux que deux, mais l'effet est moins prononcé avec chaque écran supplémentaire.

configurations multi-moniteurs:

  • diminution de tête de commutation de fenêtre
  • vous permettent de garder un oeil sur des choses en cours d'exécution en arrière-plan (courrier, compilation, etc.).
  • vous donner un sentiment de liberté. Il est comme être dans un atrium contre être dans un placard à balai.
  • etc ...

Le moins cher matériel donné à un consultant lorsque le coût de consultant plus de 150 $ / heure .

Mise en perspective d'un meilleur matériel peut au moins faire le 30min d'emploi plus efficace par jour. Cela donnerait 30min * 20 jours de travail par mois = 600 min / mois = 10 heures / mois> plus que 1 jour = emploi 10 heures * 150 $ / heure = 1500 $

serait pas un travail de consultant plus efficace s'il / elle avait un ordinateur 1500 $? Ne serait-il le consultant moins irrité?

Maintenant, le problème semble être qu'il ya deux budgets, un pour le consultant et l'autre pour le matériel PC.

Mois de travail jours de planification Enregistrer

(Ne pas investir assez de temps dans la planification)

Les plus répandues que je soupçonne est tout simplement pas les gestionnaires fournir aux développeurs les outils dont ils ont besoin pour faire leur travail efficacement.

En fait, le point 9 sur le Joel test .

« corps Throw (assez) le problème » peut encore être utilisé dans certains endroits, malheureusement . Loi Brook fait contre cette Le Mythical Man-Month , bien que certains exigent l'expérience d'apprendre cette leçon. En général, ce n'est pas quelque chose dans mon pouvoir d'arrêter la gestion peut croire à la fausse déclaration sur l'ajout de et ne pas avoir à payer un prix pour cela.

réunions de tous les jours :

(meeting duration in hours) x (Y team members) x (average salary per hour) = ...  

Acheter sur le logiciel de stockage au lieu de développer en interne.

J'ai l'expérience des systèmes de gestion à l'échelle de entreprise, focalisées sur les deux ressources humaines et les laboratoires biologiques.

Un rabais sur le coût de la solution de conservation £ 50-100k et nécessaire développement et de personnalisation pour répondre aux besoins de l'entreprise.

La solution développée en interne a (<6) mois pour développer, avec d'autres projets en cours d'élaboration en parallèle et a utilisé un développeur déjà employé.

Je suis allé du secteur public où nous avons eu un LIMS développé en interne (système de gestion de l'information de laboratoire) et en cours d'exécution, à une grande pharmaceutique internationale où l'Application de l'une de la solution de conservation avait pris plus d'un an et était nulle part complète.

(6 mois d'un So ~ 10k. Développeur déjà engagé à travailler sur d'autres projets en parallèle. Et cela ne comprend pas les coûts de soutien associés à la solution de conservation off). Le principal point est que le système développé en interne a été effectivement utilisé! Donc, vous avez alors l'avantage de coût supplémentaire associé à ce que je ne peux pas calculer.

Je suis d'accord pour les sites web de base etc, pourquoi s'embêter développer votre propre. Mais pour les grands systèmes complexes et si vous avez déjà les compétences internes, je construire moi-même .

L'achat de produits hors-la-shelve cher quand les alternatives open source sont mieux et libre.

Combien d'entreprises utiliser git? Combien d'entreprises utilisent un certain contrôle de version merdique enterprisey?

Utilisation de langues "simples" sans beaucoup d'expressivité

Oui, il est plus facile de trouver des programmeurs pour maintenir le code, mais il est plus difficile de trouver bon programmeurs qui n'apprennent pas seulement la dernière expression à la mode qui se les engagés. Oui, il est un code de bits individuels plus facile à comprendre, mais il est à peu près aussi rigide comme un 2x4 et augmente le volume de code qui doit être compris. Oui, il est soutenu par une grande entreprise, mais a d'énormes sociétés lentement et bureaucratiquement innove.

Bad gestionnaires de projet / chef d'équipe.

Depuis ses personne incompétents ont le pouvoir de ruiner le travail d'un groupe de personnes. En fin de compte, le projet ferait beaucoup mieux sans la haute direction (projet / chef d'équipe) décisions.

dose la « suffit de le faire rapidement, nous allons Refactoriser plus tard » décide.

manquant besoins des utilisateurs

Une étape importante et difficile la conception d'un produit logiciel est déterminer ce qui en fait le client veut qu'il fasse.

Croyez-le ou pas parfois cette partie est manquante ou est obsolète. Ce qu'il vient à coût est que l'on crée des fonctionnalités que l'utilisateur final n'a jamais demandé.

La productivité est une valeur de plus de créativité

La créativité est difficile à mesurer en général, et le plus souvent impossible d'observer même, ne mesure l'esprit, en matière de développement de logiciels. La productivité, d'autre part, peut être mesure (souvent mal), et peut être observée.

Par conséquent, les développeurs qui peuvent (écrire plus de lignes de code | écrire du code plus rapide | Recite technobabble plus rapidement en réponse aux questions | sont plus visiblement productifs) ont tendance à être plus valorisés que ceux qui (utilisent moins de lignes de code pour résoudre même problème | prendre plus de temps à écrire du code, mais produire un produit plus fiable | comprendre le sujet assez de matière bien de répondre aux questions en langage clair et facile à comprendre, anglais |. résoudre les problèmes de façon créative)

Tous ci-dessous peut être mauvais quand il est utilisé ou non utilisé de façon inappropriée

  • externe vs logiciel inhouse

  • conformité ISO 9001 (économie - une réduction d'un risque de perte en cas de chute MSS la qualité du produit)

  • Développement / QA externalisation

  • procédures de développement / construction / release / support

Avoir trop de gestionnaires de livraison non facturables.

Il y a quelques années, dans notre société, nous avons plusieurs projets à gros budget en cours et le recrutement était en période de pointe. A cette époque, notre entreprise a embauché trop de gestionnaires de la prestation (Beaucoup d'entre eux étaient non!) Et très peu de codeurs / testeurs. Gestionnaire de rapport programmeur était littéralement 1: 2. Plus tard, après l'achèvement de ces projets, nous avions une situation où nous avons eu beaucoup de ces gestionnaires (certains d'entre eux étaient de vrais fainéants) assis sur un banc à ne rien faire. Nous avons eu un cycle d'évaluation où tout le monde a peu / pas d'augmentation (Même nous les programmeurs qui travaillent dur, soupir) de sorte que la société ne doit pas mettre tout le monde au large! Heureusement, la société a réalisé cette situation et a fait l'rightsizing au cours du premier trimestre de cette année!

Optimisation avant le profilage (aka optimisation prématurée).

Trop de fois je l'ai vu la portée de quelqu'un pour une solution intelligente qui complique inutilement l'entretien et la lisibilité au motif qu'il est plus rapide. Bien entendu, le code n'a pas été établi marqué (même pas avec des micro-benchmarks), il devient rapidement « plus rapide basée sur l'argument plus convaincant » sur une section de code qui très probablement ne pas d'incidence sur la performance globale de l'ensemble demande beaucoup.

En tant que tel, il est une économie très fausse, et le genre de fausse économie qui enchevêtre parfois même les pros.

Limited ou pas d'accès à Internet

Parce qu'il est évident que vos employés utiliseront utiliser Internet pour jouer facebook jeux pas trop la recherche des réponses aux questions techniques sur Stackoverflow.

En réalité, bien sûr, l'Internet est un énorme coup de pouce de la productivité, et alors il peut être approprié d'utiliser une sorte de filtre de site pour les sites vraiment louches il y a quelque chose de mal si elle bloque le fichier readme studio visuel ou bloquer telford Goverment locale pages pour raison "tourisme sexuel"

Faire vos développeurs utilisent un moniteur de 15 pouces et PC à faible spécification car il est le standard de l'entreprise.

moniteurs de taille raisonnable ne coûtent pas cher, rapide à installer et à rendre les programmeurs plus productifs ainsi que de faire vos programmeurs pensent que vous souciez d'eux.

Trop de baccalauréats en administration des affaires (ou similaires), hiérarchisé, qui tentent d'appliquer ce qu'ils pensent la gestion moderne est d'environ: les gens Bothering avec « KPI » s, « SLA » s et ce qui ne nécessitant « rapports » (sans, bien sûr, se soucier de l'infrastructure pour les générer), de sorte que les programmeurs gaspillent leurs jours remplir fantaisie feuilles EXCEL, les rapports du 4ème trimestre et ce qui ne et copie d'un nouvel outil de gestion et coller dans un autre (il semble être la règle selon laquelle ces outils ne sont jamais inegrated ni intégrable les uns avec les autres), et des réunions où les rapports fréquentent et les chiffres sont présentés (et tout le monde est fait sentir coupable d'avoir omis de fullfil tel ou tel KPI).

Licencié sous: CC-BY-SA avec attribution
scroll top