[EBOOK] Ship it! A Practical Guide to Successful Software Projects author Jared Richardson
Baghdad: City of Peace, City of Blood gAsinine unambitious narrow incomplete Some ofroundbreaking advice contained herein Sort your work by priority and do the highest priority ones advice contained herein Sort your work by priority and do the highest priority ones Do work by priority and do the highest priority ones first Do high level class design before you write object oriented code Adhere to standard object oriented encapsulation Talk to other developers about how your code needs to fit into theirs You should test your code changes before you Imagine That! go live Have you about this new source control thingHere s a direct uoteDon t have much money in the budget for training Then point your team at the Internet and turn them loose These days there s information about anything on the Internet than anywhere else and most of it is free Of course you can t believe everything you nd there take what you nd with arain of salt So don t limit your team s access to the Internet Sure they might surf some non work related sites but the Elena's Conquest good stuff they nd will than make up for itI m not just being a jerk right Doesn t it feel a little weird to be advised to look things up on the Internet Who needs to be told this What do they mean these days The Internet has been full of free advice on programming LITERALLY since it beganIt s hard to believe that a developer at a high enough level to apply this kind of advice would even need it I know the book s from 2005 but come on This is written for an audience who somehow knows how to program but knows nothing about completing projects with than one step involving than one person who now somehow landed a development job at a company full of people eually as clueless and with no desire to collaborate That has literally never happenedI m setting aside the fact that software projects of the book s subtitle often involve things like maintenance and administration which involves tasks that fall almost completely outside of the rubrics suggested in the bookSorry I just don tet it I like Am I doing this right parts the most They help us to check some uestions if we re on the right path The cost of adding a feature isn t just the time it takes to code it The cost also includes the addition of an obstacle to future expansion the trick is to pick the features that don t fight each other Tools and Infrastructure1 Develop in a SandboxEvery dev has their own sandbox to play in without disturbing other devs It applies to all resources source code database instances web services on which you depand and so onDev PCs Repository Build Machine Released Product2 Manage AssetsSource code management system or version control With a properly set up SCM system you can Rolled back Handle conflicts Track multiple versions of your software Record which files are changed Retrieve a snapshot3 Script your buildAt a minimum use a batch file or shell script to perform the buildIf you re using your manual build system properly you will be able to build your entire product With one command From your Source Code Management system SCM On any team member s workstation With no external environmental reuirements such as specific network drives4 Build automaticallyContinuous Integration You need to have tests in the system After all no one cares if it compiles if it doesn t runYou also need to turn on the notifications it make attention to the system when it is broken5 Track IssuesYou need to know the following What version of the product has the issue Which customer encountered the issue How severe is it Was the problem reproduced in house and by whom so they can help you if you re unable to reproduce the problem What was the customer s environment operating system database In what version of your product did the issue first occur In what version of your product was it fixed Who fixed it Who verified the fix6 Track FeaturesKeep a unified list of your feature reuests Prioritize them and keep a basic estimate of the time involved to investigate or add the feature7 Use a testing harnessA testing harness is the tool or software toolkit you use to create and run your tests If your tests aren t automated then you can t run them with a scriptUnless you want everyone on your team solving the same problems over and over constantly reinventing the wheel you should have a common framework everyone can use8 On Choosing ToolsUse the best tool for the job Use open formats to integrate tools9 When not to ExperimentOnly experience can tell you about a Sister of My Heart given technology s shortcomings Pragmatic project techniues The List must adhere to a number of rulesPublicly availablePrioritizedOn a time lineLivingMeasurableTargeted The tech lead a person to be the interface between the development team and management The responsibilities of the Teach LeadSet direction for team membersManage the project s feature listAssign priorities to each featureInsulate the team from external distractions Daily meetings meet freuently with your entire team and let everyone share what they are doing How Ship It is a collection of tips that show the tools and techniues a successful project team has to use and how to use them well You'llet uick easy to follow advice on modern practices which to use and when they should be applied This book avoids current fashion trends and marketing hype; instead readers find page after page of solid advice all tried and tested in the real worldAimed at beginning to intermediate programmers Ship It will show youWhich tools help and which don't How to keep F the book is Choose your habits Do not follow something
just because it is popular or well known or is practised by others around youThe author says that there are three because it is popular or well known or is practised by others around youThe author says that there are three that one needs to pay attention to1 Techniues How the project is developed Ie Daily meetings Code Reviews Maintaining a To Do List etc2 Infrastructure Tools used to develop the project Ie Version Control Build Scripts Running Tests Continuous Build etc3 Process The process followed in developing the applications Propose Objects Propose Interfaces Connection Interfaces Add Functions Refactor Refine RepeatTools and InfrastructureThe author highlights the need for a proper tool for Source Control Management The author also issues a warning that the
*right tool should *Tool Should Chosen A Tool Should Not Be tool should be chosen A tool should not be because it is backed by a big ticket organization Vendors would push for supertools but one needs to exercise discretion when choosing between the toolsGood Development Practices1 Develop in a Sandbox ie changes of one developer should not impact the other until the changes are ready2 Each developer should have a copy of everything they need for development this includes web server application server database server most importantly source code and anything else3 O This book contains short uide and many extremely practical advises I do think that some of them should be substituted with newer list of CI systems and etc BUT advises themselves not outdated at all I highly recommend to read this book for people who has legacy code to work with or projects that are in the stale state Ship ItBy Jared Richardson and William Gwaltney JrCopyright 2007Reviewed January 2008 by Anthony DeLucaI originally perceived Ship It to be different than it turned out I expected the book to be eared towards how to ship complex software suites that contained multiple products Perhaps it is because that was the information I was looking for at the time It turns out Ship It is a very basic book that Rescuing Gus gives a broad overview of modernrass roots based software development practices I describe the practices as Class of 92: Out of Our League grass roots practices as many of them were born from developer level open source collaborative efforts rather than from a large for profit organization seeking to make a profit with the content of the solutions as a mere means to this endSurprisingly my organization s teams practices many of the items in this book The bookives an excellent overview of each item and includes references to further information The book is broken down into tools and infrastructure pragmatic project techniues a single chapter on tracer bullet development and a Portrait of a Starter: An Unhidden Story great wrap up chapter about common problems and how to fix them In the end the appendix wraps the entire book into a very high level summary perfect as a reference with pointers to other places too to How the West Was Lost: Fifty Years of Economic Folly--and the Stark Choices Ahead get information or supporting tools Tools and Infrastructure touches on the many areas that developers talk about but only some practice Some items in this chapter would seem that no brainer common sense to modern developers yet a huge wake up call to developers who may not be as in touch with the industry The most compelling items in this section in my opinion are scripting builds and setting up an automated build The end of the section talks about tools and when NOT to experiment Pragmatic Programming Techniues talks about no brainer concepts that anyone who is in the agile world would certainly be aware The concepts in this section are light weight techniues that can be implemented with free or even no tools at all other than a white board and a desk calendar for each team member so they can know when they need to be in a meeting brief meeting to the point I feel that a large organization with multiple teams will need than this section offers but the information here is still an excellent baseline and areat foundation from which to buildThe Tracer Bullet Development section I found to be very enlightening since I had not known much about this in the past other than the name of the concept Tracer Bullet Development is the concept of building the entire system as templates of integrated pieces making that work then filling in the details of each piece of the system It is important as the pieces are build that the total system integration never breakFinally the last section answers the burning uestions most people will have after reading the book How to I et over this roadblock How do I handle a situation where people are not on board etcIn summary I recommend this book to be read cover to cover by any novice developer or any developer who looks at the table of contents and fins many of the topics foreign to them For the rest of the folks skimming this book would be a reat review and having it as a reference on your shelf could prove to be useful especially the last section and the appendi. D Ship It begins by introducing the common technical infrastructure that every project needs to et the job done Readers can choose from a variety of recommended technologies according to their skills and budgets The next sections outline the necessary steps to et software out the door reliably using well accepted easy to adopt best of breed practices that really workFinally and most importantly Ship It presents common problems that teams face then offers real world advice on how to solve th. .
Jared Richardson ✓ 2 Free read.
O et startedBe sure everyone knows the format which uestions You Want AnsweredEveryone Must Answer The Uestions There Are No want answeredEveryone must answer the uestions There are no and no exceptionsAt first be lenient on the time restriction A lot of new information is exchanged in the beginning so you must allow communication to flow freelyHold your meetings at the same time and in the same place every day Make daily meetings a habit not a chore to keep track ofPost topics that are discussed during daily meetings on a web page or plogPick a person to start the meeting and then move clockwise through the roup Our daily meetings last too long What do we do Draw team members away from the details of
the fix and try to just et the summary For example instead of presenting a lowfix and try to just et the For example instead of presenting a low detailed analysis of the problem the debugging cycle and the final solytion just say We had an issue with the cache not etting updating with the altered data It is now fixed and checked inYou can also ask team members to write down what they intend to share It will help them organize their thoughts before the meeting thus avoiding the rambling report that lasts for five minutesAnother potential problem is having too many people in the roup In this scenario find a way to split the daily meetings into smaller roups when possible Put team members working in the same areas into the same meetings Be sure to have at least one or two people overlap so that relevant information can be passed along Code reviews iif a week oes by without a code review you ve allowed a lot of time for serious problems to creep into your code Small amount of code reviewedOne or two reviewers Firstly 1 senior 1 junior Don t need senior after 1 monthHappen freuentlyDon t publish code without a review Code change notificationsEmail and publish notificationsList the reviewer s nameList purpose of the code change or additionInclude the diff or file itself size permitting Burn rate a term that describes how much money it costs to operate the company including salaries rent electricity benefits Assume that each dev costs 100 an hour That means if you have 10 people on your team the ballpark burn rate is 1000 an hour 8000 a day and 40000 a week The next time you have a meeting that starts 10 minutes late or everyone hears about Fred s vacation for thirty minutes calculate the cost Rememer that this example ignores the cost of lost opportunities during the wasted time Bus number is the number of developers you d have to lose to disable your project key peopleTracer Bullet Development TBD automatically raises your bus number When team members from adjacent layers work together to define their shared interfaces they are sharing knowledge about each layer s operations How to et started with TBDDefine your system objectsDefine the interfaces between themWrite the interface stubsMake the stubs talk with each otherFill in the stubs with functional code Practical handbook that help team to move from dark side to light and become a jedi Most important thing is sharing authors expirience that based on a work in different companies with different sizes After you have read this book you will understand not only the weak points of your development organization process but can change situation in the right direction Though some pieces of advice in this book do look obvious in 2019 you ll most likely find a couple of ood and simple ideas that can make you focused and productive I found The List particularly useful for my environmentA very ood help for newly converted teamtech leads Even teams working for the most successful tech iants and enjoying using state of the art infrastructure can benefit from adopting some of the practices presented in this book My team definitely can It is a ood book but very old and most of the suggestions have already become de facto standard in the industry Thus 4 stars Ship It A Practical Guide to Successful Software Projects by Jared Richardson and William Gwaltney Jr is a bit of mixed bag There is ood stuff in there but the book tries to be too much and as a conseuence it is at times too sketchy and incomplete In addition the authors prescribe techiues that are not always appropr I saw Jared Richardson speak He s a reat speaker but he seemed to indicate that scrum wasn t really such a solid winner in the agile methodology space when the book was written This is apparent as he seems to take some ideas from scrum when I would personally prefer to just do scrumHe does a ood job of tying together scrum XP agile and all around ood practices Ship ItA collection of lessons learned by various developers in the trenches The book starts off with a uote of Aristotle We are what we repeatedly do Excellence then is not an act but a habit The book strengthens this argument by stating Extraordinary products are merely side effects of ood habits So the first tip Project moving Approaches to scheduling that work How to build developers as well as product What's normal on a project and what's not How to manage managers end users and sponsors Danger signs and how to fix them Few of the ideas presented here are controversial or extreme; most experienced programmers will agree that this stuff works Yet 50 to 70 percent of all project teams in the US aren't able to use even these simple well accepted practices effectively This book will help you et starte.