Showing posts with label software development. Show all posts
Showing posts with label software development. Show all posts

Friday, March 30, 2012

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) Review

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
Average Reviews:

(More customer reviews)
If you have managed some software projects or have worked on some non-trivial software systems, undoubtedly you have faced many difficulties and challenges that you thought were unique to your circumstance. But after reading this book, you will realize that many of the things you experienced, and thought were unique problems, are NOT unique to you but are common systemic problems of developing non-trivial software systems. These problems appear repeatedly and even predictably, in project after project, in company after company, regardless of year, whether it's 1967 or 2007.
You will realize that long before maybe you were even born, other people working at places like IBM had already experienced those problems and quandries. And found working solutions to them which are as valid today as they were 30 years ago.
The suggestions in this book will help you think better and better manage yourself, and be more productive and less wasteful with your time and energy. In short, you will do more with less.
Some of Brooks insights and generalizations are:
The Mythical Man-Month:
Assigning more programmers to a project running behind schedule, may make it even more late.
The Second-System Effect:
The second system an engineer designs is the most bloated system she will EVER design.
Conceptual Integrity:
To retain conceptual integrity and thereby user-friendliness, a system must have a single architect (or a small system architecture team), completely separate from the implementation team.
The Manual:
The chief architect should produce detailed written specifications for the system in the form of the manual, which leaves no ambiguities about any part of the system and completely specifies the external spcifications of the system i.e. what the user sees.
Pilot Plant:
When designing a new kind of system, a team should factor in the fact that they will have to throw away the first system that is built since this first system will teach them how to build the system. The system will then be completely redesigned using the newly acquired insights during building of the first system. This second system will be smarter and should be the one delivered to the customer.
Formal Documents:
Every project manager must create a roadmap in the form of formal documents which specifies milestones precisely and things like who is going to do what and when and at what cost.
Communication:
In order to avoid disaster, all the teams working on a project, such as the architecture and implementation teams, should stay in contact with each other in as many ways as possible and not guess or assume anything about the other. Ask whenever there's a doubt. NEVER assume anything.
Code Freeze and System Versioning:
No customer ever fully knows what she wants from the system she wants you to build. As the system begins to come to life, and the customer interacts with it, he understands more and more what he really wants from the system and consequently asks for changes. These changes should of course be accomodated but only upto a certain date, after which the code is frozen. All requests for more changes will have to wait until the NEXT version of the system. If you keep making changes to the system endlessly, it may NEVER get finished.
Specialized Tools:
Every team should have a designated tool maker who makes tools for the entire team, instead of all individuals developing and using their private tools that no one else understands.
No silver bullet:
There is no single strategy, technique or trick that will exponentially raise the productivity of programmers.

Click Here to see more reviews about: The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)

Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks\' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks\' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today\'s thoughts on the 1986 assertion, "There will be no silver bullet within ten years."

Buy NowGet 32% OFF

Click here for more information about The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)

Read More...

Monday, September 26, 2011

Microsoft Mobile Development Handbook Review

Microsoft Mobile Development Handbook
Average Reviews:

(More customer reviews)
Trust me, I've read them all going back to 2001 and I've written two of them myself. This is as broad and deep as it gets when it comes to managed code development on Windows Mobile. This should come as no surprise as it was written by the Windows Mobile MVP "Dream Team" of Andy Wigley, Peter Foot and Daniel "The Moth" Moth (now at Microsoft). Not only is this one of the first books to cover the .NET Compact Framework 2.0 and SQL Server 2005 Compact Edition, it even gives the reader coverage of Visual Studio 2008, and .NET Compact Framework 3.5 technologies such as WCF, LINQ, Compression, and "on-device" Unit Tests.
This book provides superb coverage of Security Programming where it shows the reader how to encrypt data with AES and RSA plus the signing of exe's and dll's. If you're interesting developing games or UI's that can't be created with the controls found in the Visual Studio Toolbox, the two chapters on Graphics and Direct3D Mobile are unparalleled. As someone who has a personal interest in the sucess of games on Windows Mobile using the .NET Compact Framework as a consistent game development runtime, this book serves as the launch pad for such endeavors. Whether you're an ISV looking to build the next killer app, a corporate developer tasked with mobilizing your line of business applications, a consultant that needs to aquire mobile development skills, or a game development house looking to take advantage of the explosive growth of the Windows Mobile platform, I highly recommend you get this book!
-Rob

Click Here to see more reviews about: Microsoft Mobile Development Handbook


Get practical information for developing applications with the Microsoft .NET Compact Framework 2.0—straight from mobile-development experts. This definitive guide delivers the proven techniques, real-world insights, and extensive code samples you need to bring information access to any Windows-based mobile device.

Discover how to:

Design a user interface that is optimized for smart devices
Add functionality by using Windows® Mobile APIs
Organize and persist data stored on a device
Establish network connections and respond to changes in network state
Synchronize mobile devices with data stored on backend servers
Implement authentication, symmetric encryption, and asymmetric encryption algorithms
Optimize application performance for resource-constrained devices
Interoperate with native code by using PInvoke and COM interop
PLUS—Get an introduction to .NET Compact Framework 3.5 and Microsoft Visual Studio® code name "Orcas”

PLUS—Get Microsoft Visual C#® and Visual Basic® code samples on the Web


Buy NowGet 48% OFF

Click here for more information about Microsoft Mobile Development Handbook

Read More...