SitePoint Sponsor

User Tag List

Page 1 of 4 1234 LastLast
Results 1 to 25 of 87
  1. #1
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Gathering volunteers for development tool

    Hi.

    This is a blatant recruitment drive for a new sourceforge project. It's going to take some explaining, but here goes...

    There are three big time suckers in development: bugs, doing the wrong thing, bringing new developers up to speed. I want to have a go at the second one. I want to tie the development process right into the original requirements document.

    This isn't a new idea. Ward Cunningham invented FIT for this purpose. What I am proposing is a FIT like tool for small web shops with a few extra wrinkles.

    Observations...

    1) Requirements are written on a word processor (usually word).
    2) The use cases are best communicated as stories.
    3) If you want to have a project to be flexible along the lines of the problem domain, then the names of classes/interfaces should match the language of the domain.
    4) Use cases for web apps. are easy to describe after the initial discussions, but tend to get very detailed. Click here, then there, etc.
    5) If you want to monitor project progress then the only reliable indicator is working code.
    6) A measure of working code that both business people and programmers understand is a runnable use case.

    The plan...

    A programmer and client sit down next to each other with the requirements document in the word processor. The format is textual, something like...

    "They log in to their account. The first thing they will see is that their account has their opening balance".

    Of course the document has a title and a lot more text. The programmer highlights terms that will need precise definition...

    "They log in to their account. The first thing they will see is that their account has their opening balance".

    The next thing we do is list the actions and output we expect as a bulleted list...

    Opening balance test
    * "New user" with name=fred, password=wibble
    * "Log in" with name=fred, password=wibble
    * Click "My account"
    * Expect to see "$200.00"

    If it starts with quoted text then it's a macro and the click line is obvious. The expectation is the tricky bit.

    Ok, having adjusted the document while sitting next to the client, we now upload it to our project server. This server will parse this document to build a central requirements repository. It has two main goals.

    The first is to add highlighted text to the glossary. This is a special requirements area. If any definitions are missing then they will be highlighted in some nasty way (red if you are not colour blind). The glossary pages are otherwise just like other requirements pages (they are distinguished by title or something).

    The next is to build test cases from the bulleted lists and run them. After uploading the page a download link is given for pulling the same document back (like FIT). Besides the missing glossary entries, ant failed actions are now also highlighted. If we haven't written any code yet, likely all four list items will be marked red.

    So far so good.

    As the project progresses, more of these tests and glossary entries will "go green". The measure of these will help to measure project progress and to aid in sign off. They will also help with future maintanence.

    The requirements docs. can be uploaded and downloaded by everyone in the project. Both developers and business people can edit stuff at certain times, and a record and history is kept of all of this. The information and summaries are on-line and there are lot's of possibilities here. Test cases can be integrated into the full application tests of the developers.

    What (PHP) code is needed...

    1) A word file or RTF parser.
    2) The repository.
    3) The test case generator and runner.
    4) The glossary.

    Also needed are people willing to try out such a tool at the alpha stages so as to refine it. For such a project to work, it needs real world experience in the early stages.

    It is not a big project, probably a year at most. Anyone feel they could contribute? I'd be project lead to get to the first alpha I am afraid. Getting a minimal proof of concept out quickly needs someone as a central point of contact. It also needs someone keeping the milestones minimal. Once user feedback started to come in it would take on a more community feel as I drop down to just coding. The management of this would be Scrum like via Sourceforge. I'll explain the system in later posts if anyone is interested.

    So...anyone able to help?

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  2. #2
    SitePoint Wizard
    Join Date
    Aug 2004
    Location
    California
    Posts
    1,672
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    At first glance you system looks remarkably like a Wiki with some (ok, a lot of) modeling logic added to the entities. I would suggest:

    - Starting with a wiki,

    - Use a rich textarea editor rather than an external word processor (you can always cut and paste),

    - Extend the wiki entries to be your repository,

    - Then focus on the modeler and test case generator (followed by a code generator). Those are the hard parts anyway. With the wiki you also have a built-in user-extendable documentation system.

  3. #3
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by arborint
    - Use a rich textarea editor rather than an external word processor (you can always cut and paste),
    The problem is that your requirements arrive from the client in Word format whether you like it or not. Word/RTF has a lot of practical advantages. You can add graphs and diagrams, you can print easily, the editor is already written.

    The main point though is lowering the barrier of entry of the client. You want them editing the documents themselves and taking an active part. The psychologucal barrier is lowered working with the tools they are familar with. It means that the requirements gathering meetings are as fluid as possible.

    This is really important. Editing Wiki pages just doesn't cut it. FIT uses a Wiki and I really want something that is easier to use.

    Quote Originally Posted by arborint
    Those are the hard parts anyway. With the wiki you also have a built-in user-extendable documentation system.
    An extensible system is not needed. A rich client interface is.

    The implementation of this tool is not terribly hard (I hope). It's really the little things that will make all the difference regarding usability and the social aspects of clients and the development team. That's the interesting part.

    Anyway, the current spec. is kind of non-negotiable. Otherwise things won't get done very quickly .

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  4. #4
    SitePoint Zealot
    Join Date
    Jun 2004
    Location
    Bogota
    Posts
    101
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm interested
    If I have wings, why am I walking?

  5. #5
    SitePoint Member jepa's Avatar
    Join Date
    Aug 2003
    Location
    WA
    Posts
    5
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This sounds very interesting and useful. I would be interested in taking part.

    Regards,

    Jepa

  6. #6
    SitePoint Guru OfficeOfTheLaw's Avatar
    Join Date
    Apr 2004
    Location
    Quincy
    Posts
    636
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sounds interesting, and it'd be a great learning process... sign me up!

  7. #7
    eschew sesquipedalians silver trophy sweatje's Avatar
    Join Date
    Jun 2003
    Location
    Iowa, USA
    Posts
    3,749
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ambitious as always Marcus I have seen you hinting at this in some of your prior posts, but I had not realized you were distiling these ideas into a project. I certainly would be willing to help with testing, documentation, and contributions where I have the time and ability (like simpletest ).

    Would it be worthwhile to set up a wiki ala WACT for the spec and other documentation?
    Jason Sweat ZCE - jsweat_php@yahoo.com
    Book: PHP Patterns
    Good Stuff: SimpleTest PHPUnit FireFox ADOdb YUI
    Detestable (adjective): software that isn't testable.

  8. #8
    SitePoint Zealot sike's Avatar
    Join Date
    Oct 2002
    Posts
    174
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    wow

    nice idea marcus. i really would like to help coding and testing.

    RTF Specs :
    http://msdn.microsoft.com/library/de...cs/rtfspec.htm

    Sike

    ps. i attatched a basic rtf parser found on phpclasses. maybe this is a good base for developing a full featured parser.
    Attached Files Attached Files

  9. #9
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by sike
    i attatched a basic rtf parser found on phpclasses. maybe this is a good base for developing a full featured parser.
    Excellent. Thanks everybody for your interest - it was more than expected already. A blinding response.

    Ok, first I have to set the SF project and mailing lists. This is a bit of an effort in itself. I'll then need SF IDs from anyone interested (please mail me if I don't already know it). I am going to kick start things over the weekend with a complete first guess at the architecture and tasks, so there will be a little pause until then.

    Here is the management side (worked out in light of SimpleTest) which I'll call "Sourceforge Scrum"...

    Each month I'll post a list of goals for the following month. We each have a go of estimating ideal hours for these tasks. Then everyone has a wild guess on the number of hours they will be able to work in the coming week (zero is fine ). We total those out and I select the highest priority tasks that total the time available. the total time is adjusted by what was achieved last month. This becomes the TODO list. Stuff can be bought forward if all is going well. Features are dropped from the month when we fall behind.

    People then sign up for each task and start work. The task is complete when the tests run . I'll try to pick up unfinished tasks myself toward the end of the month, but my main focus is still on the SimpleTest core.

    SimpleTest is the unit tester (for obvious reasons) and for the first version it would be SimpleTest test cases that would be generated. I'd like to add JWebUnit, but that would be in another lifetime.

    It's shared code ownership and people are encouraged to edit each other's code, add test cases, etc. I am open to suggestions on use of PHPDoc, acceptance testing, etc. I would encourage people not to specialise, so if one person get's a parser spike going, it would be better for someone else to import it into the main system for example. That way things don't suddenly go awry if someone leaves the project.

    Research work, called spikes, go into a separate area. These don't have any coding standards and are just demos of ideas. Forexample a first cut of extracting bold text from Word would have a demo script until it was figured out. Then the work could be imported into the main part ofthe project.

    The milestones, each month, will probably only be outlined two ahead. The code is released at the end of the month as a tarball whatever happens. Each milestone has working code of some sort. I would like to get the core features in by milestone four or five, but that should be pretty easy.

    I would act as project manager. Other aspects, such as architecture after the first iteration, are open to debate on the mail list. I'll be quite authoritarian on setting each milestone (sorry), but in achieveing the milestone anything goes. Coding standards (other than unit testing) are by mutual agreement. I won't dictate developer stuff.

    The philosophy of the project is...

    1) Ease of use at the sharp end (the requirements meeting).
    2) Not just aimed at PHP developers. The exception is the test integration, but that is a minor feature.
    3) Ease of deployement.
    4) Good tutorials (FIT lacks these).

    That's it. The more the merrier right now until a core team settles down. Object now or forever hold your peace .

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  10. #10
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by sweatje
    Would it be worthwhile to set up a wiki ala WACT for the spec and other documentation?
    I'll set you up as site admin.

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  11. #11
    Non-Member
    Join Date
    Jan 2004
    Location
    Planet Earth
    Posts
    1,764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Marcus, I think your off your head

    But that ain't a bad thing in it's self

    Though count me in, I'd be interested in seeing what I can do to help you all along

  12. #12
    SitePoint Enthusiast escape164's Avatar
    Join Date
    Dec 2002
    Location
    Colorado, USA
    Posts
    79
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I would like to volunteer as a tester of the software. I am in the process of going through my standard library and writing test cases (SimpleTest of course ) and adding phpDocumentor tags so I don't have a ton of time to code.

    However, I currently eat, sleep and breathe the cycle Marcus is talking about with clients and would be delighted to help bug-test with live clients.

    Marcus, how should I keep up with the project? Just bookmark it and mail you when an alpha version is released? I'll sign up for the mailing lists, etc, but do you want me on the SF project as an official 'tester'?

  13. #13
    SitePoint Guru thr's Avatar
    Join Date
    Jun 2003
    Location
    Sweden
    Posts
    664
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm interessted, for sure. (I may be a newbie to this forum.. but far from a newbie in php development, etc.)

  14. #14
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by Widow Maker
    Marcus, I think your off your head
    That would pretty much disqualify you . The coding problem is not that difficult. The real problem is that the details are still rather woolly. It's all about having the determination to tackle ease of use problems and problems with take-up rather than simply coding. This really takes people who think the project is a good idea in principle. The first version won't work very well and it's the willingness to battle through that dark period that just might push the project through to success.

    The whole idea is rather experimental you see.

    Meanwhile...

    I have registered the project on SF as "phat" (PHp Acceptance Tester), but there is another (dead) project with the same name that now has to be purged. Things will get delayed a few days for sure though. If someone has a really kickass name suggestion I could have another go with that.

    I am actually quite glad of the delay, because it gives me a chance to put an outline down on (electric) paper.

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  15. #15
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by escape164
    However, I currently eat, sleep and breathe the cycle Marcus is talking about with clients and would be delighted to help bug-test with live clients.
    Fantastic! I am currently an in-house developer so my requirements are based on past experience. Real users are vital for this one.

    Quote Originally Posted by escape164
    I'll sign up for the mailing lists, etc, but do you want me on the SF project as an official 'tester'?
    Entirely up to you. For the first alpha it really comes down to getting any old end to end solution up as quickly as possible. Once that happens people like yourself can play and add your input. The stage after that would be to get an alpha that is at least presentable to a client so that it can be tested for real. I haven't looked that far ahead yet.

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  16. #16
    Non-Member
    Join Date
    Jan 2004
    Location
    Planet Earth
    Posts
    1,764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    That would pretty much disqualify you
    Too bad

  17. #17
    SitePoint Enthusiast escape164's Avatar
    Join Date
    Dec 2002
    Location
    Colorado, USA
    Posts
    79
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Widow Maker
    Too bad
    Thanks for providing wonderful entertainment on these forums!

    Quote Originally Posted by Lastcraft
    Fantastic! I am currently an in-house developer so my requirements are based on past experience. Real users are vital for this one.
    Yes, I agree. The idea behind this is wonderful and I am delighted to help out.

    On another note, I am currently working on a code-generation suite for my own personal projects that could *possibly* be of use. I say this very reservedly because it's currently shaky at best b/c I am re-writing it to include automatic generation of test cases and documentation. Also, it follows my particular style of coding and design very closely which I've gleaned from experience and reading these forums. It's currently LGPL, and a little disorganized, but may be of use. If there's any interest, I'd be happy to email bits and pieces to different people.

    Quote Originally Posted by Lastcraft
    I am actually quite glad of the delay, because it gives me a chance to put an outline down on (electric) paper.
    I'd enjoy being a positive critic when you get these down on paper. Let me know if you'd like the help.

  18. #18
    simple tester McGruff's Avatar
    Join Date
    Sep 2003
    Location
    Glasgow
    Posts
    1,690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    After all the helpful and thought-provoking posts you've made on this forum I really wish I had time to return the favour and help but I'm snowed under at work as well as helping to launch another sourceforge project in my spare time.

    Best of luck - I'll look forward to trying it out later.

  19. #19
    SitePoint Enthusiast
    Join Date
    Jun 2004
    Location
    Montreal
    Posts
    88
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sign me up as a tester

  20. #20
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by louism
    Sign me up as a tester
    Mail me your SF name and your desired role and I'll stick you on. Still waiting for the project registration right now.

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  21. #21
    Resident Java Hater
    Join Date
    Jul 2004
    Location
    Gerodieville Central, UK
    Posts
    446
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Dunno if I have time, but I would be interested in testing provided I have the time.

    As far as things go avoid the Word file format. It's a nightmare. I think RTF is more viable and is supported by more things.

  22. #22
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by MiiJaySung
    As far as things go avoid the Word file format. It's a nightmare. I think RTF is more viable and is supported by more things.
    For an initial prototype I think we can get away with RTF, but in the real world that is what clients will use. Once it moves to being user driven I suspect that we would have to deal with Excel and HTML as well.

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  23. #23
    Non-Member
    Join Date
    Jan 2004
    Location
    Planet Earth
    Posts
    1,764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Can I jump in Marcus ?

    A thought has arisen that have you considered an RTF <> XML conversion as well, although clients as such prefer DOCs, but this is not really distributable friendly, so XML is called for imho ?

    Be interested in seeing what'd you think

  24. #24
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by Widow Maker
    Be interested in seeing what'd you think
    The plan is that it doesn't matter what I think .

    Although I am "dictating" the first alpha version, it's vital thet it becomes user/community driven or it won't work. In SimpleTest I had a rule that if two people asked for a feature then I would queue the feature even if I didn't believe in it. Every time I found myself using the very feature that I would have rejected on my own .

    I think that this rule will one day be appropriate for this project to.

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  25. #25
    SitePoint Zealot
    Join Date
    Jun 2004
    Location
    Bogota
    Posts
    101
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think there's going to be more than 2 people asking for support of MS Office formats, which kinda makes me shrug. It is not only usefull but almost non-negotiable for the end-user and I'm OK with that, but what is really worrying me is parsing those kind of formats. I hope I'm not mistaken but that's going to be the hard part.

    I've never tryied to parse it, in fact, I dont know of anyone that has done it before without using the COM extensions (http://www.phpbuilder.com/columns/yunus20031124.php3) and that comes with the cost of platform flexibility.

    On the other hand, I've used the pear spread-sheet excel writer a couple of times and I think I read about a reader somewhere out there... although this might not work with earlier versions of excel.

    Let's hope we dont have to write a miltiplatform parser cause that in itself could be a whole different project :\

    - Andres
    If I have wings, why am I walking?


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •