29 December, 2005

Software Development

I recently read 2 articles with interesting introduction (skip those advertising, it's quite true).

Do you find yourself tired after sitting in meetings all day? Do you have feelings of uselessness after weeks of bug fixing? Do you often find yourself feeling lonely, as if you've lost touch with your team and the status of your project? Are you frustrated by frequent fire drills and the sense that your project is in utter chaos? Are you hopelessly lost in a sea of changing policies and procedures with no end in sight?
If you answered yes to any of these questions, you may be clinically depressed and require extensive psychological counseling. Or maybe, just maybe, you are using the wrong software life-cycle tools. Team Foundation Server (TFS) is a software life-cycle tool designed to improve software team collaboration and increase individual productivity.
Team Foundation Server: At Work

Face it. Producing high-quality software on-time and on-budget is still a very difficult thing to do. Why is that, anyway? Let's start by admitting that software development isn't just about the software developers. In fact, there are typically many other roles involved in software projects, and the way they work together will determine the success of the project. Project teams typically consist of Project Managers, Business Analysts, Application Architects, Developers, and Testers. Unfortunately, in far too many cases, the people playing these roles find it challenging to coordinate their efforts, because they do not have tools that help them collaborate with each other. Wouldn't it be great if we had tools that not only allowed each team member to be more productive, accurate, and predictable in their work, but also to share information and collaborate more readily within their established software development lifecycle?
Microsoft Visual Studio Team System is a very significant release since, for the first time, Microsoft is targeting the entire software development lifecycle. Team System provides additional features to support Architects, Developers, Testers, and Project Managers.
Lap Around Microsoft Visual Studio Team System 2005

Visual Studio Team System


It has been a lot of confusion between VS 2005 Team System, Team Suite & Team Foundation Server (TFS). Let's make it clear.

Team System
= Team Suite (Architect+Developer+Test) + TFS


http://msdn.microsoft.com/vstudio/teamsystem/reference/default.aspx
http://lab.msdn.microsoft.com/vs2005/articles/default.aspx
http://teamsystemrocks.com

.NET 2.0 vs IBM WebSphere 6.0

Are you working on .NET or WebSphere? Have a look at this report and you'll make a difference.

"The goal of this paper is to present a comparison of Web application servers: the Microsoft .NET Framework 2.0 running on Windows Server 2003, and the latest release of IBM WebSphere Application Server, version 6.0.2.3. According to a recent IDC study from October of 2005, roughly 78% of mission critical application projects under development worldwide use an application server. In this study, IDC also found that the combination of .NET and Windows Server 2003 is now the most commonly used application server for mission critical applications, exceeding IBM WebSphere usage with 37% usage for .NET/Windows Server vs. 12% usage for IBM WebSphere."

http://www.theserverside.net/articles/showarticle.tss?id=NET2BMNovember
http://www.theserverside.net/articles/showarticle.tss?id=NET2BMNov64Bit
http://msdn.microsoft.com/vstudio/java/compare

Web 2.0 Meme Map


Read from Andy's 31337 geek blog. Find out what's the next generation of web. Download the Web 2.0 Meme Map here.

Paul Graham has an article on it too.

Paul Graham - How to Start a Startup


A new article of P.G.

"You need three things to create a successful startup: to start with good people, to make something customers actually want, and to spend as little money as possible. Most startups that fail do it because they fail at one of these. A startup that does all three will probably succeed."

http://www.paulgraham.com/start.html

On the left hand side, it's Paul's new book.

MIT Software Engineering for Web Applications

6.171 Software Engineering for Web Applications, Fall 2003
Description
This is a course for students who already have some programming and software engineering experience, e.g., at MIT the prerequisite is 6.170, Laboratory in Software Engineering. In 6.171 we try to give students some experience in dealing with those challenges that are unique to Internet applications:
• Concurrency — 1000 people might be using the system at the same time
• Unpredictable load — 100,000 users might show up tomorrow even if only 100 are using the system today
• Security risks — an Internet application is forced to expose itself to attacks
• Opportunity for wide-area distributed computing, i.e., using "Web services" provided by other machines on the Internet
• Creating a reliable and stateful user experience on top of unreliable connections and stateless protocols
• Extreme requirements and absurd development schedules
• Requirements that change mid-way through a project, sometimes because of experience gained from testing with users
• User demands for a multi-modal interface: Web, mobile (WAP), and voice

The bottom line: we want one someone who has finished this course to be able to build amazon.com, eBay, or photo.net by him or herself.

Gartner's 25 New IS Competencies

Gartner Executive Programs (Gartner EXP) has developed a list of twenty-five basic IS competencies, including six technical, nine business-based, and ten behavioral.