Geeks With Blogs
Catherine Russell Architect, President of "Women In Information Technology" Group

A lot of large scale software projects are unsuccessful.
There is a poor communication between software architects, their managers, and other development team members. Often there is a poor architecture, projects become too complex. This creates a lot of unreadable "spaghetti code".
These projects are very difficult to test and support. Often architects and development team are disconnected.

What has to be done to succeed in large scaleĀ  software project? Great software architecture is critical to the success of software development projects. We should not reinvent the wheel. We should use design patterns, reuse software frameworks and components. Architects should understand the traps and pitfalls of architecture development. Architech should be hands on in a project.
Managers and architects should encourages teamwork. It should be a coordination of priorities across teams. Everyone should understand their role and what they have to do to get things accomplished.
TEAM should maintain daily communication through videoconferencing, meetings, phone calls and e-mails.

Large-Scale Software Architecture: A Practical Guide using UML
http://www.amazon.com/Large-Scale-Software-Architecture-Practical-Guide/dp/0470848499

Posted on Saturday, December 12, 2009 9:22 PM Blogs | Back to top


Comments on this post: What has to be done to succeed in large scale software project?

# re: What has to be done to succeed in large scale software project?
Requesting Gravatar...
It's not always the fault of the software architects when projects go wrong. Clients often change their minds (or financial situations). Complexity can be added just by having specific tools forced on the project when others would have worked better (or worse, when other tools have been working better). etc. Sometimes large projects grow out of successful small projects one new feature at a time...

Still, I'm curious. How many is "a lot" when you're talking about unsuccessful large projects? 5%, 50%, 95%? What is unsuccessful? Projects which get completed but over budget and/or over time? Projects that get abandoned part way thought? Projects which only partly meet their goals on completion?

I notice that you don't mention test driven development nor extreme programming methodologies in your proposed solutions. If your architect is to be hands on they should be leading the charge with these kinds of things. Writing tests, hosting test club events, pair programming with dev members to share knowledge (both ways), encouraging pair programming as a normal development strategy, reviewing code, hosting review meetings etc. These are the things an architect can do to ensure that everyone feels supported and to help ensure that the project goes well.

Regarding meetings, I agree that daily communication is essential. I quite like the idea of stand-up daily meetings where everyone gives a 2-3 minute status report of where they are up to. The meeting shouldn't be longer than 3 minutes * number of team members, so it should be possible to do it all without presentations materials or chairs. In my experience meetings can drag on indefinitely if there isn't a clear plan for how they should be handled.
Left by Jacinta on Jan 04, 2010 5:39 AM

Your comment:
 (will show your gravatar)


Copyright © CatherineRussell | Powered by: GeeksWithBlogs.net