A life committed to learning.

Tag: Project Management

Porque é que eu gosto das metodologias ágeis para desenvolvimento de Software?

Nesta história a equipa estava a trabalhar no lançamento de um produto para o mercado. O projecto já dura à um ano e é gerido com técnicas “tradicionais”* de desenvolvimento de software. Uma das iniciativas (ou sub-projecto, ou projecto no contexto de um programa) inclui um site,  um blog e um perfil no Facebook, no Twitter e no Youtube, onde se irá anunciar o grande lançamento do produto para o mercado.

Um mês antes do grande lançamento a equipa responsável pela comunicação pergunta ao desenvolvimento: “Quando é que o produto vai estar pronto? Precisamos de uma data para comunicar ao público o grande lançamento”.

A equipa de desenvolvimento respondeu qualquer coisa como: “Já está 85% feito.”

Com uma contas, o gestor de projecto prevê que dentro de um mês o produto estará pronto para o mercado. E foi com esse pressuposto que a equipa de comunicação anunciou a data do lançamento “imprevisível” do grande lançamento no site, no blog, no Facebook, no Twitter e no Youtube.

Mas será que aconteceu o pior?

No dia de lançamento (segundo as expectativas da equipa de comunicação), a equipa de desenvolvimento diz que não é possível lançar o produto hoje.

Infelizmente para a equipa, a data de lançamento calhou a uma Sexta-Feira, quando já todos andavam atacados com o stress pre-release. Depois do problema escalado, a direcção da empresa pede gentilmente que se esforcem ao máximo durante o fim de semana para lançar o produto na próxima Segunda-Feira. Até lhes ofereceu recompensas financeiras.

O produto é lançado na Segunda-Feira, mas apesar do incentivo financeiro,  a equipa perdeu muita motivação com este acontecimento. O overtime e sensação de “falha” é sempre um desmotivador e não há dinheiro que “mexa” nessa psicologia.

Agora, porque é que eu gosto das metodologias ágeis para desenvolvimento de software? Não vou aqui falar de tudo, é claro, mas apenas de um ponto que acho importante no contexto desta história tão comum.

Disciplina nas entregas (e tudo que o processo traz de borla)

  • A trabalhar com iterações que produzem Software “utilizável”  e com um conjunto de funcionalidades conhecidas, a equipa ganharia disciplina nas datas de entrega (Com uma gestão apropriada da equipa).
  • Se as iterações tivessem duração de 3 semanas e a equipa confiasse que necessitava de uma iteração para atingir um conjunto de funcionalidades, que somadas às produzidas nas iterações anteriores igualavam as funcionalidades mínimas para lançar o produto, então a equipa de comunicação poderia estar confiante ao anunciar a data do grande lançamento

Será este ponto importante para repensar algumas metodologias de desenvolvimento de Software? Ou assumimos a postura da  negação: “Ahh, podia ser pior se tivéssemos marcado um evento com a comunicação social e grandes investidores.”?  🙂

* Refiro-me aqui às técnicas que apenas são reconhecidas como boas práticas dentro da empresa um por um grupo restrito de empresas. 🙂

Continue Reading

O poder do “E” e do “Mas”

Acho que existe um poder psicológico no “E” e no “Mas”. O “E” tem um poder positivo, de criatividade e colaboração enquanto o “Mas”  tem um poder negativo e cria barreiras para a criatividade e colaboração.

Para o demonstrar, considerem as seguinte conversas:

Programador – “Vou conseguir terminar o módulo A a tempo”

Gestor de Projecto – “Sim, muito bem. Mas conseguirás fazer também a documentação a tempo?”

Pensem que isto vos está a acontecer e tentem perceber o roadblock que foi colocado apenas no vosso caminho?

Agora no mesmo cenário mas como uma atitude mais positiva:

Programador – “Vou conseguir terminar o módulo A a tempo”

Gestor de Projecto – “Sim, muito bem e agora temos de nos focar também em entregar a documentação a tempo? Do que precisamos?”

Pensem agora nesta última conversa. Qual delas será a mais construtiva, colaborativa, positiva e inteligente?

Continue Reading

O que faz uma boa equipa?

Num artigo do Financial Post de Setembro, pode ler-se o seguinte:

“An effective team has to be able to respond quickly[…] And for that, we need a forum for robust dialogue.

A formally constituted team comes from the desire to work collaboratively […] There is a shared commitment to goals that has the support of individual team members, and in turn supports them.

An effective team […] contrasts with a more common hierarchical approach to business goals, “the command-and-control approach.”

The effective team are […] The Magnificent Seven rather than The Good, The Bad and The Ugly.

To have and effective teams […]Businesses need to shift from individual bonuses to team-based bonuses, to flatten out their reporting structure.

What may not be a Team? […] A committee is a weak variant of a team […] A team […] is the opposite of a committee in that it has a unifying purpose and values to which all members ascribe, despite their position within the organization.

How to build a team? […] Peer mentoring is a team learning system that lets people teach each other […] Workshops have their place in leadership development, but most corporations don’t have a significant way to transfer that knowledge into skills.”

Peer Mentorig […] challenges people to take ownership of their careers. As long as no direct reporting is involved, it works magically.

How a effective team looks like?[…] include enough people, and a good cross-section of skills. We call it collective intelligence. The worst thing to do is try to figure out things by yourself.

Ainda no mesmo artigo são sugeridas oito características de uma boa equipa:

EIGHT TEAM MUST-HAVES

  1. Must have a meaningful purpose that all members care about.
  2. Can’t be too large. Some experts suggest capping at 20. Field cautions against there being too little work for all members.
  3. Needs a diverse set of skills appropriate to the goals.
  4. Needs to be physically together. Even having some team members on different floors can hurt the team.
  5. Succeeds or fails together. No stars or scapegoats.
  6. Shares leadership. Of course there is one leader, but he or she should be willing to step aside when another team member’s skills are required.
  7. Has strong shared norms and expectations of behaviour. These are soft skills that often need to be taught.
  8. Needs time. “You lose advantages if you hurry,” Prof. Field says. “Slow it down for the process to work.”

Artigo original:

http://www.financialpost.com/story.html?id=2258320

Continue Reading

Communities of Practice

Hoje tinha de escrever alguma coisa para o meu blog. Estou a tentar disciplinar-me na escrita e então decidi introduzir um tema que ando a tentar compreender melhor: Communities of Practice.

Uma Community of Practice é uma forma de criar e renovar conhecimento nas organizações. É por vezes uma solução na transformação de modelos de desenvolvimento de Software Waterffal para modelos mais ágeis e lean. Ao eliminar equipas especializadas (Testers, Architects, Developers, Designers) as pessoas podem perder as condições ideais para se especializarem em assuntos e áreas de interesse profissional.  Não acho que o facto de as equipas serem multidisciplinares e trabalharem em todos os aspectos do desenvolvimento do Software, seja justificação para acabar com o conhecimento que é criado através destas equipas.

Os Testers geralmente pesquisam e desenvolvem soluções que lhes permitem melhorar os testes de Software. Os Architects pesquisam e desenvolvem conceitos de Software que, sendo implementados, criam valor no produto. Os Developers pesquisam e desenvolvem soluções que  possam proporcionar um aumento de eficiência no seu trabalho. Acho que é importante que se continue a ter as condições para criar este tipo de conhecimento e uma das formas de o conseguir é através de Communites of Practice.

Ficam aqui alguns recursos sobre o assunto:

Vídeo:

Caterpillar- Collaboration Through Communities of Practice

Slides:

Communities of Practice: Conversations To Collaboration

Continue Reading
Continue Reading
Continue Reading

The political temperature of your organization.

You belong to an organization no matter if you work for your own or work for unknow shareholders.

@joaomrpereira and @innomgmt are now following each other at Twitter.  @innomgmt has a LinkedIn group that is a community

Working together to dramatically improve Innovation Management effectiveness, to share experiences, and to explore new models and methods.

I’ve found this very interesting and joined. I had the chance to take the survey recommended by Andrew Loveless on the discussion “Discover the Political Temperature in your Organisation.” and I’m now waiting for the detailed results at my email. From the results I have immediately, they seems pretty much accurate.

Of course I will not discuss my results here, as you may understand, but from the first results I have, there’s a lot of good insights to keep.

Take your time to take the survey at http://www.relayconsultants.com/politicalbenchmarksurvey/ and think at least for five minutes per screen. If you find yourself stuck in some of the screens it’s good sign. Take the time to make an retrospective on your last projects and discuss with your colleagues if possible. At the end discuss the results with your organization.

Continue Reading

Release Management – Chapter 8 Available

It’s now available for review the 8th chapter of the book “Agile Product Management: Turning Ideas into Winning Products with Scrum“.

I’ve introduced this book here in Portuguese.

I haven’t read it, but I will, I promise and I hope you, as an agile wannabe, read it too so you will not make anything stupid when planning your releases :).

This chapter deals with release management.  What is covered:

  • Planning the release and creating the release plan
  • Estimating product backlog items
  • Determining velocity
  • Managing cost
  • Dealing with risk
  • Tracking and reporting the progress
  • Practices for large projects including lookahead planning and pipelining

Have a nive reading.

Continue Reading

Scrum Quick Qizz

You’re the ScrumMaster for organization Foo and you’re working with  Team Bar. In the first sprint planning meeting you’re thinking that the team committed too much functionality from Product Backlog. You, the ScrumMaster, reminded the team that they are responsible for  committing only functionality that they can complete in a Sprint, and they can drop any functionality that they feel that cannot be completed.

The Team Bar strong believed that they can do so much work. They proceed with the Sprint.

At the sprint review meeting, the team demonstrated the functionality committed. The demo was guided by a script that team members follow consistently and religiously. Stakeholders at the meeting congratulated the team for the work done. At the end of the of the sprint review meeting, you started to play with the functionality delivered by the team and ignored the script they used to try different use cases. The software started to throw exceptions and crashing.

What went wrong?

A) The time spent in Spring Planning Meeting wasn’t enough.

B) The time allotted  for Spring Review Meeting wasn’t enough.

C) Team Bar ignored the rule of Sashimi.

D) Everything went ok. What’s the point?

What is you best guess? Why?

Continue Reading

Useless Gantt chart

Yeah, it’s true. I’m in a process of leaning and relearning. Fortunately I have the time to think about the usefulness of things we use in software development. 🙂

This week I came across the question:

“For what are Gantt charts useful?”

And because we live in knowledge the wisdom of the crowds era, I decided to throw an message in LinkedIn’s IT Project Manager group.

Let me start to quote my self in that question:

Are gantt charts useful for software projects?

Software projects are complex not only because the technology but mainly because the human behaviour. Humans collaborate to create solutions for complex problems, are Gantt charts useful to model human behaviour and collaboration?

It seems to me that Gantt charts are well suited for very predictive projects or production lines with machines, and software projects are everything but predictive. What is the point of using a technique that assumes a predictive future in a environment in constant change?

As far as I know, Henry Gantt worked with Frederick Taylor and I assume they had the same way of thinking. Now, if Taylor is a Theory X manager what’s the point to use their tools when you are a theory Y manager? Does it make any sense to use gantt charts to manager projects, specially SW projects?

Additionally, I heard from someone that the first time Henry Gantt introduced what we today know as Gantt charts never used the word projects, mainly because those charts were used to manage assembly and production lines… why are we using Gantt charts to manage the complexity of projects?

I received two answers, till now. One from Maryann Snider, PMP and other from William W. (Woody) Williams in the discussion.

These answers led me to think again in the usefulness of Gantt charts. My current opinion about Gantt charts is (as seen in LinkedIn discussion):

Ok, so a Gantt chart is only a communication chart, right? We can think of it as a tool for visual management if the stakeholders are educated in that way, I guess.

I understand that Gantt charts can be used to show critical path/s calculated with CPM (Critical Path Method).A lot of more tools and techniques exists to assist us in creating a tentative schedule, like the critical chain method as William mentioned. But at the end, a Gantt chart is only a tool for communication, right?

IMHO, there’s a risk with Gantt charts

PMI, for instance, as well as Agile Manifesto, promote face-to-face communication. The heavy use of Gantt charts can be seen as a risk when they start to flow, more than desired, through email within your organization.It’s not only a question of everyone seeing different versions of a project, it’s also a question about the wrong message your organization can be passing to stakeholders: email-communication culture is Ok.

I think we’re loosing sight of what its important in projects, the People. So, the use of Gantt charts for communication of project status, progress, etc should be revisited, IMHO. Moreover, I think that a “Go see” culture is the most effective way to access progress.

I’m not against the use of gantt charts in any way. I just have to believe in their utility before using them.

And you, how do you feel about the uselfulness of Gantt charts?

Continue Reading