Large Scale Software Development

Not for 'how-to' coding questions but PHP theory instead, this forum is here for those of us who wish to learn about design aspects of programming with PHP.

Moderator: General Moderators

Post Reply
User avatar
Buddha443556
Forum Regular
Posts: 873
Joined: Fri Mar 19, 2004 1:51 pm

Large Scale Software Development

Post by Buddha443556 »

The term 'large scale' seems to mean different thing to different people. There are many ways to measure it. How do you measure it? What is a large-scale PHP project?

As a solo-developer, I have nothing to do with large-scale so I'm eager to here from those that do.
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

Who can say? I'd consider what I do at work "large-scale" based on the size of the intended audience (UK schools).

If I worked on a project that was large in size (source code) but only used by a single small business I wouldn't refer to it as large-scale, so from that I'll presume my idea of large-scale has more to do with how many people will be using it :)
User avatar
Maugrim_The_Reaper
DevNet Master
Posts: 2704
Joined: Tue Nov 02, 2004 5:43 am
Location: Ireland

Post by Maugrim_The_Reaper »

Conversely I'd consider large-scale to apply to the range of functions required in an application. The more it needs to do, the larger it is. Roughly it'd be equivalent to lines of unique code - ignoring repetition and libraries borrowed from other sources. A PHP application such as my own QS project (OSS) I'd deem mid-range. It uses not a huge amount of code, but it's definitely aimed at a few hundred users and designed for frequent use.

On the other hand its also applied in terms of usage. Even a small application can be termed "large scale" if ultimately seeing millions of page hits and requiring a lot of hardware support. Is Flickr a huge application in terms of LOC?
alvinphp
Forum Contributor
Posts: 380
Joined: Wed Sep 21, 2005 11:47 am

Post by alvinphp »

I consider a project large when you use a full development lifecycle and have a QA group, Security group, Hardware/Engineering group, Training group, Database group, and Project Management group. Oh and the developers as they do play a small role.
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

I would consider a project "large-scale" if it fits one of these criteria:
  • Used by many different levels/categories of users
  • Provides different functionality for different user groups
  • Involves multiple developers from multiple fields to assemble it
  • Spans many departments within an enterprise
  • Covers many organizations within the scope of the project
As an example, I developed a Fleet Vehicle management application for work that is used by the Web Administrator (me), Program Administrators, Quality Engineers, Sales People, Drivers and Finance People. That, to me, is a large scale application.

Another project I am currently on is the development of a league network of web sites that share a common code base and database. One league and twelve teams all sharing content and information, accessed by team members, coaches, team administrators, team webmasters, league adminstrators and league webmasters. That, to me, is a large scale application.

My personal business web site or apps that I have developed for marketing, those I would not consider large-scale because their scope and effect is rather small in nature.

Of course, this is just my opinion.
User avatar
Christopher
Site Administrator
Posts: 13596
Joined: Wed Aug 25, 2004 7:54 pm
Location: New York, NY, US

Re: Large Scale Software Development

Post by Christopher »

Buddha443556 wrote:As a solo-developer, I have nothing to do with large-scale so I'm eager to here from those that do.
I think I might define a large-scale project as any project that realistically cannot be implemented by one very good developer.
(#10850)
User avatar
Buddha443556
Forum Regular
Posts: 873
Joined: Fri Mar 19, 2004 1:51 pm

Post by Buddha443556 »

I notice no one is mentioning time?
d11wtq wrote:I'd consider what I do at work "large-scale" based on the size of the intended audience (UK schools).
I like your focus on the end-users. Looks like the project has a few developers too?
Maugrim_The_Reaper wrote:A PHP application such as my own QS project (OSS) I'd deem mid-range.
What's that about 10K-50K LOC? I think if the complexity your project is factored in, your mid-range project is probably taking a large-scale effort? Something else not discussed yet, complexity? How long have you been working on it? Have you had any help?
Everah wrote:I developed a Fleet Vehicle management application for work ...
Congratulations on the use of the past tense of the word "developed" as a lot of big projects don't get that far. How long did it take?
Arborint wrote:I think I might define a large-scale project as any project that realistically cannot be implemented by one very good developer.
Great definition!
User avatar
Maugrim_The_Reaper
DevNet Master
Posts: 2704
Joined: Tue Nov 02, 2004 5:43 am
Location: Ireland

Post by Maugrim_The_Reaper »

What's that about 10K-50K LOC? I think if the complexity your project is factored in, your mid-range project is probably taking a large-scale effort? Something else not discussed yet, complexity? How long have you been working on it? Have you had any help?
I'd still term it mid-range. I'm sure the lines of code are high, but its development was heavily planned and coded by a single person in their free time over maybe 3 months. It's functionality is not all that complex once you get past the MVC structure. In fact, it's quite simple.
Now something requiring use across multiple departments in an organisation, or between members of a supply chain - now that's going to be large scale depending on the organisation's requirements.
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

Buddha443556 wrote:I notice no one is mentioning time?
d11wtq wrote:I'd consider what I do at work "large-scale" based on the size of the intended audience (UK schools).
I like your focus on the end-users. Looks like the project has a few developers too?
To respond to both points. Yes we are well aware of who our intended audience are and what they need. This system must be used by teachers all over the UK. Teachers do *not* like having to learn their way around a new system in order to carry out simple tasks (record when a kid is naughty/good), and if they needed to they simply wouldn't do it (fact). We have a few teachers on the team (some not very computer literate) which puts us in a good position to know if something is usable to the intended audience very quickly. Schools then trial what we've done and comment upon it, giving us extremely useful feedback. Hmm.. I'm off-topic here.

Yes we have multiple developers and the project has been running for over two years now (lots of change along the way). Already there are over 20K SLOC (excluding 3rd party libs) (don't forget about all the refactoring we do on a day-to-day basis) and the lists of things on the agenda to implement just keeps growing and growing. There's easily another few years worth of work we could be getting on with, and by that time I imagine there will be more things on the list... it just goes on and on. Ok I guess I'm changing my mind now :P Development time & Size of intended audience are both factors I'd take into account when deciding if an app is a large-scale app.

I certainly wouldn't say that if you're a solo-developer you can't be writing a large scale app. Of course you can, it just keeps you busier :D
User avatar
Oren
DevNet Resident
Posts: 1640
Joined: Fri Apr 07, 2006 5:13 am
Location: Israel

Post by Oren »

d11wtq wrote:Teachers do *not* like having to learn their way around a new system in order to carry out simple tasks (record when a kid is naughty/good), and if they needed to they simply wouldn't do it (fact).
That would be great for the naughty students :lol:
Gambler
Forum Contributor
Posts: 246
Joined: Thu Dec 08, 2005 7:10 pm

Post by Gambler »

How do you measure it?
I don't. What would be the significance of such measurement?
jeffery
Forum Contributor
Posts: 105
Joined: Mon Apr 03, 2006 3:13 am
Location: Melbourne, Australia
Contact:

Post by jeffery »

How about a project which has been developed for the last 10 years (not exagerating) and still being developed by 6 full time developers and used by some very big companies including Siemens. Would that clasify as a large scale project ?

Actually we do call it a Large scale project as some of the things we do at work are totally automated... like from the point a commit is made to the repository and the time it is tested and released as RPMs and Debian packages. ah and the projects SLOCCount is over 400,000
Post Reply