Software Team Work


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • In Slide Show mode, click the arrow to enter the PowerPoint Getting Started Center.
  • Software Team Work

    1. 1. Software Team Work By: Hamed Saeedi
    2. 2. Hello World! Hamed Saeedi • • • • • • Bachelor of Computer Science Senior web & SharePoint developer Project Manager Focused on Microsoft products & technologies Worked with many small & medium enterprises Currently work as freelance web developer I blog about project management, software development concepts and SharePoint programming
    3. 3. Work together as Software Team • Take Responsibility • Share Knowledge • Respect Other People's Time • Get Feedback • Standard Coding Style • Code Review • Team Achievement
    4. 4. Take Responsibility • “Who, Me?” People are like: It’s not MY code, it’s YOUR code Why don’t YOU fix that? I can’t work on SOMEONE ELSE project • The result of “I blame everyone but myself”: They may not collaborate with you anymore They may get revenge (aka blame you for something) They may spit in your tea when you are not looking • The solution: Forget about my code, your code, It’s our code. It’s our team, Take responsibility as team member.
    5. 5. Share Knowledge Are you Gollum? Don’t you remember it didn’t work out for him? Knowledge in software team: It’s not about just syntax, it’s about code patterns, unit testing, profiling, documentation, manage projects, etc. Benefits: Less rework More reliable code Accelerate repetitive works How? Wiki, blog, meetings like this
    6. 6. Respect Other People's Time Working together doesn’t mean take other people’s time to solve your problem It takes about 15 minutes for programmers to focus again after any interrupt Joel Spolsky ,The Joel Test Remember: Someone* is waiting for your teammate output, so if you take other people’s time, it’s team loss *project manager, product owner, client or any kind of boss The Solution: Cut direct connection (or just any connection!) between software team and clients Use email when it’s not emergency Limit Q&A time: 30 minutes after launch time
    7. 7. Get Feedback Is it good or bad to get feedback from our clients? Remember: Getting feedback means: read, analyze, organize, planning for every request from client and it’s not all relevant, some times even inconsistent But also remember Without proper feedback you can’t decide on software lifetime and feature set for next release, etc. and then: no sale, no revenue, no profit, no nothing! The Solution: Depends on your software scale You can use social feedback tools
    8. 8. Standard Coding Style Different people in software team means different ways to code stuff means we need coding style Why it’s important? More code readability Minimize adaptation time for new members Helps in branding How? Teach team members and ask them to: Follow naming conventions Use code style tools like ReSharper Write base class libraries and document them learn code patterns and how to use them Think about sharing thoughts on coding style
    9. 9. Code Review Code Review: Send your code to another programmer (above your level) and ask review Example: IBM Software with 500,000 lines of code after 11 level of code review: Delivered early Had only 1% of the errors that would expected Code Complete, Steve McConnell Benefits: Easy way for standard coding style Easy way to learn programming stuff Easy way to enforce readable code No more programmer-depended code It’s fun!
    10. 10. Team Achievement Remember: • It’s software not an airplane • Standards must be achievable • If you work everyday but no progress in project, you are making useless product • These slides are just introduction to team work, there is more. For better team experience you have to read more, learn more, practice more and share more.
    11. 11. One more thing …
    12. 12. Be part of the solution, not part of the problem I’m Mr. wolf, I solve problems Be part of the solution, not part of the problem
    13. 13. Thank you! Find out more in my site