Je suis facturé comme "Expert Windows" dans ma très petite entreprise, qui se compose de moi-même, d'un ingénieur en mécanique travaillant dans un rôle de vente et de formation, ainsi que du président de la société, travaillant dans une conception, un développement et un rôle de soutien.
Mon rôle est également aussi général, mais je concevons-je, mais je concevons et mettez en œuvre quelles que soient la programmation sur notre produit doit être effectuée pour que nos affaires soient exécutées sur les versions de Windows.
Je viens de finir de regarder un aperçu de haut niveau du paradigme Scrum, donné dans une diffusion Web. Ma question est la suivante: est-ce que cela vaut mon temps d'en savoir plus sur cette approche du développement de produits, étant donné que mes articles de travail de développement sont généralement donnés à un niveau très élevé, comme "internationaliser et localiser le produit".
Si c'est le cas, comment suggéreriez-vous d'adapter Scrum pour l'utilisation d'un seul programmeur? Quels outils, en nuage ou autrement, seraient utiles à cette fin?
Si ce n'est pas le cas, quelle approche suggéreriez-vous qu'un seul programmeur organise ses efforts de jour en jour? (Peut-être que la question diminue à cette question simple.)
Apprendre Scrum: Oui. Si seulement pour en savoir plus pour ajouter à votre ensemble de compétences générales. (Mais une saveur de celle-ci "Scrum-Ban" est probablement ce que vous recherchez ...)
Scrum est un cadre agréable, mais un principe de base est "itérations (sprints) doit être une durée fixe" Je n'ai jamais vu ce travail dans de très petites équipes qui sont plus fréquentées que non. Si vous pouvez vraiment vous inscrire et vous engager à travailler dans une zone de temps fixe (1 semaine?), Scrum est un cadre cool. Si vous ne pouvez pas ... alors Scrum est agréable d'apprendre de savoir car il a de bons concepts qui se traduisent bien vers d'autres choses ... comme ....
Backlog - Scrum ou non, gardez une liste hiérarchisée de choses que vous devez faire. J'aime Excel (ou tableur Google Doc ...) Vous pourriez aimer quelque chose d'autre. Je garderais un très petit outil si vous êtes une très petite équipe. (Feuille de calcul >> processeur de mots parce que vous pouvez trier facilement.)
Séparation de la planification et de l'engagement - Plan dans une notation abstraite (points) et être cohérente (8PTS est d'environ 2 fois une histoire 4PT et 4x une histoire de 2 points) quand il est temps de "faire le travail" Re-regarder le problème et de l'esquisser en heures. Ne changez pas les points.
Engagement - être visible envers les autres lorsque vous vous engagez et accumulez vos engagements
Rétrospective - Une fois que vous avez livré, réfléchissez à ce qui aurait pu être fait mieux.
etc.
Scrum est assez facile pour comprendre que cela pourrait être un bon point de départ. Si vous l'aimez, je envisagerais d'utiliser la variante "Scrum-Ban" - http://fr.wikipedia.org/wiki/scrum-ban#scrum-ban . Rien d'autre ne me frappe comme "si bien documenté" avec une communauté raisonnablement active pour la soutenir.
J'aimerais également recommander les méthodologies de cristal d'Alistair Cockburn (http://alistair.cockburn.us/crystal+Methodologies+Main+foyer et http://www.amazon.com/crystal-clear-human- Méthodologie Powered-PETIT/DP/0201699478/REF = NTT_AT_EP_DPT_ ), mais cela implique la lecture et la creuse.
Des choses telles que XP offrent plus de détails sur des pratiques spécifiques, je dis donc également à lire le livre: http://www.amazon.com/extreme-programming-explait-Embrace -Change/dp/0321278658/REF = SR_1_1? S = Livres & IE = UTF8 & QID = 1304359834 & SR = 1-1
Conseils de lecture finale: Tant que vous acceptez le manifeste agile et suivez les principes suivants: http://agileifesto.org/principles.html Vous devriez être en forme décente.
Recommandation personnelle: Adopter TDD (non négociable, IMHO) maintenir un arriéré (selon Scrum) Gardez toujours la taille et triés sur la priorité décompose des choses "trop grandes pour faire entre les interruptions" des plus petits morceaux que quelqu'un d'autre se fixe/examine la priorité (non Deux éléments obtiennent la même priorité. Tout jamais.) Faites votre environnement de construction capable de construire/tester/déployer (à Lab env) dans 5-10min Afficher vos clients (internes et externes) Les résultats de la finition d'une histoire d'histoire ne se sont pas terminés votre client accepte. Tirez des histoires du haut de la pile et travaillez-les lorsque vous remplissez l'histoire actuelle, ne conservez pas plus de 2 choses ouvertes à tout moment. Terminez une distraction avant de commencer un autre. Prenez la fierté de votre travail et une fois par mois, vous présentez l'équipe/la société tous les produits/fonctionnalités que vous avez complétées.
j'espère que cela t'aides
Vous pouvez utiliser certaines pratiques utilisées dans Scrum comme étant-archette de produits, la priorisation, l'estimation relative, la livraison incrémentielle, mais utiliser tout Scrum en tant que processus de gestion du développement de produits par une équipe de membres transversaux croisés auto-organisés n'est probablement pas un moyen d'aller chercher un spectacle d'un homme .
La question est de savoir si vous êtes capable de casser vos articles de travail aux petits morceaux pouvant être livrés de manière incrémentielle? Si vous n'utilisez pas la plupart des pratiques n'a pas de sens. Aussi Scrum concerne une coopération élevée avec le propriétaire du produit/le client. Ce ne devrait pas être comme: "Ici, vous avez une mission et récupérez une fois que cela se fait".
Bien que je ne dise rien ou contre 1-homme srum, je dirai qu'un système de pull kanban à 1 homme fonctionne très bien. Kanban combiné avec des tests d'unité automatisés m'a rendu beaucoup plus productif et "documenté". Bien que non plus les méthodologies, mais plus d'outils (et des outils très différents à cela), les deux forcent-moi à décomposer de grands projets solo en morceaux de taille, ce qui me donne une sorte de rituel pour m'encourager à faire plus de choses que chacun journée. Il n'y a rien de tout aussi satisfaisant que de cliquer sur "Exécuter tous les tests" et de voir chaque article aller vert ... rien sauf prendre une carte de la colonne "en cours" de mon conseil kanban à "en test" (ou hors du carton entièrement) .
Je pense que le véritable problème avec le travail en solo est que vous avez sélectionné et choisir de multiples méthodolgies, qui sont vraiment destinés à des groupes de développeurs et à vous adapter au mieux. L'objectif final est vraiment juste de rester responsable, productif et heureux. Qui sait comment faire cela mieux que vous-même (avec un peu tiré d'ici et un peu de là).
J'ai essayé cela quand je travaillais seuls à un moment donné. Les choses qui fonctionnaient bien étaient:
Ce qui n'a pas fonctionné était:
C'était un exercice intéressant, mais j'ai arrêté de le faire après un peu. Je pense que les avantages de Scrum doivent être considérés contrairement aux équipes de cascade traditionnelles. Mais les deux sont un peu discutés lorsque vous êtes seul. Il n'y a pas de communication ni de problèmes de collaboration - vous ne faites que labourer le travail défini, puis vous avez terminé.
Je pense que tout le monde devrait garder un back-bille et faire TDD cependant.
Éléments d'Agile/Scrum/Kanban, je pense avoir un sens dans un monde de développeur unique:
Demandez à une carte sur laquelle vous organisez vos histoires d'utilisateurs/actif-archette-archettes, sur les cartes d'index, comme Kanban.
Obtenez l'adhésion des non-développeurs sur la valeur de ces principes:
Donnez-moi le temps de travailler sans changer mes priorités sur moi ou sur la microgestation (le point de sprints). Donnez-moi le temps et je vais essayer de comprendre à l'avance à quel point je peux faire, et je ferai de mon mieux pour faire cela beaucoup.
Si j'ai besoin de quelque chose (je suis bloqué), et que je viens à vous et que vous ne pouvez pas le trier pour moi, le sprint peut-il avoir à être annulé anormalement. (Cela signifie juste que nous avons besoin d'un nouveau plan.)
Personne ne change rien au milieu du sprint. Ou, si nous faisons, nous annulons simplement le sprint et nous en créons un nouveau. Si cela arrive beaucoup, la productivité goutte.
la communication entre les personnes ayant des parties prenantes peut se produire lors de réunions de standing quotidiennes régulières, qui communiquent la plupart des mêmes choses qu'un scrum régulier serait, y compris vos réalisations de développeurs pour la journée. Essentiellement, vous pouvez signaler des choses qui ont pris plus de temps que vous ne l'avez pas pensée, ou se sont bien déroulées et tous les ajustements que vous apportez sur vos plans de mise en œuvre. (J'ai trouvé quatre nouveaux bugs et les a connectés, je pense qu'ils sont plus importants que cette fonctionnalité facultative, et je pense donc que je vais passer le temps et les réparer et pousser cette fonctionnalité facultative.)
J'ai fait beaucoup de travail en tant que développeur unique et je peux dire avec certitude que la confiance entre le développeur unique et ses superviseurs/patrons non développeurs et une bonne communication sont les clés, pas une méthodologie. Mais vous pouvez toujours être plus efficace, si vous suivez de bons principes.
J'ai lu un blog à ce sujet et je pense que cela peut vous aider avec votre question.
Première partie: http://www.21apps.com/agile/doing-agile-in-a-team-of-one/
Deuxième partie: http://www.21apps.com/agile/doing-agile-in-a-team-of-one-ay2/
Vous trouverez peut-être plus d'informations sur ce blog.
Je ne suis en aucun cas connecté; Juste quelque chose que j'avais dans mes favoris. J'espère que cela peut vous aider.
Oui. Et gardez à l'esprit que le Scrum n'est pas obligé d'impliquer des outils de fantaisie, il peut simplement s'agir d'une simple réunion de longue date de 15 minutes où tout le monde parle de ce qu'ils travaillent. L'avantage de Scrum est que tout le monde sait ce qui se passe, ce qui facilite la résolution de problèmes avant de se lever et d'anticiper les problèmes de la route.
Je suggérerais d'essayer Kanban et de commencer par les bases: visualisation et limitation de travail en cours (WIP).
Même si vous l'arrêtez plus tard, vous aurez plus d'agilité dans le processus. Et tandis que Kanban est bon pour le développement logiciel "normal", Kanban + un processus basé sur le flux (par opposition aux itérations) abîme à d'autres outils de processus lorsque vous disposez d'une situation à la fois en développant de nouvelles fonctionnalités et de nouvelles entretenances.
Deuxièmement, la recommandation du livre Kanban de David Anderson, et vous pouvez également jeter un coup d'œil à mes diapositives d'un Meetup local sur pourquoi et comment commencer avec de simples kanban ou CRISP.SE/kanban pour une introduction courte.
Pour votre contexte, j'ai quelques réflexions:
Si vous voulez essayer quelque chose en ce moment, aujourd'hui, pendant que vous prenez votre décision, je vous recommanderais d'essayer un kanban personnel sur le mur ou la fenêtre ou le placard à vos côtés, comme je l'ai fait durer Semaine ...
Beaucoup de ces réponses manquent un point important.
Une équipe de scrum n'a pas besoin de consister uniquement à partir de programmeurs.
L'un de vos collègues fait "concevoir"/"développement" et une "vente".
Peut-être que votre collègue "vente" peut être un propriétaire de produit (proxy). Quelles sont les attentes du client?
La conception et le développement de votre autre collègue ressemblent vraiment à des disciplines d'équipe Scrum. Le développement de Scrum n'est pas progressivement mis en phase mais vertical (exigences de repère, conception et mise en œuvre dans un sprint).
Vous pouvez faire le processus de Scrum avec vous trois.
Que faut-il pour obtenir "cela" fait? Les réunions de planification de sprint de Scrum zooment sur la question de ce que "ceci" est. Qu'est-ce que le propriétaire du produit attend de voir pour qu'il soit considéré comme fait?
Lors d'une réunion de planification de sprint, vous pouvez donner à votre autre contexte de collègues pourquoi "internationaliser et localiser le produit" pourrait être techniquement difficile à mettre en œuvre.
Des tonnes de raisons d'utiliser Scrum IMHO.
Sauf si vous avez le suivant en place
Moyens d'organiser et de hiérarchiser les exigences entrantes.
Pour estimer avec précision l'effort qui sera pris afin que vous sachiez ce que vous pouvez commettre dans une itération
Itérations et amélioration continue - Le concept d'itérations dans lequel on inspecte continuellement et l'adaptation est inestimable. Cette pratique encourage l'expérimentation et elle s'appuie dans l'apprentissage continu. Scrum in Church, page 4
Eh bien, vous ne pouvez pas faire une réunion quotidienne de Scrum, mais au moins vous pouvez vous rappeler la tâche que vous vous engagez aujourd'hui. La réunion quotidienne Scrum est utilisée pour que les équipes puissent se synchroniser les unes avec les autres sur ce qu'ils font.
Réflexion après un sprint - Dans Scrum, il s'appelle Sprint rétrospective, à la fin de chaque itération, vous pouvez réfléchir à ce qui se passe après l'itération et penser à ce qui s'est mal passé et comment vous pouvez l'améliorer, quelles sont les meilleures pratiques pour les garder Faire
Je suggérerais que vous preniez une approche minimaliste et, par une amélioration continue, vous pouvez avoir un scrum qui convient à vos besoins.
Scrum n'est pas Scrum si vous ne pouvez pas l'adapter à vos besoins et vous adapter à votre situation actuelle.
Après avoir lu toutes les autres réponses ici, je pense que la réponse pragmatique simple est la suivante:
Utilisez des processus ou des techniques ou des méthodes utilisées pour apprendre quelque chose qui vous aidera à mieux faire votre travail.
Cela pourrait maintenant donner la priorité à vos tâches - tous les jours - religieusement.
Cela pourrait signifier de travailler sur l'arriéré.
Cela pourrait signifier de signaler des progrès - à votre patron (même s'il ne s'en soucie pas ... Faire, c'est une bonne chose à vous permettre mentalement de faire le point sur votre lieu de travail).
Vous pouvez utiliser toutes sortes de méthodes ou de techniques parce qu'elles vous permettent de mieux travailler, qui = mieux dormir la nuit.
Faites des choses qui fonctionne (pour vous, dans vos circonstances actuelles), jetez des choses que cela ne le fait pas.