Sunday, November 9, 2008

Agile Methodology

Agile methodology is a new in programming world. But, this agile methods realy - realy helpful if you using it in your programming way.

A definition from Wikipedia

Agile software development refers to a group of software development methodologies that are based on similar principles. Agile methodologies generally promote: A project management process that encourages frequent inspection and adaptation; a leadership philosophy that encourages team work, self-organization and accountability; a set of engineering best practices that allow for rapid delivery of high-quality software; and a business approach that aligns development with customer needs and company goals.

and this is from http://agilemethodology.org/

What Is Agile?

Agile methodology is an approach to project management, typically used in software development. It helps teams respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints. But before discussing agile methodologies further, it’s best to first turn to the methodology that inspired it: waterfall, or traditional sequential development.

Where Did Agile Come From?

In 1970, Dr. Winston Royce presented a paper entitled “Managing the Development of Large Software Systems,” which outlined his ideas on sequential development. In essence, his presentation asserted that a project could be developed much like an automobile on an assembly line, in which each piece is added in sequential phases. This means that every phase of the project must be completed before the next phase can begin. Thus, developers first gather all of a project’s requirements, then complete all of its architecture and design, then write all of the code, and so on. There is little, if any, communication between the specialized groups that complete each phase of work.

It’s easy to see how this development agile methodology is far from optimized. First of all, it assumes that every requirement of the project can be identified before any design or coding occurs. Put another way, do you think you could tell a team of developers everything that needed to be in a piece of software before it was up and running? Or would it be easier to describe your vision to the team if you could react to functional software? Many software developers have learned the answer to that question the hard way: At the end of a project, a team might have built the software it was asked to build, but, in the time it took to create, business realities have changed so dramatically that the product is irrelevant. In that scenario, a company has spent time and money to create software that no one wants. Couldn’t it have been possible to ensure the end product would still be relevant before it was actually finished?

Why Agile?

Agile development methodology attempts to provide many opportunities to assess the direction of a project throughout the development lifecycle. This is achieved through regular cadences of work, known as sprints or iterations, at the end of which teams must present a shippable increment of work. Thus by focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology could be described as “iterative” and “incremental.” In waterfall, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited throughout the lifecycle. When a team stops and re-evaluates the direction of a project every two weeks, there’s always time to steer it in another direction.

The results of this “inspect-and-adapt” approach to development greatly reduce both development costs and time to market. Because teams can gather requirements at the same time they’re gathering requirements, the phenomenon known as “analysis paralysis” can’t really impede a team from making progress. And because a team’s work cycle is limited to two weeks, it gives stakeholders recurring opportunities to calibrate releases for success in the real world. In essence, it could be said that the agile development methodology helps companies build the right product. Instead of committing to market a piece of software that hasn’t even been written yet, agile empowers teams to optimize their release as it’s developed, to be as competitive as possible in the marketplace. In the end, a development agile methodology that preserves a product’s critical market relevance and ensures a team’s work doesn’t wind up on a shelf, never released, is an attractive option for stakeholders and developers alike.


and from me, using this agile really help me to deliver a project. A very good approach that i use is Scrum which meant, every day or week i have make a little discussion with my team to discuss about status of the project.

I will discuss what issues have be settle, how the progress and so on. And the best way in this agile methods is the way we manage the project. In this agile method, we the programmer have to be the first person of contact with the user to collect a requirement. This way is about to avoid misscommunication user and developer which always happen between System Analyst and Developer.

In Agile, we software developer have to be the System Analyst, System Architecture, Tester, and so on. In this such way, the project can be delivered on time and maybe can be delivered before the due date.

In agile, we measure the project status by viewing Quadran Chart. We clarify user requirement using User Stories. We separate user story by point, risk and value. By using this, we can determine which user story or task we have to be done first. And we know how our project will be schedule. And these project schedule will be seperate by release and iteration.

My advice, try surfing fo Agile Methodology and try use this approache.
Happy reading...
Cheerrsssss...

Saturday, November 8, 2008

.Net Framework

In .Net framework technology, the microsoft have release a few version of .Net framework.

The first version is

1. .Net Framework 1.1
2. .Net Framework 2.0
3. .Net Framework 2.0 SP1
4. .Net Framework 3.0
5. .Net Framework 3.0 SP1
6. .Net Framework 3.5
7. .Net Framework 3.5 SP1
and the latest will be release on late of 2009
8. .Net Framework 4.0

Using .Net Framework in programming platform is to make us easy in doing programming because of their library. And for most of all, this .Net programming is Object Oriented Programming (OOP).

Using OOP as approache s very a good choice because it's easy and can make your programming for faster and the productivity can be more.

I don't know what i'm explainning here, but my goal is to share my knowledge, because sharing is upgrading.

Cheersss...

Why I'm here

While i'm still studying at school a years before,
i always searching a best way to make my studiying as goog as enough,
in the most way is to get my brain always remember, what this formula can do,
what princip must to use and so on.

the most important subject that lately i have to recover most is the english language.
because i came from a very far away village from a town, so the exposer to the practical of speaking and writing in english is very - very poor.

so if there is something you can get in here that you can understand at all, so ust don't shy to asking me.

I'm here realy - realy want to share my knowledge in my working experience. Expecialy in software development knowledge in .Net Platform technology.

So here we are folks....
Have a nice day...
Cheersss....

Labels: