SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Managing a Software Development Team: Some Experiences Bambang Purnomosidi D. P. twitter: @bpdp Facebook: /bambangpdp More: http://bpdp.name
Managing a software development team is never an easy task. It consists of 2 sides: technical and non-technical
Decide the tools which will be used by the team Leader should have enough technical capabilities so that he can decide the right tools for the job. Once you don’t decide the tools, your team will be confuse as they have more than one preferences
Use a specific software development methodology, probably with some minor adaption A software development methodology consists of process and modelling. It guides the team through the process and enable the team to model the software which is built by the team to solve client problems. It is important to use the specific methodology so that everyone in the team knows what and how to do the development. If you don’t decide any methodology, then your team won’t have any guides. Remember, you have to use a specific methodology but don’t be too rigid. Your team may consists of people from many backgounds with many level of capabilities
Make some conventions regarding technical issues Again, this is important to keep the team away from the state of flux and let the guys in the team communicate with the same language. You surely don’t want your team to have more than one variable / property naming system, right? What if some programmers use “this_is_a_variable”, while the others use “thisIsAVariable”?
Know the client(s) and their problems which are tried to be solved Deal only with 1 client representation. You must understand this domain problem good enough so that you can define the scope of the problems and deal with the problems.
Decide the scope of the problems and insists on this. Clients basically don’t understand the requirements, so your duty as a leader is to define the scope of the problems which are tried to be solved by the software. You must cooperate nicely with the client and have the information understood by all team members. From programmers’ point of view, the uncertainty caused by scope uncertainty will lead to frustration. Well, I do understand that agile methodologies encourage changes, but who want to deal with changes everytime? What I am trying to say is you as a leader should understand that changes are possible but this should be done within the scope
Have a good interpersonal relationship and don’t be a jerk I know that this software development task is not easy. Clients always ask the progress and the team is in a stress condition. It really helps to just stay with the team and always willing to help them whatever you can than just act like a jerk who walks here and there and yelling. Trust me, the team will respect you more if you are always willing to help them.
Never let the team in a state of flux Uncertainty comes everytime. Whenever the team has anything uncertain, your decision is needed to keep them stay away from confusion. You do understand that you have to have a good grasp in technical side and problem domain to make a good decision, don’t you?
Let the team concentrate on technical matters Ok, pay attention more to non technical matters so that the team can concentrate on technical side. Don’t let them do any clerical things since programmers (usually) hate to do administrative things. It’s good to have a dedicated person to deal with all administrative things.
Let the team member knows each other about progress and difficulties Opennes is important. By let them know each other’s progress, you keep them in a fair situation. Low salary probably can be understood, but unfair treatment can not be tolerated.
Inform the team about your progress too So you think you can hide your progress? The team will surely want to know that you do your jobs too. If you hide your progress, they will lose respect and trust in you.
Communicate. Communicate. Communicate I can not stress more. This is really important for the team to have them communicate each other. Your tasks will be to communicate with them and act as a liaison between the team and the client. Oh and don’t forget, have a good sense of humour.
Always keep backup of everything You don’t need to backup everything if you are sure that you always live in an ideal situation. You should keep backup in more than one place. Compress them and have them uploaded anywhere on the Internet (4shared.com, rapidshare.com, /etc) as long as you have full control of your files.
Use Version Control System Version control system is a software which can be used to track the software source code versioning. You may use git, mercurial, subversion, /etc for this purpose.
Use web based bug tracking system, project management software, and/or wiki This will keep any information handy and on track. All any other members can also see the project’s progress. It will keep each team members informed and any unfair situation can be detected.
… and that the end of the story. Thank you for your attention.

Weitere ähnliche Inhalte

Andere mochten auch

Oakland, CA 8/17/2004
Oakland, CA 8/17/2004Oakland, CA 8/17/2004
Oakland, CA 8/17/2004TRIC Tools
 
Wildfire Introductory Presentation
Wildfire Introductory PresentationWildfire Introductory Presentation
Wildfire Introductory PresentationKathleen Franklyn
 
Las Alas De Un Angel
Las Alas De Un AngelLas Alas De Un Angel
Las Alas De Un Angelguilleangulo
 
getting emotional in the age of social media
getting emotional in the age of social media getting emotional in the age of social media
getting emotional in the age of social media nazim iqbal
 
Corta-Mato 07/08 EST
Corta-Mato 07/08 ESTCorta-Mato 07/08 EST
Corta-Mato 07/08 ESTNunoMoreira
 

Andere mochten auch (20)

Oakland, CA 8/17/2004
Oakland, CA 8/17/2004Oakland, CA 8/17/2004
Oakland, CA 8/17/2004
 
2005 0504 Ca
2005 0504 Ca2005 0504 Ca
2005 0504 Ca
 
Wildfire Introductory Presentation
Wildfire Introductory PresentationWildfire Introductory Presentation
Wildfire Introductory Presentation
 
Las Alas De Un Angel
Las Alas De Un AngelLas Alas De Un Angel
Las Alas De Un Angel
 
Netcamp #3 - Wszystko co chcielibyście wiedzieć o podcastingu
Netcamp #3 - Wszystko co chcielibyście wiedzieć o podcastinguNetcamp #3 - Wszystko co chcielibyście wiedzieć o podcastingu
Netcamp #3 - Wszystko co chcielibyście wiedzieć o podcastingu
 
Amman 1982
Amman 1982Amman 1982
Amman 1982
 
22
2222
22
 
getting emotional in the age of social media
getting emotional in the age of social media getting emotional in the age of social media
getting emotional in the age of social media
 
MBA - Hard Truths
MBA - Hard TruthsMBA - Hard Truths
MBA - Hard Truths
 
Netcamp #1 Innowacje w SPNT
Netcamp #1 Innowacje w SPNTNetcamp #1 Innowacje w SPNT
Netcamp #1 Innowacje w SPNT
 
Netcamp #8 - Ecoosystem.com - Innowacyjny startup
Netcamp #8 - Ecoosystem.com - Innowacyjny startupNetcamp #8 - Ecoosystem.com - Innowacyjny startup
Netcamp #8 - Ecoosystem.com - Innowacyjny startup
 
Obsluga srodowiska programistycznego - Badanie programistów
Obsluga srodowiska programistycznego - Badanie programistówObsluga srodowiska programistycznego - Badanie programistów
Obsluga srodowiska programistycznego - Badanie programistów
 
ASPgems
ASPgemsASPgems
ASPgems
 
2004 0520 Tx
2004 0520 Tx2004 0520 Tx
2004 0520 Tx
 
Netcamp at Cebit 2012
Netcamp at Cebit 2012Netcamp at Cebit 2012
Netcamp at Cebit 2012
 
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
 
Seminari habilitats socials. Lleida
Seminari habilitats socials. LleidaSeminari habilitats socials. Lleida
Seminari habilitats socials. Lleida
 
Corta-Mato 07/08 EST
Corta-Mato 07/08 ESTCorta-Mato 07/08 EST
Corta-Mato 07/08 EST
 
2004 0824 Mt
2004 0824 Mt2004 0824 Mt
2004 0824 Mt
 
Jak odzyskać domenę i chronić markę w e-biznesie – Rafał Malujda
Jak odzyskać domenę i chronić markę w e-biznesie – Rafał MalujdaJak odzyskać domenę i chronić markę w e-biznesie – Rafał Malujda
Jak odzyskać domenę i chronić markę w e-biznesie – Rafał Malujda
 

Ähnlich wie Presentasi malioboro--10-des-2010

Paving the road to production
Paving the road to productionPaving the road to production
Paving the road to productionMatthew Reynolds
 
Leading High Performance Teams
Leading High Performance TeamsLeading High Performance Teams
Leading High Performance TeamsMagesh Gangadharan
 
Linking characteristics to IT industry
Linking characteristics to IT industryLinking characteristics to IT industry
Linking characteristics to IT industryAjay Jassi
 
Stldodn 2014 agile on a shoestring
Stldodn 2014   agile on a shoestringStldodn 2014   agile on a shoestring
Stldodn 2014 agile on a shoestringAngela Dugan
 
Managing Screen Printers, Part 1: Accountability
Managing Screen Printers, Part 1: AccountabilityManaging Screen Printers, Part 1: Accountability
Managing Screen Printers, Part 1: AccountabilityPrintavo
 
Agent of Change
Agent of ChangeAgent of Change
Agent of Changemfrost503
 
Hiring a Digital Asset Manager
Hiring a Digital Asset ManagerHiring a Digital Asset Manager
Hiring a Digital Asset ManagerEmily Kolvitz
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Get Your Team to Use and Love Project Management Software
Get Your Team to Use and Love Project Management SoftwareGet Your Team to Use and Love Project Management Software
Get Your Team to Use and Love Project Management SoftwareOrangescrum
 
Should I Stay or Should I Go
Should I Stay or Should I GoShould I Stay or Should I Go
Should I Stay or Should I GoTech Benders
 
When Things Go Bump in the Night
When Things Go Bump in the NightWhen Things Go Bump in the Night
When Things Go Bump in the Nightahamilton55
 
Agile Software Development - Session 1
Agile Software Development - Session 1Agile Software Development - Session 1
Agile Software Development - Session 1Dalia Ayman Ahmed
 
recapitulando: de métodos ágeis até lean startup
recapitulando: de métodos ágeis até lean startuprecapitulando: de métodos ágeis até lean startup
recapitulando: de métodos ágeis até lean startupPedro Axelrud
 
Principles of Technology Leadership
Principles of Technology LeadershipPrinciples of Technology Leadership
Principles of Technology LeadershipPhil Steitz
 
Software engineering
Software engineeringSoftware engineering
Software engineeringsweetysweety8
 
Project Management
Project ManagementProject Management
Project Managementmohammads
 
Project Management
Project ManagementProject Management
Project ManagementRami Issa
 

Ähnlich wie Presentasi malioboro--10-des-2010 (20)

Paving the road to production
Paving the road to productionPaving the road to production
Paving the road to production
 
Leading High Performance Teams
Leading High Performance TeamsLeading High Performance Teams
Leading High Performance Teams
 
Linking characteristics to IT industry
Linking characteristics to IT industryLinking characteristics to IT industry
Linking characteristics to IT industry
 
Stldodn 2014 agile on a shoestring
Stldodn 2014   agile on a shoestringStldodn 2014   agile on a shoestring
Stldodn 2014 agile on a shoestring
 
Managing Screen Printers, Part 1: Accountability
Managing Screen Printers, Part 1: AccountabilityManaging Screen Printers, Part 1: Accountability
Managing Screen Printers, Part 1: Accountability
 
Agent of Change
Agent of ChangeAgent of Change
Agent of Change
 
Hiring a Digital Asset Manager
Hiring a Digital Asset ManagerHiring a Digital Asset Manager
Hiring a Digital Asset Manager
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Get Your Team to Use and Love Project Management Software
Get Your Team to Use and Love Project Management SoftwareGet Your Team to Use and Love Project Management Software
Get Your Team to Use and Love Project Management Software
 
Working with software dev teams
Working with software dev teamsWorking with software dev teams
Working with software dev teams
 
Should I Stay or Should I Go
Should I Stay or Should I GoShould I Stay or Should I Go
Should I Stay or Should I Go
 
When Things Go Bump in the Night
When Things Go Bump in the NightWhen Things Go Bump in the Night
When Things Go Bump in the Night
 
Desktop
DesktopDesktop
Desktop
 
Agile Software Development - Session 1
Agile Software Development - Session 1Agile Software Development - Session 1
Agile Software Development - Session 1
 
QA is Broken, Fix it!
QA is Broken, Fix it!QA is Broken, Fix it!
QA is Broken, Fix it!
 
recapitulando: de métodos ágeis até lean startup
recapitulando: de métodos ágeis até lean startuprecapitulando: de métodos ágeis até lean startup
recapitulando: de métodos ágeis até lean startup
 
Principles of Technology Leadership
Principles of Technology LeadershipPrinciples of Technology Leadership
Principles of Technology Leadership
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Project Management
Project ManagementProject Management
Project Management
 
Project Management
Project ManagementProject Management
Project Management
 

Mehr von Bambang Purnomosidi D. P.

Disciplined Agile Delivery: Agile Framework untuk Membangun Software
Disciplined Agile Delivery: Agile Framework untuk Membangun SoftwareDisciplined Agile Delivery: Agile Framework untuk Membangun Software
Disciplined Agile Delivery: Agile Framework untuk Membangun SoftwareBambang Purnomosidi D. P.
 
Decentralized Application: A Software Engineering Perspective
Decentralized Application: A Software Engineering PerspectiveDecentralized Application: A Software Engineering Perspective
Decentralized Application: A Software Engineering PerspectiveBambang Purnomosidi D. P.
 
Programming Languages and Development Tools: State of the Art and (Hopefully)...
Programming Languages and Development Tools: State of the Art and (Hopefully)...Programming Languages and Development Tools: State of the Art and (Hopefully)...
Programming Languages and Development Tools: State of the Art and (Hopefully)...Bambang Purnomosidi D. P.
 
Teknologi Blockchain dan Implikasinya Terhadap Dunia Bisnis
Teknologi Blockchain dan Implikasinya Terhadap Dunia BisnisTeknologi Blockchain dan Implikasinya Terhadap Dunia Bisnis
Teknologi Blockchain dan Implikasinya Terhadap Dunia BisnisBambang Purnomosidi D. P.
 
Serialisasi Data: JSON, JSON Schema, dan BSON
Serialisasi Data: JSON, JSON Schema, dan BSONSerialisasi Data: JSON, JSON Schema, dan BSON
Serialisasi Data: JSON, JSON Schema, dan BSONBambang Purnomosidi D. P.
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsBambang Purnomosidi D. P.
 
Using ICT to Teach English: Towards Learner-centered Learning
Using ICT to Teach English: Towards Learner-centered LearningUsing ICT to Teach English: Towards Learner-centered Learning
Using ICT to Teach English: Towards Learner-centered LearningBambang Purnomosidi D. P.
 
Pengembangan si-berbasis-opensource-devtools
Pengembangan si-berbasis-opensource-devtoolsPengembangan si-berbasis-opensource-devtools
Pengembangan si-berbasis-opensource-devtoolsBambang Purnomosidi D. P.
 
Seminar Web 2.0 Security - Undip Semarang - Nov 2007
Seminar Web 2.0 Security - Undip Semarang - Nov 2007Seminar Web 2.0 Security - Undip Semarang - Nov 2007
Seminar Web 2.0 Security - Undip Semarang - Nov 2007Bambang Purnomosidi D. P.
 
Web Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan TantanganWeb Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan TantanganBambang Purnomosidi D. P.
 
Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010
Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010
Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010Bambang Purnomosidi D. P.
 

Mehr von Bambang Purnomosidi D. P. (18)

Disciplined Agile Delivery: Agile Framework untuk Membangun Software
Disciplined Agile Delivery: Agile Framework untuk Membangun SoftwareDisciplined Agile Delivery: Agile Framework untuk Membangun Software
Disciplined Agile Delivery: Agile Framework untuk Membangun Software
 
Decentralized Application: A Software Engineering Perspective
Decentralized Application: A Software Engineering PerspectiveDecentralized Application: A Software Engineering Perspective
Decentralized Application: A Software Engineering Perspective
 
Programming Decentralized Application
Programming Decentralized ApplicationProgramming Decentralized Application
Programming Decentralized Application
 
Programming Languages and Development Tools: State of the Art and (Hopefully)...
Programming Languages and Development Tools: State of the Art and (Hopefully)...Programming Languages and Development Tools: State of the Art and (Hopefully)...
Programming Languages and Development Tools: State of the Art and (Hopefully)...
 
Teknologi Blockchain dan Implikasinya Terhadap Dunia Bisnis
Teknologi Blockchain dan Implikasinya Terhadap Dunia BisnisTeknologi Blockchain dan Implikasinya Terhadap Dunia Bisnis
Teknologi Blockchain dan Implikasinya Terhadap Dunia Bisnis
 
Serialisasi Data: JSON, JSON Schema, dan BSON
Serialisasi Data: JSON, JSON Schema, dan BSONSerialisasi Data: JSON, JSON Schema, dan BSON
Serialisasi Data: JSON, JSON Schema, dan BSON
 
Pengenalan XML
Pengenalan XMLPengenalan XML
Pengenalan XML
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
 
Kepemimpinan: Apa dan Bagaimana?
Kepemimpinan: Apa dan Bagaimana?Kepemimpinan: Apa dan Bagaimana?
Kepemimpinan: Apa dan Bagaimana?
 
Using ICT to Teach English: Towards Learner-centered Learning
Using ICT to Teach English: Towards Learner-centered LearningUsing ICT to Teach English: Towards Learner-centered Learning
Using ICT to Teach English: Towards Learner-centered Learning
 
Agent-based System - Introduction
Agent-based System - IntroductionAgent-based System - Introduction
Agent-based System - Introduction
 
Agent-based System - Introduction
Agent-based System - IntroductionAgent-based System - Introduction
Agent-based System - Introduction
 
Intro to Agent-based System
Intro to Agent-based SystemIntro to Agent-based System
Intro to Agent-based System
 
Pengembangan si-berbasis-opensource-devtools
Pengembangan si-berbasis-opensource-devtoolsPengembangan si-berbasis-opensource-devtools
Pengembangan si-berbasis-opensource-devtools
 
Seminar Web 2.0 Security - Undip Semarang - Nov 2007
Seminar Web 2.0 Security - Undip Semarang - Nov 2007Seminar Web 2.0 Security - Undip Semarang - Nov 2007
Seminar Web 2.0 Security - Undip Semarang - Nov 2007
 
Web Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan TantanganWeb Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
 
Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010
Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010
Web Engineering dalam Konteks Web Science - Keynote Speech SRITI 2010
 
WSTRG Meeting 1
WSTRG Meeting 1WSTRG Meeting 1
WSTRG Meeting 1
 

Presentasi malioboro--10-des-2010

  • 1. Managing a Software Development Team: Some Experiences Bambang Purnomosidi D. P. twitter: @bpdp Facebook: /bambangpdp More: http://bpdp.name
  • 2. Managing a software development team is never an easy task. It consists of 2 sides: technical and non-technical
  • 3. Decide the tools which will be used by the team Leader should have enough technical capabilities so that he can decide the right tools for the job. Once you don’t decide the tools, your team will be confuse as they have more than one preferences
  • 4. Use a specific software development methodology, probably with some minor adaption A software development methodology consists of process and modelling. It guides the team through the process and enable the team to model the software which is built by the team to solve client problems. It is important to use the specific methodology so that everyone in the team knows what and how to do the development. If you don’t decide any methodology, then your team won’t have any guides. Remember, you have to use a specific methodology but don’t be too rigid. Your team may consists of people from many backgounds with many level of capabilities
  • 5. Make some conventions regarding technical issues Again, this is important to keep the team away from the state of flux and let the guys in the team communicate with the same language. You surely don’t want your team to have more than one variable / property naming system, right? What if some programmers use “this_is_a_variable”, while the others use “thisIsAVariable”?
  • 6. Know the client(s) and their problems which are tried to be solved Deal only with 1 client representation. You must understand this domain problem good enough so that you can define the scope of the problems and deal with the problems.
  • 7. Decide the scope of the problems and insists on this. Clients basically don’t understand the requirements, so your duty as a leader is to define the scope of the problems which are tried to be solved by the software. You must cooperate nicely with the client and have the information understood by all team members. From programmers’ point of view, the uncertainty caused by scope uncertainty will lead to frustration. Well, I do understand that agile methodologies encourage changes, but who want to deal with changes everytime? What I am trying to say is you as a leader should understand that changes are possible but this should be done within the scope
  • 8. Have a good interpersonal relationship and don’t be a jerk I know that this software development task is not easy. Clients always ask the progress and the team is in a stress condition. It really helps to just stay with the team and always willing to help them whatever you can than just act like a jerk who walks here and there and yelling. Trust me, the team will respect you more if you are always willing to help them.
  • 9. Never let the team in a state of flux Uncertainty comes everytime. Whenever the team has anything uncertain, your decision is needed to keep them stay away from confusion. You do understand that you have to have a good grasp in technical side and problem domain to make a good decision, don’t you?
  • 10. Let the team concentrate on technical matters Ok, pay attention more to non technical matters so that the team can concentrate on technical side. Don’t let them do any clerical things since programmers (usually) hate to do administrative things. It’s good to have a dedicated person to deal with all administrative things.
  • 11. Let the team member knows each other about progress and difficulties Opennes is important. By let them know each other’s progress, you keep them in a fair situation. Low salary probably can be understood, but unfair treatment can not be tolerated.
  • 12. Inform the team about your progress too So you think you can hide your progress? The team will surely want to know that you do your jobs too. If you hide your progress, they will lose respect and trust in you.
  • 13. Communicate. Communicate. Communicate I can not stress more. This is really important for the team to have them communicate each other. Your tasks will be to communicate with them and act as a liaison between the team and the client. Oh and don’t forget, have a good sense of humour.
  • 14. Always keep backup of everything You don’t need to backup everything if you are sure that you always live in an ideal situation. You should keep backup in more than one place. Compress them and have them uploaded anywhere on the Internet (4shared.com, rapidshare.com, /etc) as long as you have full control of your files.
  • 15. Use Version Control System Version control system is a software which can be used to track the software source code versioning. You may use git, mercurial, subversion, /etc for this purpose.
  • 16. Use web based bug tracking system, project management software, and/or wiki This will keep any information handy and on track. All any other members can also see the project’s progress. It will keep each team members informed and any unfair situation can be detected.
  • 17. … and that the end of the story. Thank you for your attention.