Presentation is loading. Please wait.

Presentation is loading. Please wait.

Yeah but.. What do I do? Software Leadership Dan Fleck 2007.

Similar presentations


Presentation on theme: "Yeah but.. What do I do? Software Leadership Dan Fleck 2007."— Presentation transcript:

1 Yeah but.. What do I do? Software Leadership Dan Fleck 2007

2 The Question Often the question comes up after a lesson in Software Engineering, “I know all these practices, and techniques, but what do I REALLY do?”

3 Who you are First, we need to know who you are Project Manager (PM) Technical Lead Developers TestersQACM

4 Responsibilities Tech Lead  Deliver the software on time  Managing the process  Guiding the solution architecture  Scheduling  Development tasks  Testing tasks  Deployment  Managing requirements and change requests  Providing status information to your boss

5 Deliver Software on Time No excuses -- it’s not on time, it’s your fault Key Strategies  Constantly be aware of the schedule and update it if needed  Communicate updates to the team and the customer  Don’t make up the schedule -- Ask for developer’s estimates then review them for reality

6 Manage the Process You set the process for the team.  Establish a software CM repository if one doesn’t exist  Establish a build process if one doesn’t exist (time spent automating repetitive tasks pays off in the long run!)  Think about all the things from this class, which do you need to do and to what extent? Different developers may need to apply process in different ways (junior/senior)

7 Managing Developers Know what they are doing, but don’t micro-manage Help when problems occur  Let people figure things out  Don’t let them struggle and jeopardize the schedule They estimate tasks - you then hold them to those estimates Ensure they are working on the customer’s priorities Make them unit test and write documentation required of them Recognize differences in style -- if you don’t know, ASK THEM!

8 Managing Testers Same as developers, but additionally… During a testing cycle make sure they are the priority --- if they need help from a developer, they should get it Make sure everyone understands testers job is to find bugs -- we’re all on the same team If the development schedule slips, do NOT reduce the testing time to compensate

9 Managing People We’re not parents -- “because I said so” is not acceptable All of us are smarter than any of us Have fun -- buy food!  If people are working late into the night a couple times, have the company buy dinner for them. YOU make it happen!  At the end of a successful release cycle, have the company take the team to lunch  Take a 2 hour bowling lunch every 4-6 months  Other ideas???? Take the time needed to work with them -- you always have time for your people!

10 Manage Requirements and Change Requests Always do what the customer wants or explain why they don’t really want it. Say “yes” to the customer! Don’t say “yes” to the customer and pay for that by killing your team  add time to the schedule  Remove other features If your boss does this, require them to provide the resources you need or go back and explain their mistake to the customer Use an automated bug tracking/feature request system (Bugzilla, Gnats, PVCS Tracker, many others…)

11 Provide Status Reports Provide realistic information to your boss  What are the current risks  How is the team feeling  Are we on schedule Become a great demo-er of your system Your job is technical and political - you must always be able to sell your product

12 Other tasks Be an expert on the system  Test it  Be able to demo it completely  Clearly understand all features Setup a periodic meeting for the team to discuss how we can make this project better Don’t be afraid to try new things If you believe in something, don’t be afraid to force it on your team for a short amount of time (eat your vegetables!)

13 Other tasks Change slowly (not all at once) Provide feedback to the team that you hear  Customer loves feature X  Customer doesn’t seem so happy today about us removing feature Y Give credit wherever you can  Glad you liked feature X, I’ll let Robin know because she developed it. Be honest -- we screwed up… how do we fix it?

14 Summary Monday  Update the schedule  Determine what people are working on this week Tuesday  Think about risks  Look through change requests to see if anything is now higher/lower than it should be Wednesday  Build the latest system  Spend some time testing it/using it

15 Summary Thursday  See if developers seem to be on schedule  Anyone needing help? Friday  Do all the tasks you were supposed to do Mon-Thurs, but really you were to busy to do any of them! Saturday  Drink Sunday  Sleep

16 Summary Everything on the team is your responsibility. Success or failure is all up to you!

17 Afterthoughts Wait, wait, wait… I’m not going to manage yet… What should I do as a software engineer?

18 Software Engineers If they don’t ask, tell the boss when you will get a task done If they don’t ask, tell the boss what you are working on this week If they don’t ask, tell the boss when you’re having problems and need help If they don’t help --- get a new boss!

19 Getting the promotion… Don’t say  “I’m a really good leader, they should promote me into that role where I’ll shine!” If you’re not “shining” in a smaller role, there is no incentive to promote you to a larger role!!! Shining is : getting work done on schedule, working well with others, being helpful to others, taking on more tasks, getting to work on time (sober), not complaining!


Download ppt "Yeah but.. What do I do? Software Leadership Dan Fleck 2007."

Similar presentations


Ads by Google